535 Commits

Author SHA1 Message Date
Khushboo Mehta
0d4d1b0ba7 feat(@desktop/wallet): Move the Account Selector logic to show selected token balance on a sepcific network to a dedicated WalletAccountsSelectorAdaptor
fixes #16705
2025-01-06 22:50:26 +05:30
Khushboo Mehta
37a06fc3be feat(@desktop/wallet): Create a new send module to clear out old logic and switch the old one to the new one later, once the old sendModal is not used anymore
fixes #16919
2025-01-06 20:38:19 +05:30
Khushboo Mehta
b5ba168463 feat(@desktop/wallet): fixing some issues in UI alignments 2024-12-24 12:09:06 +05:30
Khushboo Mehta
3670e352f1 feat(@desktop/wallet): Implements the Send Modal Footer required for simple send
fixes #16918
2024-12-24 12:09:06 +05:30
Khushboo Mehta
8c615289cc feat(@desktop/wallet): Add a temporary recipient selector so that we can quickly unblock other peoples work 2024-12-24 12:09:06 +05:30
Khushboo Mehta
909f518d3d feat(@desktop/wallet): Entering asset value + using max button in its current state
fixes #16903
2024-12-24 12:09:06 +05:30
Khushboo Mehta
889f46b392 feat(@desktop/wallet): Adding features of Account, Network and Token Selection to the popup
fixes #16820, #16835, #16878
2024-12-24 12:09:06 +05:30
Khushboo Mehta
9182d6e335 feat(@desktop/wallet): Making changes so that simple send can be launched outside of storybook 2024-12-24 12:09:06 +05:30
Cuteivist
19988fbcee
feat(chat): Open Send modal from payment request (#16945)
* feat(chat): Open Send modal from payment request

Closes #16738

* fix(chat): Update preview label issue

Fixes #16926
2024-12-23 06:32:48 +01:00
Lukáš Tinkl
8aebb81137 fix: No toast on removal of untrusted mark
- listen to the NIM's signal `SIGNAL_REMOVED_TRUST_STATUS`
- emit a signal for QML signal accordingly
- emit a toast/notification as a result

Fixes #16949
2024-12-18 11:26:21 +01:00
Alex Jbanca
c0aeae5ea5 fix(dapps): Fixing the dApps disabled state if the dapps service is not online
closes #16883 #16882

1. connect the dapps service online state to the enabled state for the dapps button
2. Fix the connect modal primary action button
3. Align DappsComboBox disabled color with the refresh button disabled color

(cherry picked from commit 2c4f6b5da3d484b8e36f2ec572ba738e490cda40)
2024-12-12 15:42:47 +02:00
Khushboo Mehta
481350385e feat(@desktop/wallet): Adding feature flag for Simple Send until it is ready for release
fixes #16710
2024-12-04 21:34:12 +01:00
Michał Cieślak
7f05a4093a chore(@desktop/wallet): Reduced number of global calls related to send modal 2024-12-04 21:34:12 +01:00
Khushboo Mehta
0c2674e7cb chore(@desktop/wallet): Chnage the send modal mechanism to follow new architecture guidelines.
After this change there is not need to pass sendModal instance from AppMain to other parts of app.
Then SendModal should be launched simply by calling Global.openSendModal(....)
2024-12-04 21:34:12 +01:00
Cuteivist
5bf4ba22c2
feat: Payment Request modal (#16744) 2024-12-04 11:19:27 -05:00
Jonathan Rainville
dc9951cfb0
Fix unread badge on the chat section button + fix unread count not being counted when the chat is active and the app is not in focus (#16851)
* fix(badge): fix missing badge on the Chat section

* fix(unread): fix unread count not incrementing when the chat is active but app is unfocused

Fixes #16098

The problem was that we were marking the message as read because the chat kept scrolling, even if the app was in the background.
I fixed that by only marking as read if the app is active. I added a Connections to the active property of the Applicaiton too to mark as read when the app comes back active.
I also removed a condition that prevented the Unread bar appearing in that condition.
Now, when a message is sent to the active chat, but the app is not in focus, the red dot appears, as well as the badges. Then when the app comes active, it is marked as read, but the unread messages line is shown to show when is the last time the user saw messages. This is similar to what Discord has.
2024-12-04 10:00:34 -05:00
Cuteivist
7998b0640f
Feat/request payment cards 16737 (#16740)
* feat: Payment Request cards

* feat: Card fixes
2024-12-03 09:36:04 +01:00
Alex Jbanca
9490dbb57e refactoring(dapps): Move WC and BC popups in the global scope
closes #16831

Moving the dapp popups to the global scope in order for them to be triggered on any view.
There are a few changes required for this:
1. DAppsWorkflow has been split. Previously all popups were declared in the `DappsComboBox`. Now the DAppsWorkflow inherits the QObject instead and the `DappsComboBox` is used as is in the wallet header.
2. The DAppsWorkflow has been moved to AppMain. The DAppsWorkflow will be constructed in the scope of DAppsService and connected directly to the service signals
3. Updated tests and storybook with the new structure
4. Removed the `dAppsService` from `Global`. There's no reason to keep the `dAppsService` instance in the `Global` singleton.
2024-12-03 09:52:28 +02:00
Michał Cieślak
7323889a8c ContactDetails decomposed into smaller, more specialized components
Closes: #16793
2024-11-29 17:46:50 +01:00
Jonathan Rainville
50132c5a0e
Refactor contacts models to have a single model, remove useless properties and improve updating (#16667)
* refactor(contacts): refactor 5 contact models into one and filter in QML

Fixes #16549

Refactors the 5 types of contact models (all, mutuals, banned, received and sent) into only the `allContacts` and use an Adaptor on the QML side to filter into the needed models.
This cleans the Nim side a lot and makes applying updates to the contacts' model way simpler.

* chore(contacts): remove useless and duplicated contact properties

OptionalName and isSyncing were never used.
DefaultDisplayName was not really used and is actually a duplication of preferredDisplayName, so I replaced the limited usages of DefaultDisplayName by preferredDisplayName

* refactor(contacts): improve updates by not removing and re-adding

We used to update contact items by removing them from the models and re-adding them. This is highly inefficient.
Instead, the proper way is to update only the values that changed.

* user_model: onItemChanged signal removed

* user_model: sorting by online status no longer needed on nim side

* Chat/RootStore: contactsModel property removed

* ContactsStore encapsulation improved

* ContactsStore: contacts model adaptor moved outside store

---------

Co-authored-by: Michał Cieślak <michalcieslak@status.im>
2024-11-28 09:15:34 -05:00
Sale Djenic
fd63893515 feat(wallet): in app tx related notifications improvements
Closes #16338
2024-11-25 14:47:03 +01: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
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
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
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
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
544f749f44 ProfileHeader and related components refactored to use compressed key directly 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
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
Michał Cieślak
ff5e1654ec Unused hasAddedContacts property removed from multiple components 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
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
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
14226af5a0 UtilsStore creaed, isChatKey method moved 2024-10-28 23:16:31 +01:00
Jonathan Rainville
f7823cd0b7
refactor(members): unify members models into one (#16508)
Fixes #16433
2024-10-25 21:25:50 -04: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
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
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