2202 Commits

Author SHA1 Message Date
Alex Jbanca
00fb1ff60a
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-09 00:38:52 +02:00
Alex Jbanca
1ecd960cb2
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-07 21:10:16 +02:00
Alex Jbanca
94672b0e36
fix(WC): Disable primary action buttons when the service is not available
+ Disable the `Connect` button after the first request
2024-11-07 21:06:10 +02: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
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
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
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
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
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
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
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
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
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
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
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
Anastasiya Semenkevich
b0105fc30a chore(@qml): add object names for action buttons in panels 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
Michał Cieślak
c22a15e8fa Backend-dependent content removed from Constants, userProfile removed from Global
Closes: #16459
2024-10-16 23:02:02 +02:00
Michał Cieślak
02993196e9 References to Global.userProfile removed from multiple components 2024-10-16 23:02:02 +02:00
Michał Cieślak
8fb9440235 ContactsStore: getProfileContext simplified 2024-10-16 23:02:02 +02:00
Michał Cieślak
c4828a094b Access to user profile encapsulated in profile store 2024-10-16 23:02:02 +02:00
Michał Cieślak
3bf415add0 UserStatusContextMenu refactored to be not dependent on stores 2024-10-16 23:02:02 +02:00
Michał Cieślak
affaf6099f chore: Unused PopupMenu removed 2024-10-16 23:02:02 +02:00
Lukáš Tinkl
b052416666 fix(PasswordView): Password instructions missing max length requirement
- set the pass max length to 100 (via `Constants`, not with a hardcoded
regexp)
- delay the validation until the user hits the limit
- clear the categories (lower/upper/num/sym) info if the password is
cleared too
- update the error messages according to latest Figma designs

Fixes #16239
2024-10-16 22:24:56 +02:00
Michał Cieślak
fe08742cc3 Various small unused components removed 2024-10-14 23:28:05 +02:00
Michał Cieślak
1f61b77739 ChatCommandsPopup and related sub-components removed 2024-10-14 23:28:05 +02:00