810 Commits

Author SHA1 Message Date
Michał Cieślak
b98758cb08 Onboarding: KeycardEnterPinPage cleanup 2025-02-14 15:54:08 +01:00
Lukáš Tinkl
0ef547a645 fix(onboarding): Incorrect Back Navigation and Button Visibility on PIN Screens
For the PIN pages:
- add a `pinSettingInProgress` bool hint to `KeycardCreatePinPage` when
setting/authorizing the PIN is in progress to be able to correctly
display the Back button
- don't display the "success" image yet when in progress
- use the hint in related flows
- extract the default attempts numbers to `Constants`

For the backup seed phrase sequence:
- the mnemonic is a string and gets submitted when exiting the
BackupSeedphraseReveal, not right after its (re)creation
- when starting the flow (going from `KeycardCreatePinDelayedPage`),
replace instead of push, so that Back skips the PIN page
- fixup the related SB pages

Fixes #17218
2025-02-14 14:48:33 +01:00
Lukáš Tinkl
ac58a0bb29 fix(Onboarding): fix the mouse back button overlay
- to follow the same logic as the onscreen Back button
2025-02-14 14:48:33 +01:00
Alex Jbanca
36872b6f1c feat(Swap): display the exchange rate approximation in swap
Show the exchange rate approximation in swap. The exchange rate shows when the swap input is valid.
It has 3 states:
1. invisibile - when the pay/receive input is empty
2. visible and loading - while fetching the routes. Happens whenever the swap input changes AND the input is valid
3. visbile, with data - once the routes have been fetched
2025-02-13 22:32:14 +02:00
Michał Cieślak
3921460133 Onboarding: generic keycard error page
Closes: #17232
2025-02-13 15:43:49 +01:00
Cuteivist
ac4a36b081
feat(wallet): New chain icon (#17263) 2025-02-13 14:04:30 +01:00
Igor Sirotin
5c68e01e02
feat: collect KeyUID during LoginWithLostKeycardSeedphrase (#17278)
* feat: collect `KeyUID` during `LoginWithLostKeycardSeedphrase`

* chore: address pr comments
2025-02-13 00:03:09 +03:00
Lukáš Tinkl
262f51a102 fix(Onboarding): Better handling of login errors
- remove `tryToSetPinFunction` and correct `setPin` functions; those
were not used in LoginScreen
- consistently report login errors to the LoginScreen, including details
for the keycard profiles
- display error details in a popup (extracted from `LoginKeycardBox` to
`LoginScreen`) for both password and keycard profiles
- add login error simulation buttons to SB pages

Fixes #17258
2025-02-12 14:07:03 +01:00
Michał Cieślak
d1ac45ce6c Onboarding: KeycardCreatePinPage and SeedphrasePage refactored to be pure UI components
Now those components are not aware of any logic in the upper layer,
making the flows more structured and easier to follow.

Required for: #17232
2025-02-12 13:54:46 +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
Khushboo-dev-cpp
28496a93b1 feat(@desktop/wallet): Remove progressive pixel reduction in Send and Swap 2025-02-11 20:21:07 +01:00
Khushboo-dev-cpp
296b717f54 feat(@desktop/wallet): Swap changes needed for -2.33
1. Max button functionality
2. Hardcode swap modal to swap USDT <-> WETH
3. Fixing some issues found
4. Not limiting number entered by user

fixes #17198, #17200
2025-02-11 20:21:07 +01:00
Michał Cieślak
cee35cb164 Onboarding: Add key pair page aligned to the design
Dedicated page for operation of adding new key pair to the keycard,
with minimal times for displaying in progress and success states.

Closes: #17233
2025-02-11 12:44:46 +01:00
Michał Cieślak
0f81f7922f Storybook(OnboardingLayout): mnemonic auto-fill fixed 2025-02-11 12:44:46 +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
Michał Cieślak
7649ad45ca feat(Onboarding): KeycardExtractingKeysPage excluded from KeycardEnterPinPage
Closes: #17205
2025-02-07 17:24:20 +01:00
Igor Sirotin
6fe5330e5b
fix: use mnemonic as BIP-39 string (#17246) 2025-02-07 15:14:52 +00:00
Lukáš Tinkl
a9066806b5 chore(Onboarding): Remove all "Reload keycard state" buttons
- the manual "I've insterted a keycard" reload buttons are no longer
needed; we can rely solely on the HW keycard state
- when doing a "Restart", also reset the internal mock/store states

Fixes #17234
2025-02-07 13:10:58 +01:00
Michał Cieślak
54ff857f3d feat: LoginScreen - ability to dismiss biometrics popup 2025-02-06 19:20:38 +01:00
Michał Cieślak
d26991bc72 feat: LoginScreen biometrics integration using Keychain
Required for #17085
2025-02-06 19:20:38 +01:00
Michał Cieślak
94dbdc450f chore: Keychain api adjusted 2025-02-06 19:20:38 +01:00
Lukáš Tinkl
2c0bcd67af chore(EnterSeedPhrase): improve the SB page
- add a convenience Paste button
- make it possible to validate the seedphrase
2025-02-06 14:56:07 +01:00
Cuteivist
79432938b2
feat(wallet): Update recipient data in send sign modal (#17164) 2025-02-06 10:08:54 +01:00
Lukáš Tinkl
db7a359a49 fix(PasswordView): UI fixes and alignments with latest Figma
- display validation messages closer to the input fields
- warn about pass too long, info for "passwords match"
- fix an actual bug when two too long passwords would be considered as
"valid" by the UI
- various fixes and UX improvements for the respective SB pages

Iterates: #17101

To fully fix the above issue, we need a more complete Figma design,
depicting the various error scenarios
2025-02-05 14:35:26 +01:00
Lukáš Tinkl
09bdb955e9 feat(Onboarding): implement the KeycardFactoryReset flow
- integrate it into the UI and StoryBook
- a new keycardState is introduced: `FactoryResetting` (matching the
backend)
- a new store method introduced: `startKeycardFactoryReset()`

Fixes: #17094
2025-02-04 22:57:04 +01:00
Jonathan Rainville
bf5de4087e
feat: Integrate new logins flows happy paths (#17137)
* feat(login): integrate basic login flows happy paths

Fixes #17137

* fix: rebase issues and pr comments

* chore: switch status-keycard-go to master branch

* fix: tests

---------

Co-authored-by: Igor Sirotin <sirotin@status.im>
2025-02-04 15:08:13 +00:00
Jonathan Rainville
2d549f42be
feat: Implement the keycard flows for the new onboarding (#17127)
* feat(onboarding): integrate all keycard flows for the new onboarding

Fixes #17079

* chore: bump submodules to merged versions

* fix: rebase fixes

* chore: bump status-keycard-go to use Go 1.21

* feat: add FactoryResetting state

* chore: minor fixes

* add KeycardRemainingPinAttempts

* minor fixes

* minor fixes

---------

Co-authored-by: Igor Sirotin <sirotin@status.im>
2025-02-04 13:22:05 +00:00
Igor Sirotin
6e1ef46ef7
feat: Keychain QML Item (#17166)
* feat: Keychain QML component

* fix: non-mac builds

* test

* feat: async api

* chore: gitignore statusq android gradle

* Keychain API adjusted, Storybook page unified for real/mocked biometric popup

* fix: proper success/error of getCredential

* chore: format file

* feat: Keychain emit status

* feat: Keychain status

* feat: cancel auth

* fix: various os-specific issues

* chore: address pr comments

* chore: update mocked biometrics popup

* chore: back to LAPolicyDeviceOwnerAuthentication

* cleanup
2025-02-04 12:26:33 +00:00
Dario Gabriel Lipicar
55e96bbd05 chore: extract rpcProviders as independent model 2025-01-31 12:11:35 -03:00
Dario Gabriel Lipicar
051b563f9f feat(network): integrate new rpc providers api 2025-01-31 12:11:35 -03:00
Michał Cieślak
e46b8e1f09 Onboarding: Unblock with seedphrase flow for login
Closes: #17142
2025-01-31 14:57:45 +01:00
Michał Cieślak
944568eaf7 Onboarding: LoginScreen location adjusted
- LoginScreen SB page simplified
- OnboardingLayoutPage - settings introduced for handier testing
- LoginScreen moved from OnboardingLayout to OnboardingFlow, making first flow's page bound to model content (instead of relying on check during initialization)
- UnblockWithPukFlow removed from OnboardingLayout (now it's used only in OnboardingFlow)
- Login error/success processing extracted from LoginScreen to OnboardingLayout
- small bug fixed in Utils::objectTypeName

Closes: #17160
2025-01-31 13:54:49 +01: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
Lukáš Tinkl
df741d6260 feat(Onboarding): implement the new UnblockWithPukFlow
- integrate the PUK unblock flow into the Onboarding and Login screen
- added a dedicated SB page for it
- remove the `Locked` keycard state everywhere in favor of `BlockedPIN`
and `BlockedPUK`
- fix the various "Locked" buttons, based on the context and the state
of the keycard

Fixes: #17092
2025-01-29 12:38:43 +01:00
Lukáš Tinkl
2de4d3a19e feat(KeycardEnterPukPage): implement a dedicated "Enter PUK" page
- to be used in the "Unlock with PUK" flow
2025-01-29 12:38:43 +01:00
Michał Cieślak
fb9cd351c4 Onboarding: lost keycard flow components added 2025-01-29 11:00:16 +01:00
Lukáš Tinkl
4b8ed6c7a1 chore(Onboarding): implement getModelFromEnum()
- and use it in the SB pages to automatically get all values from an
enum and use them as a ready made model, instead of spelling the values
individually/manually
2025-01-29 09:20:24 +01:00
Lukáš Tinkl
e2f9dab33b fix(Onboarding/SyncProgressPagePage): fixup back buttons
- SyncProgressPagePage: enable the back button only in the failed state
- SyncProgressPagePage: fix the "Try again" and "Back" button to go to
the Scan QR step; the connection code is disposable and can't be used
again anyway
- adjust the respective SB pages to reflect the correct enum values
2025-01-29 09:20:24 +01:00
Lukáš Tinkl
2ec862231a feat(StatusButton): add an outline variant
- only for `StatusButton` as for the `StatusFlatButton` it's not desired
- also use defined metrics for padding/spacing
- add a QML test

Fixes #17124
2025-01-28 11:34:30 +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
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
bb0908021e feat(@desktop/wallet): New Send Sign Modal
fixes #16708
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
Lukáš Tinkl
638676ed0b feat(Onboarding) Implement new Login screen
- implement the new UI and frontend logic of the Login screen
- integrate it (as a separate page) into the OnboardingLayout
- add SB pages
- add an integration QML test
- add some TODOs and FIXMEs for the existing and new external flows,
which will be covered separately in followup PRs

Fixes #17057
2025-01-23 17:41:43 +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
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
Michał Cieślak
07640e4bd9 Onboarding: metrics handling externalized 2025-01-14 10:49:42 +01:00
Michał Cieślak
c595e83605 KeycardAddKeyPairPage: built-in timeout removed 2025-01-14 10:49:42 +01:00
Michał Cieślak
ad1a1da369 SyncProgressPage: built-in timeout removed 2025-01-14 10:49:42 +01:00