7362 Commits

Author SHA1 Message Date
Dario Gabriel Lipicar
15f047f0c0 feat(activity): reworked activity context menu 2024-11-25 18:48:45 -03:00
Sale Djenic
fd63893515 feat(wallet): in app tx related notifications improvements
Closes #16338
2024-11-25 14:47:03 +01:00
Sale Djenic
e6c0aa4a1f fix(wallet): set up an new keycard with an existing account screen does not show key pairs
Fixes: #16785
2024-11-22 15:55:28 +01:00
Alex Jbanca
5e6db4d2ff feat(WalletFirst): Creating the wallet banner UI component
Banner items are created as per design.
Banner items support customizable close button.
Banner items have hove state as per design.
Banner items are added to storybook with all possible configurations.
Banner items have a close animation including fade-out and the remaining item occupy the empty space.
QML tests are added.
2024-11-22 12:47:18 +02:00
Alex Jbanca
b555d19a1a feat(BC): Implement eth_signTypedData_v4 in BrowserConnect
This commit renames the personalSign to Sign in nim and status-go to enable `eth_signTypedData_v4` signing.
The sing request coming from the status-go API contains the signing method to be used by the client. Currently we're supporting personal sign and signTypedData_v4.

The only difference between these two signing methods is the order of challenge and address in the `params` array. This is handled in the SappsConnectorSDK::buildSignRequest
2024-11-22 12:47:01 +02:00
Alex Jbanca
a39728ba94 feat(WalletFirst): Rearrange left nav bar and open wallet section by default
1. Wallet section is the default section
2. Wallet section is the first section in the left nav bar
2024-11-22 12:24:03 +02:00
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