This fixes the issues where the accounts model gets reset on every minor model change triggering full UI refresh.
This is not fixing the root cause, but the symptoms in the upper-most level I could find in order to keep the regression risk to a low level.
Additionally there is hook on ClipboardUtils added
to detect if copied string is a wallet address and call addressWasShown.
Earlier that call was done internally on nim side.
Closes: #16196
Fixes#16181
This commit improves the time taken by onChatsLoaded that is called on login.
The culprit is `buildChatSectionUI` in the chat_section module.
There is no silver bullet here. It's slow because the community is big and has a lot of channels to load and generate.
This commit helps by removing some old code that was inefficient (calculating if a channel has a permission instead of just using the `tokenGated` property for example).
It also adds all the section items in one go instead of one another.
There are some other small improvements, but again, no way to make it way faster. Thankfully, that time is spent with the loading spinner at the same time.
Fixes#16023
Caches the values of the number of notifications and hasUnseen in the view so that we access status-go only when there is an update or on app start.
Also, uses the response value from user actions in the AC to retrieve the hasUnseen value directly instead of re-fetching.
Finally, fixes an issue where marking notifs as read/unread wouldn't update the count
Fixes#16165
All the logs about `settings_notificationsGetExPersonalMentions` are only to populate the model in the Notifications settings view, so it was pointless to load them on app start.
Now we lazy load them on loading that page.
An additional improvement that could be done later is to make it async and/or create a new API that gets all the DB info in one shot, because calling 4 APIs for each chat and community is a bit useless.
Fixes#16147
Since ID verification is disabled for now, we can remove the calls to getLatestVerificationRequestFrom.
If we want to have ID verification back, we can re-add those calls, but in my opinion, it should be done better from status-go directly, or only asking for the ID verif when looking at the contact's profile
* feat(metrics): add onboarding screen metrics and section navigation
Fixes#16100
Adds metrics for navigating to the different screens of the onboarding and when navigating to a new section while logged in; only when enabled of course.
I refactored the code a little to make it simpler. I moved the check to see if the metrics collection is enabled in the async task itself, so we don't have to check it each time we add a new metric
* fix metric sent from module
* review comments
* add flowtype
* chore_: allow disabling http/ws api from cli
* ci: add env vars to prevent autotests hitting 8545 (#16120)
* chore: increase timeout for saved addresses test
* ci: add env vars to prevent autotests hitting 8545 port
---------
Co-authored-by: Anastasiya <82375995+anastasiyaig@users.noreply.github.com>
* wip: make the getENSName calls async
* fix: login to the app takes forever
Resolving ens name sometimes, most likely due to network congestion can be really slow,
that results in slow app loading, especially if user has more accounts, cause the app checks
ens name existence for each account.
This PR does that check in an async way.
Fixes#16086
* chore: async check for ens name existence when adding new accounts
---------
Co-authored-by: Sale Djenic <aleksandardjenic@status.im>
Fixes#16021
The problem was that the view doesn't update in a sync way, so getting the count from the view might be wrong.
This fix makes it so we have to get the count from status-go twice, which is not ideal, but to fix it, we'd need a refactor of the AC view count mechanism
Added limitations:
- allowed adding of max 20 accounts
- allowed adding of max 3 watch only accounts
- allowed adding of max 5 key pairs (including the profile key pair)
- allowed adding of max 20 saved addresses per mode
Closes#15934
The disconnect notifications were operating on `WalletConnectService.currentSessionProposal`. This object stores the current session object on connect, but it's not necessarily the same session the user wants to disconnect.
To fix this I'm getting the active sessions from status-go when the disconnect request is received (from Status or dapp). If the topic matches to any connection topic owned by the users accounts we'll show a notification.
(cherry picked from commit fea4e8ed76)
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests
Fixes#14614
Fixes#15835
Evaluate if we have notification on app start (when chats are loaded) so that the notification icon can be shown if we open the app **not** in the chat (eg in the wallet)
Add a new NetworkChecker QObject to StatusQ to be used in checking
internet connection status. This is used by the WebEngineLoader
to only allow loading of web pages when there is an active internet
to cover for a corner case on MacOS where the internet connection is
not reestablished if the WebEngineView was loaded without an active
internet connection.
Closes: #15598, #15806
* Refactored gas checking logic into `getChainsWithNoGasFromError`.
* Removed `hasGas` from `controller.nim` and `module.nim`.
* Updated `updatedNetworksWithRoutes` to use chain-specific error data.
Fixes#15681
- just use the `model.stickers` to access the submodel, remove dead NIM
code
- make sure that the installed sticker packs are loaded, even before
first opening the Sticker popup
- StatusStickerMarket: fix the back button
- fix launching the Buy stickers modal (SendModal)
Fixes#15718