Commit Graph

7356 Commits

Author SHA1 Message Date
Alex Jbanca 793aeb15c3 fix(Dapps): Fixing fees in transaction requests
Fixes:
1. Fixing the laggy scrolling on transaction requiests popups. The root cause of this issue was the fees request and also the estimated time request. These periodic requests were blocking. Now we'll call these API async.
2. Fixing the max fees: The fees computation was using 21k as gasLimit. This value was hardcoded in WC. Now we're requesting the gasLimit if it's not provided by the dApp. This call is also async.
3. Fixing the periodicity of the fees computation. The fees were computed by the client only if the tx object didn't already provide the fees. But the tx could fail if when the fees are highly volatile because it was not being overridden. Now Status is computing the fees periodically for all tx requests.
4. Fixing an issue where the loading state of the fees text in the modal was showing text underneath the loading animation. Fixed by updating the AnimatedText to support a custom target property. The text component used for session requests is using `cusomColor` property to set the text color and the `color` for the text must not be overriden.
2024-11-22 11:32:41 +02:00
Alex Jbanca 03df126955 fix(WalletConnect): Fix the parsed account in the session request
The account in the session request composed by the dApp can have a different case from what Status is using.
When resolving the session request the account address will be replaced with the one from the account model.
2024-11-22 11:32:41 +02:00
Alex Jbanca d9a78da1d3 fix(BC): Implementing the personal_sign 2024-11-22 11:32:10 +02:00
Alex Jbanca 106988d534 fix(WC): Refactor dapps service to work with multiple SDKs
This PR is refactoring the dapps service to avoid code duplication between SDKs and also to avoid overlapping requests/responses.
It brings Browser Connect inline with Wallet Connect in terms of session management and sign transactions.

New architecture:

WalletConnectService becomes DAppsService. Its responsibility is to provide dapp access to the app. This is the component currently used by the UI
What does it do:
1. Provide dapp APIs line connect, disconnect, session requests etc
2. Spawn app notifications on dapp events
3. Timeout requests if the dapp does not respons

DAppsRequestHandler becomes DAppsModule. This component is consumed by the DAppService. Its responsibility is to aggregate all the building blocks for the dapps, but does not control any of the dapp features or consume the SDKs requests.
What does it do:
1. Aggregate all the building blocks for dapps (currently known as plugins)

DAppConnectionsPlugin - This component provides the session management features line connect, disconnect and provide a model with the connected dapps.
SignRequestPlugin - This component provides the sign request management. It receives the sign request from the dapp, translates it to what Status understands and manages the lifecycle of the request.
2024-11-20 18:10:29 +02:00
Alex Jbanca bb483b3365 feat(BC): Unify dapp sessions between WalletConnect and BrowserConnect
New component introduced (DAppsModel) to provide a common model for WC and BC. The WCDappsProvider and BCDappsProvider components are responsible to fill the model from different sources
2024-11-20 18:10:29 +02:00
Alex Jbanca 7e1e827148 feat(WC): Enable Wallet Connect feature by default
+ Update the dialog where the user choses the connection to enable or disable the connection option based on flags
+ Separating the walletConnect flag and browserConnect flag usage so that either one can be disabled without affecting the other feature
+ Update qml test
2024-11-20 18:10:29 +02:00
Alex Jbanca 8a81a5fc92 fix(StatusQ): Do not require ssl to check the internet connection 2024-11-20 18:10:29 +02:00
Alex Jbanca cb772dc6b5 feat(WC): Handle unavailable chains or internet connection
This commits implements the `connect` `disconnect` session events for WC and also disables primary buttons for WC whenever there is no connection to internet or chains.

+ update tests
2024-11-20 18:10:29 +02:00
Alex Jbanca 519bfaedfa fix(WC): Disable primary action buttons when the service is not available
+ Disable the `Connect` button after the first request
2024-11-20 18:10:29 +02:00
Alex Jbanca 7d3cd5c7bf feat(WalletConnect): Expose `emitSessionEvent` function from the WC js SDK
This commit exposes the `emitSessionEvent` function to qml
2024-11-20 18:10:29 +02:00
Alex Jbanca 517a10f805 feat(WC): Implementing SIWE flows
To squash - Implementing SIWE flows
2024-11-20 18:10:29 +02:00
Alex Jbanca 65013e8b58 fix(WC): Fix property names collisions
to squash - property names collisions
2024-11-20 18:10:29 +02:00
Alex Jbanca 7553ae45e0 feat(SIWE): Add siwe support to the webSdk integration
This PR implements the functions needed for siwe in the webSdk integration, updates the WC version and fixes an issue where the webpack does not automatically inject `Buffer` plugin needed by the SIWE impl in WC.
2024-11-20 18:10:29 +02:00
Michał Cieślak 707db9dcea SendContactRequestModal: fetching contact info fixed
Closes: #16774
2024-11-20 00:21:08 +01:00
Michał Cieślak f5f84595d5 SettingsEntriesModel: qml warnings fixed 2024-11-20 00:21:08 +01:00
Lukáš Tinkl 1c255175ab feat(ProfileContextMenu): Add "Mark as Trusted" and "Remove trusted mark"
- enhance and fix the SB page to be able to show all the permutations,
including profile image, emoji hash and ring

Fixes #16586
2024-11-19 15:51:55 +01:00
Anthony 22c4bb2846 feat: hide mercuryo
fix #16757
fix #16765
2024-11-19 11:16:16 +01:00
Alex Jbanca 9352c2ad44 fix: Wrap login error message in login view 2024-11-18 16:49:27 +02:00
Michał Cieślak 325d3588d3 ActivityNotificationMessage/Chat.RootStore: remove dependency on nim model's onItemChanged signal
Closes: #16754
2024-11-14 15:13:24 +01:00
Michał Cieślak ea584f0693 ActivityNotification: unnecessary code removed 2024-11-14 15:13:24 +01:00
Michał Cieślak 6b334a4085 StatusQ: ModelEntryChangeTracker component introduced 2024-11-14 15:13:24 +01:00
Michał Cieślak 8afc80dc18 ModelUtils: persistentIndex method added 2024-11-14 15:13:24 +01:00
Michał Cieślak a06bc1eeaf ModelUtils: indexOf optimized, cpp tests added 2024-11-14 15:13:24 +01:00
Michał Cieślak 32c1d174ad UserListPanel made store-independent, Storybook page fully operable
Closes: #16717
2024-11-13 09:49:07 +01:00
Michał Cieślak 74113cbbe1 ProfileContextMenu.removeNickname signal aligned 2024-11-13 09:49:07 +01:00
Michał Cieślak b09713a53d ProfileContextMenu: unnecessary calls to store removed when opening menu 2024-11-13 09:49:07 +01:00
Michał Cieślak ef8fdd7d54 getProfileType/getProfileType helpers moved from store to Utils 2024-11-13 09:49:07 +01:00
Michał Cieślak 544f749f44 ProfileHeader and related components refactored to use compressed key directly 2024-11-13 09:49:07 +01:00
Michał Cieślak e58a6c83ce ProfileHeader: unused property removed 2024-11-13 09:49:07 +01:00
Michał Cieślak 8fac4bf5de UserImage: unused param pubKey removed 2024-11-13 09:49:07 +01:00
Michał Cieślak e95202ab61 Unused ContactRequestPanel removed 2024-11-13 09:49:07 +01:00
Michał Cieślak f3021ec757 Global signal related to contact popups simplified
Global.openContactRequestPopup
Global.openReviewContactRequestPopup
Global.openNicknamePopupRequested
Global.blockContactRequested/unblockContactRequested
Global.openMarkAsUntrustedPopup
Global.removeContactRequested
Global.openMarkAsIDVerifiedPopup/openRemoveIDVerificationDialog
2024-11-13 09:49:07 +01:00
Michał Cieślak b8f9566116 UserImage refactored to remove dependency on backend via Utils 2024-11-13 09:49:07 +01:00
Anastasiya Semenkevich e0b45a81f4 chore(@qml): object names for category 2024-11-11 19:09:24 +03:00
Dario Gabriel Lipicar 3e9e8bfe07 chore: remove unused components 2024-11-08 17:09:14 -03:00
Dario Gabriel Lipicar a53eb6001f feat(activity): remove activity details screen 2024-11-08 17:09:14 -03:00
Anastasiya Semenkevich 75bf886124 chore(@qml): add object name for navigation bar 2024-11-06 14:58:31 +03:00
Anastasiya Semenkevich 6c10c7c928 chore(@qml): use title as identifier in action button object name 2024-11-06 14:58:31 +03:00
Anastasiya Semenkevich 1b2f4f3c94 chore(@qml): add object names for memberListItem and checkBox 2024-11-05 18:13:29 +03:00
Lukáš Tinkl 3dd94f4b72 fix[Chat] Jump to popup missing channel emojis
- add `emoji` to the channel list model
- WIP fix hiding unavailable channels due to permissions

Fixes #16623
2024-11-05 11:33:35 +01:00
Michał Cieślak 5238074ed3 Settings list simplified
- UI simplified, made independent from the backend
- dedicated model created, filtering on the level of model instead of
  per delegate
- using ListView instead of mutliple Repeaters
- UI models removed from ProfileSectionStore

Closes: #16675
2024-11-04 13:53:28 +01:00
Lukáš Tinkl dd2c65e0fb fix(AddAccountPopup): account list for address selection is empty
- use a similar approach as in the DerivationPath popup; ListView
instead of a Repeater
- some smaller fixes & speedups in the SFPM
- reenable the test

Fixes #16683
2024-11-04 12:24:33 +01:00
Lukáš Tinkl 84017104f4 fix(StatusPageIndicator): fix rendering of last page button text
- do not hardcode the button width as that might get elided for large
values, and display erroneously "..." instead of the value
2024-11-04 12:24:33 +01:00
Sale Djenic e3128587d8 fix: fill missing fees in tx object received from dApp
Fixes #16528
2024-11-04 11:32:19 +01:00
Lukáš Tinkl 623333ab8c fix: improve image type detection
- use the same approach as status-go to detect the image type, relying
on "magic" type matching instead of looking at the file extension (now
using C++ and QMime*)
- add a little error popup when the user tries to upload an unsupported
image type while creating/editing a community
- expose all the image related properties from the C++ backend instead
of constructing and duplicating them in QML
- cleanup some unused/dead code

Fixes #16668
2024-11-04 10:29:01 +01:00
Jonathan Rainville 27ececad63
perf(contacts): make initial contacts fetching async (#16560)
* perf(contacts): make initial contacts fetching async 

Fixes #16509

* fix: don't fetch contact if we don't have it in cache

Fixes #16509

* feat: add a visible loading indicator when the chats are not ready yet
2024-11-01 10:32:20 -04:00
Dario Gabriel Lipicar ea94065c57 fix(swap): invalidate old uuid and route when a new route request is made
Fixes #16574
2024-10-31 12:12:28 -03:00
Michał Cieślak c009321ba2 chore: unused, outdated code removed from ContactsView
Closes: #16650
2024-10-31 11:11:30 +01:00
Michał Cieślak ba80ba97f7 compressedPubKey exposed via backend models, usages of Utils.getCompressedPk removed, SB pages simplified 2024-10-31 11:11:30 +01:00
Michał Cieślak 28f6bee90e Utils.getCompressedPk removed from multiple components 2024-10-31 11:11:30 +01:00
Michał Cieślak 0f98244e1f UserListPanel simplified, dependency on utilsStore removed 2024-10-31 11:11:30 +01:00
Michał Cieślak 0db6fe2701 Invite flow: compressedKey added to the model, api simplified 2024-10-31 11:11:30 +01:00
Michał Cieślak 143cf63dc0 Community invite flow: dependency on stores reduced 2024-10-31 11:11:30 +01:00
Michał Cieślak ff5e1654ec Unused hasAddedContacts property removed from multiple components 2024-10-31 11:11:30 +01:00
Michał Cieślak adc8f5bc3a ContactPanel api simplified 2024-10-31 11:11:30 +01:00
Michał Cieślak 9b5b5a4a60 ContactPanel delegate made backend-independent 2024-10-31 11:11:30 +01:00
Jonathan Rainville 9e70e69faf
fix(mentions): fix wrong user list given to mentions model (#16656)
Fixes #16602

This was broken when we refactored the members to use a single model for public channels. Those public channels then didn't have any members in their model they used for suggestions.
This is fixed by putting the logic in the UsersStore and reusing that store whenever we need a list of the members.
2024-10-30 15:02:46 -04:00
Jonathan Rainville a466747c5e
fix(airdrop): fix wording of the error when selecting the wrong account (#16632)
Fixes #16562
2024-10-30 11:45:20 -04:00
Sale Djenic 03a0a18313 fix: links do not work in the terms of name registration popup
Fixes #16658
2024-10-30 14:10:40 +01:00
Lukáš Tinkl 0b67555ee1 fix(AddAccount): Derivation path drop down is empty
- use `StatusListView` for the popup/menu contentItem
- add the menu to SB too

Fixes #16635
2024-10-30 11:43:02 +01:00
Sale Djenic 54d0d62b37 fix: cant fetch fees when releasing ens name, token is not set, as well as value
There are a few things improved in this commit:
- the account the username was bought with is selected for releasing
- if the account was removed in meantime, we warn user displaying a popup message
- ETH token is selected
- 0 value is set

Fixes #16611
2024-10-30 09:53:40 +01:00
Anastasiya Semenkevich 4409c20264 chore(@e2e): change object name for AccountListItem 2024-10-29 21:16:40 +03:00
Jonathan Rainville d511c25d2e
remove old code about ID verification and fix trustStatus bug (#16548)
* chore: remove old code about ID verification

* refactor(trust): remove untrustowrthy and isVerified from items and use trustStatus

* chore(status-go): up status-go to get fix for trustStatus reseting

Fixes #16392

* chore: remove verified/trusted profile showcase category
2024-10-29 14:08:12 -04:00
Sale Djenic f2883fdcee fix: animation for updating fees added to send and swap modal
Closes #16624
2024-10-29 16:12:07 +01:00
Sale Djenic f6055946d4 chore: usage of goerli removed 2024-10-29 15:46:09 +01:00
Khushboo Mehta b279bcedc2 fix(@desktop/wallet): Swap transaction - Wrong copy on the tooltip of the 'Swap' button
fixes #16568
2024-10-29 14:45:40 +01:00
Lukáš Tinkl ab92672deb fix: Share community link is gone
- pass the correct community ID

Fixes #16637
2024-10-29 12:58:56 +01:00
Lukáš Tinkl fe9fa7d086 fix(PermissionsSettingsPanel): fix initial view being too wide
Fixes #16617
2024-10-29 10:36:55 +01:00
Lukáš Tinkl bd6289d4f2 feat(CommunitySettingsView): add "Invite ppl" button
- this adds direct access to sending invitations to new ppl (aka adding
members), instead of going thru the secondary nav context menu
- the new community context menu will be tackled in a separate
task/issue

Fixes #16597
2024-10-29 10:11:51 +01:00
Michał Cieślak dedaaa5a60 Unused StatusEmojiAndColorComboBox removed
Closes: #16558
2024-10-28 23:16:31 +01:00
Michał Cieślak fe249225a2 Storybook pages - multiple fixes regarding stores 2024-10-28 23:16:31 +01:00
Michał Cieślak 5e11027d3a Unused Utils.getCommunityIdFromShareLink removed 2024-10-28 23:16:31 +01:00
Michał Cieślak e2341414a3 changeCommunityKeyCompression moved from Utils to UtilsStore 2024-10-28 23:16:31 +01:00
Michał Cieślak 4c7205fc5d getEmojiHashAsJson moved from Utils to UtilsStore 2024-10-28 23:16:31 +01:00
Michał Cieślak f6f73c188a isAlias moved from Utils to UtilsStore 2024-10-28 23:16:31 +01:00
Michał Cieślak a76ae0ade6 isCompressedPubKey moved from Utils to UtilsStore 2024-10-28 23:16:31 +01:00
Michał Cieślak 356275f2b3 Utils.isCommunityPublicKey moved to UtilsStore 2024-10-28 23:16:31 +01:00
Michał Cieślak 094114a77a Constant values moved from Utils to Constants 2024-10-28 23:16:31 +01:00
Michał Cieślak 14226af5a0 UtilsStore creaed, isChatKey method moved 2024-10-28 23:16:31 +01:00
Jonathan Rainville c8d2e39329
fix(communities): fix missing members in community settings (#16634)
Fixes #16627

I had missed that the community settings also used the members. Fixed by using the model adaptor and using the right property name
2024-10-28 13:14:25 -04:00
Cuteivist c47f42eb39
fix: Show only selected networks (#16588) 2024-10-28 13:10:30 +01:00
Jonathan Rainville f7823cd0b7
refactor(members): unify members models into one (#16508)
Fixes #16433
2024-10-25 21:25:50 -04:00
Lukáš Tinkl d00690f53b fix(ProfileContextMenu): excessive separators for a bridged profile
- hide the separators when showing a bridged profile
- fix calculating the menu item widths

Fixes #16593
2024-10-25 21:01:46 +02:00
Jonathan Rainville a6adb9eddb
fix(gifs): fix call to setGifUnfurlingEnabled using a bad store (#16622)
Fixes #16598

The gif popup was using the global RootStore, but it didn't work and it's also not a good practice.

I moved the function to enable to the GifStore which is accessible as a reference instead.
2024-10-25 14:12:37 -04:00
Dario Gabriel Lipicar f34050a5bc fix(wallet): debounce send modal route requests and assign new uuid on each fetch 2024-10-24 11:26:53 -03:00
Alex Jbanca 0962497e89 fix: Sign transaction popup scroll when content changes height 2024-10-24 12:06:40 +03:00
Lukáš Tinkl 158154bcca fix(RenameGroupPopup): fix name validation and scrolling
- increase the length limit to 30 and allow `&`, as per the spec
- wrap the popup in a scroll view
- pls some minor cleanups

Fixes #16523
2024-10-23 16:18:26 +02:00
Dario Gabriel Lipicar 1ab4b15e2b chore: remove unused resource 2024-10-23 10:27:55 -03:00
Michał Cieślak c9ba0a9aa7 Components for storing chart data renamed and moved
ChartStoreBase -> ChartDataBase
TokenBalanceHistoryStore -> TokenBalanceHistoryData
TokenMarketValuesStore -> TokenMarketValuesData

Those components store data without any interaction with the backend.
Therefore they are not stores.

Closes: #16295
2024-10-23 14:36:21 +02:00
Michał Cieślak ee5fb50c29 chore: TokenMarketValuesStore removed from shared/RootStore 2024-10-23 14:36:21 +02:00
Anastasiya Semenkevich b19bdcf97f chore(@qml): add object name for leaving community context menu item 2024-10-23 11:31:26 +03:00
Lukáš Tinkl 76af3a469b chore: help QtCreator find the new StatusQ module
- also help recognize other interesting project files
2024-10-22 15:54:31 +02:00
Lukáš Tinkl 7ecbf43c42 chore(StatusQ): move assets to StatusQ from the shared dir
- adjust paths in Theme.svg/png
2024-10-22 15:54:31 +02:00
Lukáš Tinkl d9d6d90dc9 [Style] remove legacy Style and its themes
- legacy Style and ThemePalette removed
- moved and deduplicated font definitions into `Theme` (unrelated to a
color palette)
- `Style.current.foo` -> `Theme.foo`
- `Style.current.fooColor` -> `Theme.palette.fooColor`
- upgrade the imports to 5.15
- removed some mode dead components

Fixes #16514
2024-10-22 15:54:31 +02:00
Michał Cieślak 95e5f5d34d Global.settingsSubSubsection property (UI state in singleton) removed
Closes: #16457
2024-10-22 11:18:09 +02:00
Michał Cieślak 5acb9fc8fb Global.settingsSubsection property (UI state in singleton) removed 2024-10-22 11:18:09 +02:00
Cuteivist 5d12440562
fix; Update default sorting for assets and collectibles (#16552) 2024-10-21 12:26:14 +02:00
Anastasiya Semenkevich b0105fc30a chore(@qml): add object names for action buttons in panels 2024-10-18 20:14:28 +03:00
Anastasiya Semenkevich 09524b925a chore(@StatusQ): add object name for community tag 2024-10-18 20:14:28 +03:00
Michał Cieślak 9332d1a2ed StatusQ: ModelCount simplified and property added
Closes: #15740
2024-10-17 16:25:34 +02:00