562 Commits

Author SHA1 Message Date
Cuteivist
0131b1fa4d
chore: Add metrics for success of swap transaction (#17279) 2025-02-12 12:06:09 +01:00
Khushboo-dev-cpp
91846f38b0 feat(@desktop/wallet): Add swap button in left sidebar
fixes #17197
2025-02-12 10:54:48 +01:00
Lukáš Tinkl
1ed92fca67 feat(Onboarding): update the loading splash screen illustration
- use the new illustration image
- fixup the image size
- respect the correct splash screen duration, based on user settings

Fixes #17236
2025-02-11 14:12:59 +01:00
Cuteivist
289c14aefd
feat: Remove beta popup (#17264)
* feat: Remove beta popup

* chore(@e2e): remove beta consent popup

---------

Co-authored-by: Anastasiya <anastasija.ig@gmail.com>
2025-02-11 10:18:16 +01:00
Cuteivist
79432938b2
feat(wallet): Update recipient data in send sign modal (#17164) 2025-02-06 10:08:54 +01:00
Cuteivist
aa1e407ff2
feat: Add event metrics to simple send modal (#17192) 2025-02-06 05:30:16 +01:00
Jonathan Rainville
d3e765487c
feat(onboarding): add AC notif for importing old accounts (#17078)
* feat(onboarding): add AC notif for importing old accounts

Fixes #17028

When an old user imports an account, we now fetch the backups in the background and show an AC notification.

When the fetch is successful, the AC notif switches to a success message.

If after a timeout we detect that we didn't fetch anything or just part, we show an error and the possibility to try again.

* fix: typo

* chore: bump status-go

* fix: bump status-keycard-go

---------

Co-authored-by: Igor Sirotin <sirotin@status.im>
2025-02-05 19:44:33 +00:00
Khushboo-dev-cpp
1668fd384c feat(@desktop/wallet): Add option to not show Popular section in TokenSelectorViewAdaptor.qml
fixes #17148
2025-02-03 11:10:37 +01:00
Dario Gabriel Lipicar
051b563f9f feat(network): integrate new rpc providers api 2025-01-31 12:11:35 -03:00
Lukáš Tinkl
5cf9e4f838 feat(Post Onboarding): Introduce yourself popup
- popup displayed only ever once
- triggered when section is switched to anything else than wallet
(default for new users) or settings (profile visible first anyway)
- add the popup to SB

Fixes #17027
2025-01-30 18:00:18 +01:00
Sale Djenic
442c0cba62 chore(communities-wallet): various improvements on community related transaction flows
These changes should simplify the community related tx handlings on the client side, align it with
tx flows that we already have for other sending types and make it maintainable.
2025-01-30 15:49:49 +01:00
Sale Djenic
9673e3515e chore(wallet): new send modal improvements
Updated Sign Send popup (that is going to be review popup soon) to operate over a single tx path instead
like it's now. It needs to display a path specific time, fees, later priority fees ranges, nonce and so.
2025-01-29 09:32:08 +01:00
Cuteivist
28690379e1
feat: Simple send modal recipient view (#17096)
* feat: Simple send modal recipient view

* feat: Handle duplicate entries in recent recipient view
2025-01-27 17:35:59 +01:00
Khushboo Mehta
4b2457a17b feat(@desktop/wallet): Adapt invocations to New Simple Send Modal
fixes #17023
2025-01-27 15:50:32 +01:00
Alex Jbanca
460feea889 fix: Set SNT as the default receive on swap 2025-01-24 15:19:41 +02:00
Khushboo Mehta
5793204e01 feat(@desktop/wallet): Integrates the new sign model into the simple send
fixes #17060
2025-01-24 13:51:59 +01:00
Khushboo Mehta
e8b03e8b7a feat(@desktop/wallet): Filter out community owner and master tokens from single network send modal 2025-01-24 09:40:21 +01:00
Alex Jbanca
b6bc5d1e29 feat(dapps): Adding dapp metrics
closes #16912

Sending the dapps events to mixpanel

| Event Name | Properties | Possible Values | Notes |
| --- | --- | --- | --- |
| dapps-health | state | - wc_available
- wc_unavailable
- chains_down
- network_down
- pair_error
- connection_error
- sign_error |  |
|  | error |  | string description |
| dapps-navigation | flow | - dapps_list_opened
- connect_initiated
- disconnect_initiated
- pair_initiated |  |
|  | connector | - wallet_connect
- browser_connect |  |
| dapps-connection | flow | - proposal_received
- proposal_accepted
- proposal_rejected
- connected
- disconnected |  |
|  | networks | networks[string] - array of networks | Array of proposed or connected networks |
|  | methods | methods[string] - array of methods | Array of proposed methods |
|  | dapp | dapp uri |  |
|  | connector | - wallet_connect
- browser_connect |  |
|  | isSiwe | boolean |  |
| dapps-sign | flow | - sign_received
- sign_accepted
- sign_rejected |  |
|  | connector | - wallet_connect
- browser_connect |  |
|  | method | - personal_sign
- eth_sign
- eth_signTypedData_v4
- eth_signTypedData
- eth_signTransaction
- eth_sendTransaction |  |
|  | dapp | string - dapp uri |  |
|  | chainId | int - chain id |  |
2025-01-22 11:40:00 +02:00
Jonathan Rainville
07675f3da5
feat(onbaording): integrate all happy paths for the non-keycard flows
Fixes #17004
2025-01-21 15:29:05 -05:00
Jonathan Rainville
0738d6de08
feat(community): add option to see community rules (#17022)
Fixes #16826

Adds the option to see the community rules in the community context menu on the left.

Also adapts a few things according to designs
2025-01-15 10:04:48 -05:00
Jonathan Rainville
a6e6546a08
Add a "Dismissed contact requests" tab in the Contacts panel (#17021)
* chore(ContactPanel): add tooltips to contact panel buttons

* feat(contacts): add a tab for dismissed contacts and a button to undo

Fixes #16844

Adds a tab in the Messaging>Contacts page that shows the dismissed contact requests.
it has a button to undo the rejection. That is simply a call to accept the old contact request, which then makes the two users mutual contacts
2025-01-14 10:18:31 -05:00
Lukáš Tinkl
3705249e40 feat(Onboarding): Create Profile & Login flows
- implement the basic Onboarding UI skeleton and the Create Profile
flows
- adjust the PasswordView and EnterSeedPhrase views to the latest design
- add the main OnboardingLayout and StatusPinInput pages to Storybook
- change terminology app-wide: "Seed phrase" -> "Recovery phrase"
- implement the Login flows (seed, sync, keycard)
- amend the keycard flow sequences with separate (non) empty page

Fixes #16719
Fixes #16742
Fixes #16743
2025-01-14 10:49:42 +01:00
Lukáš Tinkl
3281e841db fix: Optimize ContactsView & MembersTabPanel settings pages
- removed nested ListViews inside StackLayouts, in order to reduce the
memory footprint and improve performance, and also to be able to better
manage the scrolling
- no more unrolled multiple listviews, which again hurt the performance;
now the views instantiate the delegates dynamically on the fly
- the tab bar and the search fields now stick to the top of the page,
with the users list view scrolling independently
- both views now uniformly use the common `ContactListItemDelegate`
- the received/sent CRs are now combined into one `pendingContacts`
model
- factored out common search/filter criteria into a new, separate SFPM
`UserFilterContainer` component
- fix an issue where StatusContactVerificationIcons wasn't properly
displaying the "blocked" state/icon
- fix documentation comments, removed relative imports, and updated some

Fixes #16612
Fixes #16958
2025-01-14 10:31:58 +01:00
Sale Djenic
630c75401f chore(wallet): aligning to the changes done on the statusgo side for setting custom fees
Setting custom fees feature is not part of these changes, will be developed later.
2025-01-08 20:00:38 +01:00
Jonathan Rainville
8a0392f48b
feat(community): add mark as read to community button (#17007)
Fixes #16573

Adds the "Mark as read" to the community context menu that marks all channels in the community as read
2025-01-08 12:03:06 -05:00
Jonathan Rainville
7a3b80e5ea
fix(ac): fix review CR popup not showing correct data from the AC (#17018)
Fixes #16601

The original issue of seeing `&nbsp;`  was already fixed, but the popup, when opening from the activity center didn't have any spaces.
However, when displayed from the profile, everything showed fine.
So the fix was simply to remove the old way of opening from the AC and use the same call that is used in the profile popup.
2025-01-08 10:50:30 -05:00
Khushboo Mehta
04e2abd3f5 feat(@desktop/wallet): Implements and handles errors in the new single network send modal
fies #17000
2025-01-07 18:14:14 +05:30
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