-
Notifications
You must be signed in to change notification settings - Fork 90
feat(browser): Switch Dapp account #19225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for displaying and managing browser-connected dApps in the Status desktop application. It introduces a new provider for browser dApps that integrates with the existing wallet connector infrastructure, allowing users to view and disconnect browser dApps from the UI.
- Adds
BCBrowserDappsProvidercomponent to track browser-connected dApps - Extends connector infrastructure to support client ID filtering and multi-client scenarios
- Adds UI elements in browser header to display and manage connected dApps
Reviewed Changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| ui/imports/shared/popups/walletconnect/controls/DAppDelegate.qml | Adds clickability and connector badge support to dApp delegate items |
| ui/imports/shared/popups/walletconnect/DAppsListPopup.qml | Makes connect button visibility configurable |
| ui/app/AppLayouts/Wallet/services/dapps/qmldir | Registers new BCBrowserDappsProvider component |
| ui/app/AppLayouts/Wallet/services/dapps/DAppsModel.qml | Adds connectorBadge field to dApp model |
| ui/app/AppLayouts/Wallet/services/dapps/BCBrowserDappsProvider.qml | New provider component for browser dApps with client ID filtering |
| ui/app/AppLayouts/Wallet/panels/WalletAccountHeader.qml | Disables dApp clicking in wallet header context |
| ui/app/AppLayouts/Wallet/controls/DappsComboBox.qml | Adds click handler and configurable connect button |
| ui/app/AppLayouts/Browser/provider/qml/ConnectorManager.qml | Removes debug logging and adds clientId to disconnect calls |
| ui/app/AppLayouts/Browser/provider/qml/ConnectorBridge.qml | Adds disconnectCurrentTab helper and updates disconnect signature |
| ui/app/AppLayouts/Browser/panels/BrowserHeader.qml | Adds DappsComboBox to browser header for dApp management |
| ui/app/AppLayouts/Browser/BrowserLayout.qml | Integrates BCBrowserDappsProvider and handles dApp navigation/disconnection |
| src/backend/connector.nim | Updates RPC to support clientId parameter for disconnection |
| src/app_service/service/connector/service.nim | Adds getDAppsByClientId method with filtering logic |
| src/app/modules/shared_modules/connector/controller.nim | Updates disconnect and adds getDAppsByClientId to controller |
| src/app/core/signals/remote_signals/connector.nim | Adds clientId field to all connector signal types |
Comments suppressed due to low confidence (1)
src/backend/connector.nim:43
- Corrected spelling of 'aargs' to 'args' in parameter name.
aargs: RejectedArgs
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| _hasPermission = newAccounts.length > 0 | ||
|
|
||
| providerStateChanged() | ||
| accuntsChangedEvent(accounts) |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'accunts' to 'accounts' in function name.
| accuntsChangedEvent(accounts) | |
| accountsChangedEvent(accounts) |
| MouseArea { | ||
| Layout.fillWidth: true | ||
| Layout.fillHeight: true | ||
| enabled: root.clickable | ||
| cursorShape: root.clickable ? Qt.PointingHandCursor : Qt.ArrowCursor | ||
| onClicked: { | ||
| root.dappClicked(root.url) | ||
| } | ||
| } |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MouseArea with Layout.fillWidth and Layout.fillHeight will consume layout space and compete with the ColumnLayout at line 48 which also has Layout.fillWidth: true. This can cause incorrect layout behavior. The MouseArea should likely be positioned as an overlay using anchors instead of being a layout item, or the ColumnLayout should not have fillWidth.
Jenkins BuildsClick to see older builds (43)
|
caybro
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
36c4ce8 to
f6db4b8
Compare
a8025b7 to
6194138
Compare
b8544f5 to
4903151
Compare
6194138 to
37aa5d1
Compare
37aa5d1 to
5fe7b0b
Compare
5fe7b0b to
7b2d8e7
Compare
dApps list Popup in Browser
Adds a connected dApps popup in the browser header, allowing users to view and manage connected dApps from the browser.
BCBrowserDappsProviderfor browser-specific dApps withclientIdfilteringDappsComboBoxin the browser header for viewing and managing connectionsclientIdthroughout the stackclientIdsupportfixes #19223