Commit Graph

1660 Commits

Author SHA1 Message Date
Khushboo Mehta b3e336987c feat@(desktop/wallet): Launch SednModal when an address or ens name is detected in a 1-1 chat and validate it when launched
closes #16293
2024-09-23 11:20:56 +02:00
Khushboo Mehta 5771a33eaa feat(@desktop/wallet): Added feature flag FLAG_SEND_VIA_PERSONAL_CHAT_ENABLED for the send via personal chat feature
Also added logic in order to detect and highlight an address/ens name in the chat
2024-09-23 11:20:56 +02:00
Lukáš Tinkl 42423074de fix(MessageView): unbreak GIF unfurling
- need to refer to the RootStore singleton under an alias now

Fixes #16368
2024-09-20 16:37:24 +02:00
Lukáš Tinkl 894a5f19c9 feat(SendModal): add a spinner when resolving an ENS name
- update the SB page with the toggle too

Fixes #16355
2024-09-20 12:10:26 +02:00
Lukáš Tinkl 6a2b3faeb0 feat: add countdown pill to sign dialogs and make them unclosable
- show countdown until which the sign (WalletConnect and Swap) dialogs
expire
- after expiration, hide the Reject/Sign buttons and display a plain
Close button
- make the dialogs non-closable by clicking outside or pressing Esc; the
user has to explicitely click some of the footer buttons

Fixes #16327
Fixes #16314
2024-09-20 09:47:10 +02:00
Lukáš Tinkl 2739d2cf68 feat(CountdownPill): implement a countdown pill component
- shows the remaining time until expiration with the circular progress
bar and a tooltip
- configurable timestamp and timeout in seconds (between 5 min and 7
days)
- add the respective storybook page
2024-09-20 09:47:10 +02:00
Jonathan Rainville 3f8dfee3cd
refactor(community_tokens): only fetch holders when going to the page (#16308)
* refactor(community_tokens): only fetch holders when going to the page

Fixes #16307

Instead of fetching community token holders each time members change, we fetch when the page for the token is opened.
It shows a small loading text then the resulting holders.
If the list is already available (fetched previously, we show it directly).
There is still the timer to refresh the list if you stay on the page.

* add loading property to storybook
2024-09-19 16:32:38 -04:00
Dario Gabriel Lipicar ff45e76782 fix: use proper networks model for detection of offline chain providers 2024-09-16 18:00:33 -03:00
Anastasiya Semenkevich 7914688769 chore: add object names to actions 2024-09-16 17:20:36 +03:00
Anastasiya Semenkevich 2949e5ccd4 chore: group chat e2e test is fixed 2024-09-16 17:20:36 +03:00
Cuteivist 7cd2ed888c
Fix/remove send collectibles model 16328 (#16332)
* fix(wallet): Remove collectibles nested model

* fix(wallet): Remove collectible controller from send module
2024-09-16 13:21:25 +02:00
Lukáš Tinkl 0c6a602336 [StatusQ] Move StyledTextField to StatusQ
- and rename it and its usages to StatusTextField
- remove a couple of related and unused components

Fixes #16296
2024-09-13 16:40:47 +02:00
Cuteivist 69605f5965
fix: Use prefixes for address copy (#16230) 2024-09-13 14:19:26 +02:00
Lukáš Tinkl c5598d9ff9 chore(StatusMemberListItem): refactor to use ItemDelegate
- simpler, standard property based API
- much lighter than deriving from the heavy StatusListItem
- should reduce RAM usage significantly, esp. with large communities

Iterates #11059
2024-09-12 15:04:22 +02:00
Sale Djenic c4363be418 feat: fees update integration after calculating the initial route 2024-09-11 14:43:19 +02:00
Cuteivist ff9f272295
fix: Apply custom asset / collectible order (#16227) 2024-09-11 14:00:25 +02:00
Michał Cieślak 77fd4e78eb GifStore excluded from shared root store, StatusChatInput made indepedent from singeton stores
Closes: #16253
2024-09-11 11:26:30 +02:00
Michał Cieślak 9f94940a70 getSelectedTextWithFormationChars moved from store to utils and deduplicated 2024-09-11 11:26:30 +02:00
Michał Cieślak 3f4715ccdd Unused hex2Dec, hex2Eth and hex2Gwei removed from shared RootStore 2024-09-11 11:26:30 +02:00
Lukáš Tinkl 0a1ebb69bd fix(StatusSeedPhraseInput): accept a common prefix suggestion
- fix for a corner case prob when there was a valid seedphrase word
(e.g. cat) that is at the same type a prefix for other valid suggestions
(e.g. category, catalog, ...); it was imposible to select it using Enter
key or mouse click from the suggestions popup at the last field
- add a QML regression test for this issue
- use standard subcomponents (StatusDropdown, StatusListView) reducing
code duplication and unifying UI/UX

Fixes #16291
2024-09-10 16:00:40 +02:00
Alexandra Betouni ce525890eb fix[StatusChatMenu]: updated menu options as per designs
Closes #13393
2024-09-10 14:22:33 +02:00
Cuteivist e87a4f947e
feat: Show send error message inside the SendModal (#16258) 2024-09-09 13:29:40 +02:00
Lukáš Tinkl e58ae2c213 feat: Add external link to download extension plugin
- add a local popup with selection between "Status Connector" (external
link to Chrome Store) or "Wallet Connect" (the old flow involving
inputting the WC URI)
- simplify DAppsListPopup to use StatusDropdown to reduce code
duplication
- adjust SB and QML tests

Fixes #16111
2024-09-05 11:22:52 +02:00
Michał Cieślak afd16d6f6c TokenSelectorButton excluded from TokensSelector, sizing issues fixed 2024-09-05 08:55:15 +02:00
Lukáš Tinkl 5cf4592c3b fix: Slippage Selector Issues
- add various error/warning messages according to Figma (where it makes
sense)
- letters or more than 2 decimals are caught by the internal validator
so those combinations are impossible to enter
- fix marking the custom value as (in)valid
- fix selecting "Use default" after typing a custom value
- fix resetting to predefined value after typing a custom value that
matches one of the predefined ones
- reject typing thousands separator
- add regression QML tests for the above fixes

Fixes #15017
2024-09-03 17:36:48 +02:00
Lukáš Tinkl 9d9fb69e3b feat(StatusEmojiPopup): reimplement around C++ EmojiModel
- the new C++ EmojiModel provides a simple wrapper around the existing
JSON to facilitate a faster access and to be able to search/filter in
QML using SFPM
- no more nested GridViews inside Repeaters
- get rid of emoji manipulation and search/filter using JavaScript
- included the C++ script to generate the emojiList.js
2024-09-03 10:19:54 +02:00
Lukáš Tinkl 19e0be07d8 feat: Upgrade emoji selection to support latest emojis
- upgrade to latest TWEmoji 15.1.0 from
https://github.com/jdecked/twemoji (the original twemoji is abandonware
now)
- create new EmojiJSON metadata from https://github.com/milesj/emojibase
- removed unused 26x26 assets
- add storybook page for StatusEmojiPopup

Fixes #8979
2024-09-03 10:19:54 +02:00
Lukáš Tinkl 7c184f3500 fix(StatusChatInput): set max number of images to 6 to align with mobile
- re-evaluate the validators to be able to hide the warning after 3
seconds (the validators won't let the user select/paste an invalid
image; it's just the warning bubble that persisted)
- some small cleanups

Fixes #16210
2024-08-30 18:26:59 +02:00
Michał Cieślak 4ac9a9b305 copyImageToClipboardByUrl moved to ClipboardUtils 2024-08-29 15:46:17 +02:00
Michał Cieślak 9c3b8fc34b Use ClipboardUtils.text instead of backend-dependent getFromClipboard 2024-08-29 15:46:17 +02:00
Michał Cieślak a8940a71f5 Using ClipboardUtils.setText instead of nim's copyToClipboard 2024-08-29 15:46:17 +02:00
Michał Cieślak 7757f4e615 QClipboardProxy QML type renamed to ClipboardUtils
Additionally, copyTextToClipboard is renamed to setText, mimicking
QClipboard naming.
2024-08-29 15:46:17 +02:00
Anastasiya Semenkevich a7cb7376dd tests: use own profile link in messages so the information is not gone after 30 days 2024-08-27 14:50:29 +03:00
Seitseman 2275fe4f1f fix(Stored): Make stores typed
Adding types instead of var for stores used in qml components

Closes: #14801
2024-08-27 10:52:18 +02:00
Andrey Bocharnikov d3131c2bb9 fix(community): Missing community owner token image
fixes #15855
2024-08-23 11:03:45 +07:00
Lukáš Tinkl e868f335aa feat(Settings/Privacy and security): add Privacy Policy popup
- mention the "Privacy Policy" document in the text explaining "Help us
improve Status", make a link to it and display it in a separate popup
- add a standalone header button to the settings page, doing the same
- extend storybook page with the "placement" param

Fixes #16157
2024-08-21 15:28:11 +02:00
Cuteivist 67cf522f0a
fix(wallet): Fill bridge tx type (#16162) 2024-08-21 14:49:12 +02:00
Sale Djenic f3a33f414d fix: can't add ens name as watched address
Fixes #13902
2024-08-21 12:08:26 +02:00
Jonathan Rainville 42a9530452
feat(metrics): add onboarding screen metrics and section navigation (#16112) (#16145)
* feat(metrics): add onboarding screen metrics and section navigation

Fixes #16100

Adds metrics for navigating to the different screens of the onboarding and when navigating to a new section while logged in; only when enabled of course.

I refactored the code a little to make it simpler. I moved the check to see if the metrics collection is enabled in the async task itself, so we don't have to check it each time we add a new metric

* fix metric sent from module

* review comments

* add flowtype
2024-08-19 12:52:17 -04:00
Lukáš Tinkl 7c10b16b67 chore(AmountToSend): AmountToSendNew is dead, long live AmountToSend 2024-08-17 09:39:42 +02:00
Lukáš Tinkl 114abc7015 chore(swap): port SwapInputPanel to AmountToSendNew
- adjust the API calls
- fixup the tests
2024-08-17 09:39:42 +02:00
Lukáš Tinkl 7ddbcf926b chore(AmountToSendNew): expose some more properties
- like cursorVisible or fiatInputInteractive
- add support for "loading" overlays
2024-08-17 09:39:42 +02:00
Khushboo Mehta b20cb42def \fix(@desktop/wallet): Fix register ENS flow which is currently broken 2024-08-16 09:04:54 +02:00
Igor Sirotin e279e639a4
chore: new parameters for local pairing (#15943)
* wip

* chore: cleanup variables

* chore: cleanup

* fix: remove defaultWalletEmoji

* chore: update status-go

* chore: update status-go
2024-08-15 18:36:32 +01:00
Sale Djenic 20f30a52fd fix: keycard signing integration into wallet connect flows
Fixes: #15957
2024-08-12 19:52:04 +02:00
Sale Djenic b8ffa65113 chore: display generic error returned from the router 2024-08-12 12:53:58 +02:00
Lukáš Tinkl 7f4ca098de fix(SendModal): hide the Custom network mode in `production`
- manage the lifetime of the Custom tab button dynamically; setting the
tab button to `visible: false` doesn't unfortunately remove it from the
tab bar

Fixes #16052
2024-08-12 09:46:21 +02:00
Valentina Novgorodtceva b4ef71142e test: share wallet address test and default account values in send/receive/bridge 2024-08-09 11:14:54 +03:00
Jonathan Rainville 0470723a5d
feat(@desktop/metrics): send basic metrics (#15803) (#16040)
Issue #15737

Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>
2024-08-08 16:53:49 -04:00
Lukáš Tinkl 7025938398 fix(MessageView): Clipboard after editing a message
- update the `unparsedText` after having edited the message; it is used
for copying the msg text to clipboard
- some cleanups

Fixes #15129
2024-08-08 17:59:28 +02:00
Michał Cieślak a0a688c3e4 Wallet: swap/bridge buttons visibility adjusted
Closes: #15952
Closes: #15931
2024-08-08 17:29:29 +02:00
Sale Djenic 2d0c62ba9d feat: limits applied when running keycard flows that add new key pairs/accounts 2024-08-08 10:28:30 +02:00
Sale Djenic 77ca8761a6 feat: some limits for wallet section
Added limitations:
- allowed adding of max 20 accounts
- allowed adding of max 3 watch only accounts
- allowed adding of max 5 key pairs (including the profile key pair)
- allowed adding of max 20 saved addresses per mode

Closes #15934
2024-08-08 10:28:30 +02:00
Alex Jbanca 833848188c fix(WalletConnect): Fixing disconnect notifications
The disconnect notifications were operating on `WalletConnectService.currentSessionProposal`. This object stores the current session object on connect, but it's not necessarily the same session the user wants to disconnect.
To fix this I'm getting the active sessions from status-go when the disconnect request is received (from Status or dapp). If the topic matches to any connection topic owned by the users accounts we'll show a notification.

(cherry picked from commit fea4e8ed76)
2024-08-08 09:47:20 +03:00
Alex Jbanca 6a7b0c0289 fix: Remove possibility to add watch accounts on release
(cherry picked from commit 566a954935)
2024-08-07 19:17:16 +03:00
Lukáš Tinkl ed650d32dd chore: Remove the Browser from the app completely for now
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests

Fixes #14614
2024-08-07 16:45:31 +02:00
Roman Chornii 4ba3cea925
fix(dApps): improved logic for the connected dApps list to always display as many dApps as possible. (#15837) (#15992)
Fixes: #15595.
2024-08-06 09:55:00 -04:00
Roman Chornii 6aa6746de2
fix(dApps): Improved handling of connected dApps. (#15985)
1. Hiding DApps button on not supported wallet account selection
2. Filtering DApps in connected dApps list based on account selection

closes: #15589
closes: #15647
2024-08-05 16:41:20 +03:00
Lukáš Tinkl 6159f53839 fix: Add additional information to the Beta tags
- display additional beta information as a tooltip
- don't overlap the Beta badge with the unread msg indicator
- some minor cleanups & fixes

Fixes #15795
Fixes #15929
2024-08-05 15:39:51 +02:00
Lukáš Tinkl b67ea6643a fix(SendModal): Bridge modal Simple mode's scroll is very clunky
- remove the nested unneeded ScrollView
- cleanups and fixes in mocked models and stores to unbreak showing the
networks/routing in storybook

Fixes #15902
2024-08-02 18:24:29 +02:00
belalshehab b8bc0a9631 fix(wallet): Disable adding new watch-only accounts
closes: #15933
2024-08-02 12:00:41 +03:00
Lukáš Tinkl 40f7aff086 fix: inconsistent/incorrect decimal value formatting
- format Big decimal numbers correctly according to the current locale;
some precisions loss is tolerated here for the display purposes
- fixes wrong decimal separators in some places and aligns with the
standard in terms of number of decimals, as everywhere else in the app

Fixes #15612
Fixes #15790
2024-08-01 15:35:52 +02:00
Lukáš Tinkl 24dd67e6dd fix(Wallet): Hiding assets from wallet's main view doesn't work
- partially reuse the already available Global/Popups methods to hide
assets (which also emit proper notifications); those are needed as
anotehr shared modal from Popups uses it too (may come from outside of
Wallet)
- some warnings cleanup in the controller

Fixes #15777
2024-08-01 12:12:48 +02:00
Sale Djenic 0c4b7e92a0 fix: tx fails if the bonder fee is higher than the amount being sent
Closes #15922
2024-07-31 16:59:33 +02:00
Cuteivist 20620e04cf
fix(wallet): Repeat transaction updates (#15571) 2024-07-31 13:58:05 +02:00
belalshehab 5d4afba07f fix(wallet)_: Filter non-bridgeable assets in Bridge Modal
- Implemented a bridgeableGroupedAccountAssetsModel in WalletAssetsStore.qml to dynamically filter assets based on their bridgeability.

closes: #15697
2024-07-31 12:43:24 +03:00
Cuteivist dd25572c28
fix(wallet): Constrain token name size to send modal width (#15859) 2024-07-31 06:53:43 +02:00
Lukáš Tinkl 4dbae17bb9 fix(ConnectDAppModal): don't overflow texts
- set the correct widths and elide mode
- fixup the visuals of the NetworkFilter combo box (to disable it w/o
making it look disabled)
- fix passing the connection status down to DAppCard
2024-07-31 00:10:10 +02:00
Jonathan Rainville 298a6c3477
chore(beta): add beta tag to pairing screens (#15873) (#15901)
Fixes #15871

Adds a beta tag to the pairing screens on onboarding and settings
2024-07-30 12:55:03 -04:00
Sale Djenic fdd743a817 feat: checksum validation added to adding watch only address
Fixes: #15779
2024-07-30 18:17:53 +02:00
belalshehab 955c8f6580 fix(wallet)_: Disable send button on router errors & visually indicate gas issues
* Disable the send button when the router returns errors.
 * Display a red arrow on networks lacking sufficient gas for the transaction.

Closes #15700 #15701
2024-07-30 18:32:58 +03:00
Lukáš Tinkl fbb112f64b fix(DAppSignRequestModal): correctly compute text painted height
- fixes text overflowing the box height

Fixes #15650
2024-07-29 16:48:22 +02:00
Lukáš Tinkl 0e0b264f4d fix(ConnectDAppModal): add scrolling
- wrap the contents into a scroll view and don't hardcode the height

Fixes #15592
2024-07-29 13:04:09 +02:00
Sale Djenic 8424cb5b87 chore: send modal adjustments
Closes #15833
2024-07-29 10:54:53 +02:00
Sale Djenic 207902589d chore: build the error reporting mechanism
Closes #15396
2024-07-29 10:54:53 +02:00
belalshehab 1aa2221834 fix(wallet)_: Temporarily disable Max Amount button pending #15709
- This commit temporarily disables the MaxAmount button in the `SwapInputPanel` and `SendModal` components.
     - The MaxAmount button will be reintroduced with the correct behavior in issue #15709 for the 2.31 release.

closes: #15710
2024-07-25 17:53:40 +03:00
Sale Djenic db77654274 fix: buying stickers doesn't work and popup may be misleading for the user
Closes: #15764
2024-07-25 10:30:31 -04:00
Lukáš Tinkl 0c9d4133a8 fix(SwapModal): ErrorTag looks wrong
- wrap the ErrorTag in a Loader, and set the width from there
- added tests for the component width with/without the button

Fixes #15788
2024-07-25 15:11:29 +02:00
Roman Chornii 4bbdeba020
fix(dApps): Added default dApp icon according to the new spec. Extracting dApp name from its url, if no name is provided through walletconnect API. (#15754)
Closes #15593
2024-07-25 15:43:52 +03:00
Stefan e574524b9c feat(dapps) don't allow user selection of networks while connecting
The requirements are that we allow all available networks
to Wallet Connect
Also temporarily disable the tests that validate selection working

Closes: #15638
2024-07-25 12:55:29 +02:00
Stefan f6ae5ceabe fix(dapps) Wallet Connect url validation
The static url validation state `Pairing.errors.ok` was directly
responsible for the validation action in UX. With current change
the validation is now based on the pairing response. When the
pairing response is received the UX is validated and after half second
UX is moved to the approval process (`ConnectedDAppModal`)

Closes: #15591
2024-07-25 12:55:29 +02:00
Lukáš Tinkl 8e0aed35e8 fix(StatusStickerPackClickPopup): display correct detailed contents of a sticker pack
- just use the `model.stickers` to access the submodel, remove dead NIM
code
- make sure that the installed sticker packs are loaded, even before
first opening the Sticker popup
- StatusStickerMarket: fix the back button
- fix launching the Buy stickers modal (SendModal)

Fixes #15718
2024-07-25 11:31:46 +02:00
Cuteivist 408073c7d2
fix(wallet): Show amount for mint activity (#15611) 2024-07-24 21:19:51 +02:00
Michał Cieślak 16e55505c0 fix(Wallet/AssetsView): Properly filter by account/chain
Closes: #15683
2024-07-24 14:41:18 +02:00
Lukáš Tinkl 765b526493 fix(SwapModal): Buy button not resizing with text
- also limit the max width in order for the ErrorTag not to overflow the
modal width

Fixes #15687
2024-07-24 13:52:21 +02:00
Michał Cieślak 166a0376ff fix(SendModal): Allow to send 0
Closes: #15720
2024-07-24 01:21:20 +02:00
Ivan Belyakov 20f6ed3374 fix(wallet): network name in transaction details header
Closes #15725
2024-07-23 15:18:04 +03:00
Cuteivist 047f558cd1
feature(wallet): Token preferences in assets model (#15706) 2024-07-23 14:00:49 +02:00
Michal Iskierko 52fe774975 feat(@desktop/metrics): Show metrics popup when starting application
Adding local setting: metrics_popup_seen
Small refactoring: showing popup from main.qml
Showing popup: 1. on welcome screen, 2. in Settings/Privacy page and 3. after login when the popup has not been shown yet

Issue #15628
2024-07-23 10:59:03 +02:00
Michal Iskierko a26657bbca feat(@desktop/metrics): Add metrics management page
Add new settings page for metrics management - Privacy and security
Add popup to enable/disable metrics on Onboarding and Privacy screens
Add MetricsStore in QML

Issue #15490
2024-07-23 10:59:03 +02:00
Sale Djenic 989e5a90e6 fix: recalculation is not happening when changing amounts in custom bridge flow
Fixes: #15699
2024-07-23 10:50:52 +02:00
Dario Gabriel Lipicar 9d441fcff9 feat(@desktop/wallet): add support for approve and swap activity entries
Fixes #14836
2024-07-22 21:12:38 -03:00
Stefan e57f7552d9 feat(dapps) make wallet connect request data human readable
Notify user if he doesn't hold enough funds to make the transaction
Also check fees funds including the amount to be sent

Closes: #15192
2024-07-23 00:24:22 +02:00
Lukáš Tinkl 9c90f0eab5 fix(Sync): unbreak sync instructions page layout
Iterates: #14668
2024-07-22 19:33:56 +02:00
Dario Gabriel Lipicar 83db905e28 feat(swap): added more explicit error messages
Closes #14956
2024-07-19 16:40:22 -03:00
Godfrain Jacques 6eeb917cd7
feat(connector)_: create connection between connector service and status-desktop (#15565)
fix #15179 that triggers connection request from client

 - Setup the initial architecture for connecting Status-go and UI
   screens
 - Implement the request Connection popup for Accept or Rejecting
   connection
2024-07-19 12:21:36 -07:00
Alex Jbanca 32aff401d6 fix(SendModal): Various issues fixed
1. Bridge panel not showing
2. Max button value when showing the fiat balance
3. Wallet footer visibility when Swap feature is disabled
2024-07-19 19:53:31 +03:00
Alex Jbanca 417a74d4b1 fix(SendModal): Fixing "Repeat transaction" action in Activity view and Activity details view 2024-07-19 19:53:31 +03:00
Alex Jbanca 7926d1f748 chore(SendModal): Use accountAddress to preselect the account instead of account model item
Updating the SendModal to receive an accountAddress to preselect the account instead of the account item model

to squash: Fix account selection. by address
2024-07-19 19:53:31 +03:00
Alex Jbanca 663fd91425 chore(AccountSelector): Default to the first item in the account selector when the pre-selected address is not found in the model
There are cases when the AccountSelector can receive invalid address in the input API. In this case we'll default to the first selected item
2024-07-19 19:53:31 +03:00