Skip to content

Commit 5c39c53

Browse files
committed
feat(dapp-browser)_: fix build
fixes #19151
1 parent ee2084d commit 5c39c53

File tree

3 files changed

+77
-77
lines changed

3 files changed

+77
-77
lines changed

ui/app/AppLayouts/Browser/BrowserLayout.qml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ StatusSectionLayout {
5353

5454
userUID: root.userUID
5555
connectorController: root.connectorController
56-
defaultAccountAddress: root.browserWalletStore.dappBrowserAccount.address
57-
accountsModel: root.browserWalletStore.accounts
5856
httpUserAgent: {
5957
if (localAccountSensitiveSettings.compatibilityMode) {
6058
// Google doesn't let you connect if the user agent is Chrome-ish and doesn't satisfy some sort of hidden requirement
@@ -538,7 +536,11 @@ StatusSectionLayout {
538536

539537
// Update ConnectorBridge with current dApp metadata
540538
if (_internal.currentWebView && _internal.currentWebView.url) {
541-
connectorBridge.updateDAppUrl(_internal.currentWebView.url, _internal.currentWebView.title)
539+
connectorBridge.connectorManager.updateDAppUrl(
540+
_internal.currentWebView.url,
541+
_internal.currentWebView.title,
542+
_internal.currentWebView.icon
543+
)
542544
}
543545
}
544546
}

ui/app/AppLayouts/Browser/provider/qml/ConnectorBridge.qml

Lines changed: 55 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -23,52 +23,36 @@ QtObject {
2323
required property var connectorController
2424
property string httpUserAgent: "" // Custom user agent for web profiles
2525

26-
property alias dappUrl: connectorManager.dappUrl
27-
property alias dappOrigin: connectorManager.dappOrigin
28-
property alias dappName: connectorManager.dappName
29-
property alias dappIconUrl: connectorManager.dappIconUrl
30-
property alias clientId: connectorManager.clientId
26+
readonly property alias dappUrl: connectorManager.dappUrl
27+
readonly property alias dappOrigin: connectorManager.dappOrigin
28+
readonly property alias dappName: connectorManager.dappName
29+
readonly property alias dappIconUrl: connectorManager.dappIconUrl
30+
readonly property alias clientId: connectorManager.clientId
3131

32-
function hasWalletConnected(hostname, address) {
33-
if (!connectorController) return false
34-
35-
const dApps = connectorController.getDApps()
36-
try {
37-
const dAppsObj = JSON.parse(dApps)
38-
if (Array.isArray(dAppsObj)) {
39-
return dAppsObj.some(function(dapp) {
40-
return dapp.url && dapp.url.indexOf(hostname) >= 0
41-
})
42-
}
43-
} catch (e) {
44-
console.warn("[ConnectorBridge] Error checking wallet connection:", e)
45-
}
46-
return false
47-
}
32+
readonly property ConnectorManager connectorManager: ConnectorManager {
33+
id: connectorManager
34+
connectorController: root.connectorController // (shared_modules/connector/controller.nim)
4835

49-
function disconnect(hostname) {
50-
if (!connectorController) return false
51-
return connectorController.disconnect(hostname)
36+
// Forward events to Eip1193ProviderAdapter
37+
onConnectEvent: (info) => eip1193ProviderAdapter.connectEvent(info)
38+
onAccountsChangedEvent: (accounts) => eip1193ProviderAdapter.accountsChangedEvent(accounts)
39+
onChainChangedEvent: (chainId) => eip1193ProviderAdapter.chainChangedEvent(chainId)
40+
onRequestCompletedEvent: (payload) => eip1193ProviderAdapter.requestCompletedEvent(payload)
41+
onDisconnectEvent: (error) => eip1193ProviderAdapter.disconnectEvent(error)
42+
onMessageEvent: (message) => eip1193ProviderAdapter.messageEvent(message)
43+
onProviderStateChanged: () => eip1193ProviderAdapter.providerStateChanged()
5244
}
5345

54-
function updateDAppUrl(url, name) {
55-
if (!url) return
46+
readonly property Eip1193ProviderAdapter eip1193ProviderAdapter: Eip1193ProviderAdapter {
47+
WebChannel.id: "ethereumProvider"
5648

57-
const urlStr = url.toString()
58-
connectorManager.dappUrl = urlStr
59-
connectorManager.dappOrigin = Utils.normalizeOrigin(urlStr)
60-
connectorManager.dappName = name || BrowserUtils.extractDomainName(urlStr)
61-
connectorManager.dappChainId = 1
62-
}
49+
chainId: BrowserUtils.chainIdToHex(connectorManager.dappChainId)
50+
networkVersion: connectorManager.dappChainId.toString()
51+
selectedAddress: connectorManager.accounts.length > 0 ? connectorManager.accounts[0] : ""
52+
accounts: connectorManager.accounts
53+
connected: connectorManager.connected
6354

64-
function createScript(scriptName, runOnSubframes = true) {
65-
return {
66-
name: scriptName,
67-
sourceUrl: Qt.resolvedUrl("../js/" + scriptName),
68-
injectionPoint: WebEngineScript.DocumentCreation,
69-
worldId: WebEngineScript.MainWorld,
70-
runOnSubframes: runOnSubframes
71-
}
55+
onRequestInternal: (args) => connectorManager.request(args)
7256
}
7357

7458
readonly property var _scripts: [
@@ -93,40 +77,43 @@ QtObject {
9377
userScripts.collection: root._scripts
9478
}
9579

96-
readonly property ConnectorManager connectorManager: ConnectorManager {
97-
connectorController: root.connectorController // (shared_modules/connector/controller.nim)
98-
99-
dappUrl: ""
100-
dappOrigin: ""
101-
dappName: ""
102-
dappIconUrl: ""
103-
dappChainId: 1
104-
clientId: "status-desktop/dapp-browser"
80+
readonly property WebChannel channel: WebChannel {
81+
registeredObjects: [eip1193ProviderAdapter]
82+
}
10583

106-
// Forward events to Eip1193ProviderAdapter
107-
onConnectEvent: (info) => eip1193ProviderAdapter.connectEvent(info)
108-
onAccountsChangedEvent: (accounts) => eip1193ProviderAdapter.accountsChangedEvent(accounts)
109-
onChainChangedEvent: (chainId) => eip1193ProviderAdapter.chainChangedEvent(chainId)
110-
onRequestCompletedEvent: (payload) => eip1193ProviderAdapter.requestCompletedEvent(payload)
111-
onDisconnectEvent: (error) => eip1193ProviderAdapter.disconnectEvent(error)
112-
onMessageEvent: (message) => eip1193ProviderAdapter.messageEvent(message)
84+
function hasWalletConnected(hostname, address) {
85+
if (!connectorController) return false
11386

114-
onProviderStateChanged: () => eip1193ProviderAdapter.providerStateChanged()
87+
const dApps = connectorController.getDApps()
88+
try {
89+
const dAppsObj = JSON.parse(dApps)
90+
if (Array.isArray(dAppsObj)) {
91+
return dAppsObj.some(function(dapp) {
92+
return dapp.url && dapp.url.indexOf(hostname) >= 0
93+
})
94+
}
95+
} catch (e) {
96+
console.warn("[ConnectorBridge] Error checking wallet connection:", e)
97+
}
98+
return false
11599
}
116100

117-
readonly property WebChannel channel: WebChannel {
118-
registeredObjects: [eip1193ProviderAdapter]
101+
function disconnect(hostname) {
102+
if (!connectorController) return false
103+
return connectorController.disconnect(hostname)
119104
}
120105

121-
readonly property Eip1193ProviderAdapter eip1193ProviderAdapter: Eip1193ProviderAdapter {
122-
WebChannel.id: "ethereumProvider"
123-
124-
chainId: BrowserUtils.chainIdToHex(connectorManager.dappChainId)
125-
networkVersion: connectorManager.dappChainId.toString()
126-
selectedAddress: connectorManager.accounts.length > 0 ? connectorManager.accounts[0] : ""
127-
accounts: connectorManager.accounts
128-
connected: connectorManager.connected
106+
function updateDAppUrl(url, name) {
107+
connectorManager.updateDAppUrl(url, name)
108+
}
129109

130-
onRequestInternal: (args) => connectorManager.request(args)
110+
function createScript(scriptName, runOnSubframes = true) {
111+
return {
112+
name: scriptName,
113+
sourceUrl: Qt.resolvedUrl("../js/" + scriptName),
114+
injectionPoint: WebEngineScript.DocumentCreation,
115+
worldId: WebEngineScript.MainWorld,
116+
runOnSubframes: runOnSubframes
117+
}
131118
}
132119
}

ui/app/AppLayouts/Browser/provider/qml/ConnectorManager.qml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ QtObject {
77
property var connectorController: null
88

99
// dApp metadata
10-
required property string dappUrl
11-
required property string dappOrigin
12-
required property string dappName
13-
required property string dappIconUrl
14-
required property int dappChainId
15-
required property string clientId
10+
property string dappUrl: ""
11+
property string dappOrigin: ""
12+
property string dappName: ""
13+
property string dappIconUrl: ""
14+
property int dappChainId: 1
15+
property string clientId: "status-desktop/dapp-browser"
1616

1717
// STATE
1818
property bool connected: false
@@ -139,6 +139,17 @@ QtObject {
139139
}
140140
}
141141

142+
function updateDAppUrl(url, name, iconUrl) {
143+
if (!url) return
144+
145+
const urlStr = url.toString()
146+
dappUrl = urlStr
147+
dappOrigin = Utils.normalizeOrigin(urlStr)
148+
dappName = name || Utils.extractDomainName(urlStr)
149+
dappIconUrl = iconUrl ? iconUrl.toString() : ""
150+
dappChainId = 1
151+
}
152+
142153
// HELPER FUNCTIONS
143154
function shouldProcessSignal(event) {
144155
// Filter by origin

0 commit comments

Comments
 (0)