Commit Graph

1639 Commits

Author SHA1 Message Date
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
Alex Jbanca 1b67063eac fix(AssetsView): Align the selected chains data type in the assets view with the nim property
Nim chain selection is a colon separated string, but the assets adapter expects a chainId array for the selection
2024-07-19 19:07:51 +03:00
Michał Cieślak 1e88756c13 SendModal: new AmountToSend initial integration
- new AmountToSend used in SendModal
- MaxSendButton simplified

Closes: #15207
2024-07-19 17:27:08 +02:00
Michał Cieślak 613fa4d19f feat(SendModal): New AmountToSend component
In comparison to the previous version it provides simpler API
and better validation based on AmountValidator.

Old version will be removed after full integration of the new version.
2024-07-19 17:27:08 +02:00
Lungu Cristian 05287c873a
fix(walletconnect)_: tx fees not sent (#15678) 2024-07-19 16:33:22 +03:00
Ivan Belyakov 2f9bf48856 fix(wallet): fix balance chart to display chart for tokens
Replace missing methods calls of chart after it was replaced with a different
component.
Update chart on networks change.
Fix data for all chains requested - both test and real networks.
Fix some unrelated qml errors
2024-07-19 12:34:06 +02:00
Stefan 248ba1c1c8 feat(dapps): Add support for max fees in WalletConnect requests
Compute max fees for transaction related requests and display the
results to user.

Also:

- Add helper to convert from hex (backend) to decimal (frontend) values.
- Add helper to convert from float gwei to hex wei
- Update tests to accommodate for the new dependencies.

Sourcing of account balances is not included therefore the transaction is
allowed to go through even if the account balance is insufficient. An error
will be generated by the backend in this case.

Updates: #15192
2024-07-19 10:02:50 +02:00
Stefan 4341cfb4d2 feat(dapps) reject request on closing of modal
Closes: #15585
2024-07-18 17:15:24 +02:00
Valentina1133 2b415bdc53
test: block and unblock user test added (#15577) 2024-07-18 17:57:24 +07:00
Igor Sirotin e580953b81
fix: removed duplicated wallet conect icon (#15625)
* fix: removed duplicated wallet conect icon

* fix: qrc path
2024-07-18 09:02:07 +01:00
Cuteivist 55b2224593
fix(wallet): Validate decimals for crypto when sending (#15523) 2024-07-17 18:48:16 +02:00
Noelia 34730eb9ff fix(Wallet/BridgeModal): Some small UI fixes to be more accurate to the new design and better UX
- Network item hover color, selected item border and background changed to have a better UX and being more accurate to the new design.
- Disabled option of unchecking networks. At least, always one should be selected.
2024-07-17 16:54:25 +02:00
Noelia 480a3ed182 fix(Wallet/BridgeModal): Incorrect preselected recipient value and network model for bridge
- Fixed incorrect preselected recipient object for bridge modal.
- Fixed network model assignment for bridge.

Fixes #15629
2024-07-17 16:54:25 +02:00
Cuteivist 00fd183a33
chore: Revert binding workaround (#15572) 2024-07-15 11:44:26 +02:00
Roman Chornii c4d930ef88
fix(dapps) fail to process a transaction if missing usual fields (#15481)
Updates: #15189

Co-authored-by: Stefan <stefand@status.im>
2024-07-15 12:23:35 +03:00
belalshehab 20f1bfa0ea fix(wallet)_: filter out non-transferable collectibles in send modal
Description:
Enhanced the SendModal.qml to filter out non-transferable (soulbound) collectibles from the send model. This ensures that only transferable collectibles are displayed when sending.

Changes:

Updated SendModal.qml to include a SortFilterProxyModel with a ValueFilter.
The ValueFilter targets the soulbound role and filters out collectibles with soulbound set to false.
Issue:

Closes #14578
2024-07-12 19:40:48 +03:00
Roman Chornii 52b1cc3824
fix(statusProfileNavBarTabButton): Fixed backgound color and ring for… (#15534)
* fix(statusProfileNavBarTabButton): Fixed backgound color and ring for StatusNavBarTabButton that's displayed at left bottom of the main window.
Fixed signal typo in CommunityTokensStore.
Closes #15479.

* fix(CommunityTokenStore): fixed signal handler name on qml side.
2024-07-12 16:57:04 +03:00
Stefan fae3d14d50 feat(dapps): fetch max fees per gas from blockchain if not provided
Updates: #15192
2024-07-12 15:39:41 +02:00
Stefan 4deea3461f feat(dapps): show estimated time for dApps requests
Implemented using the fees from the transaction data sent
by the dApp.

Also fixed the nim status go wrapper to send proper formatted
string as expected on the other side.

Updates: #15192
2024-07-12 15:39:41 +02:00
Michał Cieślak be1c6ba2ad chore(StatusQ): Backpressure files deduplicated, imports adjusted
Closes: #15558
2024-07-12 14:00:15 +02:00
Michał Cieślak ed8c727673 chore(SendModal): Qualified import for StatusQ Utils 2024-07-12 11:10:37 +02:00
Michał Cieślak 3503a60f07 chore(SendModal): SendModalAssetsAdaptor removed because it's replaced by TokenSelectorViewAdaptor 2024-07-12 11:10:37 +02:00
Michał Cieślak 4bf2f4df7a Wallet(SendModal): Old HodlingSelector and TokensListView removed 2024-07-12 11:10:37 +02:00
Michał Cieślak f6320f69cb Wallet(SendModal): New tokens selector intially integrated
Closes: #15512
2024-07-12 11:10:37 +02:00
Alex Jbanca ca8a0028a8
feat(WalletConnect): Implement sign request modal (#15520)
* feat(WalletConnect): Implement sign request modal

1. Implementing sign request modal based on SignTransactionModalBase
2. Adding storybook page
3. Integrate it in the app
4. Removing DAppRequestModal
5. Update RoundImageWithBadge to preserve aspect ratio between badge and main image

* fix(WalletConnect): Remove unneeded properties from WalletConnectService API

Removing `selectedAccountAddress` and `loginType`. These properties are now passed through DAppsWorkflow API

* fix(WalletConnect): Removing unnecessary changes
2024-07-12 00:00:15 +03:00
Valentina Novgorodtceva 01b4d1305d test: verifications for share profile popup added 2024-07-11 16:56:27 +03:00
Noelia c8744cf3bf tests(qmlTests/RecipientSelectorPanel): Basic suite for `RecipientSelectorPanel`
Just some basic test cases. It needs a second step to add more interesting coverage.
2024-07-11 14:05:55 +02:00
Noelia bc74724672 refactor(Wallet/SendModal): Created `WalletAccountsAdaptor` to be used in `SendModal`
- Created data transformation file called `WalletAccountsAdaptor` for `SendModal`. Now it contains the owned wallet accounts model data transformations.
- Added common formatting method for short chain ids to some utils and partially removed backend dependency.
2024-07-11 14:05:55 +02:00
Noelia 18e230bf91 refactor(Wallet/SendModal): Selected Recipients component review, backend dependencies cleanup
- Component name changed to be more precise with what it represents.
- Removed `RootStore` dependency from `Helpers.qml`.
- Removed unnecessary method `lookupAddressObject` from `RootStore`.
- Updated `SendModal` property bindings related to recipient.
- Some activity controller interaction details moved to transactions store instead of being directly in `SendModal`.
- Type enum living in `RecipientSelectorPanel` is moved to `Helpers`. Since it doesn't depends on the specific component and it's used in other global places.

Part of #15208
2024-07-11 14:05:55 +02:00
Cuteivist b4059b1f7d
chore: Refresh pre selected account property (#15503) 2024-07-10 11:03:32 +02:00
Cuteivist bc736257d1
fix(wallet): Show route amounts in network cards (#15441) 2024-07-10 11:02:35 +02:00
Cuteivist 64f3ec67dd
fix(wallet): Reset value when chain is disabled in custom mode (#15452) 2024-07-10 11:02:24 +02:00
Lukáš Tinkl 8504fb55a1 chore[UI - Wallet Stability] Rename SendModalFooter to TransactionModalFooter
... and remove particular code for send modal

- derive the footer from the standard `StatusDialogFooter` to reduce
code duplication (drop shadow, divider, margins, etc)
- rename the default button text
- expose the icon name and make it used the correct login/auth type icon
- some minor fixes and cleanups

Fixes #15212
2024-07-10 10:29:05 +02:00
Stefan 136194c112 feat(dapp) handle pairing errors or timeout if no response
Found out while testing that in some corner cases there will be no
response of error in case of pairing. This is handled now by showing
a generic error message. The implementation is using a timer to handle
this case.
Extend the logic to report errors in the pairing process.

Closes #14676
2024-07-09 19:21:09 +02:00
Stefan 1e256c8bf1 feat(dapps) fail on Wallet Connect unsupported networks
Also extend the generic error handling of approval errors

Updates: #14676
2024-07-09 19:21:09 +02:00
Stefan 15b2c084d2 feat(dapps) check Wallet Connect pair uri for already used and expired
Refactor and bring all the error check back to services
Automate pairing procedure and move to the connect dialog
if uri was validated

Updates: #14676
2024-07-09 16:11:23 +02:00
Stefan 3049c6016b feat(dapps) extend and improve sign
Extend support for legacy `eth_sign` and `eth_signTypedData`
methods.
Keep the `eth_sign` using the legacy method for compatibility

Use the newly added status-go apis for a safer implementation
of signing typed data by providing chain validation.

Closes: #15361
2024-07-09 15:01:27 +02:00
Michał Cieślak 4a6257282e feat(Wallet): New tokens selector and related adaptor
Closes: #15121
2024-07-09 13:13:52 +02:00
Lukáš Tinkl 84ac6e5902 chore(InformationTag): fix asset color
- it wasn't suitable for dark mode
2024-07-09 12:06:49 +02:00
Khushboo Mehta 429a2af66e feat(@desktop/wallet): Display for L1 fees on a transaction as per design
fixes #14208
2024-07-09 12:04:25 +02:00
Lukáš Tinkl d3b2f23fe0 fix(TabAddressSelectorView): fix propagating roles from one model to another
- namely fixes the wallet account color and keycard decoration
- adjust mock model to contain the needed role (for keycard icon)
2024-07-08 21:16:53 +02:00
Lukáš Tinkl 48d8846e29 chore: factor out and create new `SendRecipientInput` component
- some minor visual fixes (padding & clear button color)
- make it always paste plain text, eventhough the base component has to
stay RichText
- use it in SendModal->RecipientView
- add a storybook page
- added QML tests

Fixes #15252
2024-07-08 21:16:53 +02:00
Lukáš Tinkl 9fcb54cb74 chore: unbreak showing SendModal assets in StoryBook
- unbreak passing the controller into the adaptor; can't be strongly
typed as that hides all the assets (always returns `false` from the
`visible` property)
- fix selecting account address (var account -> string accountAddress)
- fix the mocked account model to contain the needed `canSend` role, fix
the mocked check function
- fix showing community assets and balance threshold
2024-07-08 21:16:53 +02:00
Ivan Belyakov e45961232b fix(wallet): cross chain send transaction is detected now as send not
bridge
2024-07-08 15:18:57 +02:00
Igor Sirotin 8b80cfb9e3
feat: display message outgoing state (#15450)
* chore: storybook page

* feat: propagate outgoing status to StatusMessageHeader

* feat: improve message outgoing status UI

* fix: lock message `delivered` state
2024-07-08 13:26:04 +01:00
Alex Jbanca b3df5476c7 feat(dApps): Fine-tune dAppsListPopup
1. Updating alignments
2. Adding scrolling effects
3. Updating storybook page
2024-07-06 11:27:28 +03:00
Stefan 06184e4d95 fix(dapps) fail to process a transaction if missing usual fields
Updates: #15189
2024-07-05 17:48:30 +02:00
Stefan dbd96133a5 feat(dapps) update persistance from the SDK on sessions refresh
Updates: #15189
2024-07-05 17:48:30 +02:00
Stefan 94dc7b04a5 feat(dapp) disconnect wallet connect dapps
Closes: #15189
2024-07-05 17:48:30 +02:00
belalshehab 41ba77e525 fix(wallet)_: SendModel scrollbar overlaps with tokens
- Adjusted StatusListItem height to account for scrollbar visibility by adding 16 pixels to contentHeight when tags are visible.
- Set tagsScrollBarVisible to true in TokenListView to ensure the scrollbar is displayed as needed.

fixes: 13620
2024-07-05 12:14:52 +03:00
Alex Jbanca 2f050a025f feat(WalletConnect): Fine-tune connect dApp modal
Changes:
1. Align dialog with Figma design
2. Add new components for round image with badge and connection status tag
3. Add tests
4. Dapps service will now receive wallet `RootStore` as input and reuse existing models with account balance and other necessary info for account selection and chain selection
5. Minor updates in stores
6. Minor updates in WC toast messages to display app domain instead of app url
2024-07-05 01:03:23 +03:00
Roman Chornii 85846c88e9
feat(dapps): Implemented Loading state while processing URL (#15346)
Closes #14675.
2024-07-04 16:33:05 +03:00
Roman Chornii 03f8f80c56
feat(dapps): Implemented hovering and proper image color for dapps item delegate. (#15408)
Enabled walletconnect qml tests.
Closes #14760
2024-07-04 16:32:04 +03:00
Jonathan Rainville 459bbf7cc9
fix(edit): fix message contentType when editing (emoji or message) (#15364)
Fixes #15348
2024-07-03 14:08:42 -04:00
Cuteivist c934ba74ef
feat(wallet): Networks model improvements (#15305)
* refactor getters for chainIds and enabledChainIds
* simplify community chainIds getter
* simplify usage of network dto objects
* remove duplicated roles from send area
* rename network model in send module to network route model
2024-07-03 10:51:15 +02:00
Alex Jbanca 4bcda69d4a feat(WC-establish-connection): Fine-tune dApps button
1. Transform the dApps button into a combo box and add badge indicator + tooltip
2. Add storybook page
3. Adding tests
4. Minor fixes - dApps popup width, ModelUtils imports
2024-07-03 11:03:18 +03:00
Cuteivist c59ac4f3f0
feat(wallet): Wallet accounts model improvements (#15213) 2024-07-03 05:55:05 +02:00
Cuteivist e199e7f9da
fix(wallet): Added adaptor to properly refresh send modal total balances (#15409) 2024-07-02 14:22:20 +02:00
Stefan 97413d99d1 feat(dapps) implement eth_sendTransaction support for wallet
Add `Fees` section to request modal

Closes: #15126
2024-07-02 09:24:09 +02:00
Khushboo Mehta e2949ad6e7 feat(@desktop/wallet): Implements Approve spending cap
fixes #14833
2024-07-02 00:14:19 +02:00
Lukáš Tinkl 531252fd73 [UI - Swap] Update / improve AccountsSelector component to cover swap design specs
- sort accounts by total currency balance, irrespective of the tokens
held
- fixup 0 sub-balance formatting

Fixes #14779
2024-07-01 19:57:01 +02:00
Sale Djenic 7e9f680e0b chore: router v2 integration
Closes: #15204
2024-07-01 16:19:15 +02:00
Roman Chornii b005a5606e
feat(DAppsCopyUriInstructions): implemented popup with the instructions (#15354)
how to copy URI of DApps into Status app.
Closes #14677
2024-07-01 14:34:30 +03:00
Khushboo Mehta 5e8f7515cf feat(@desktop/wallet): Swap: Switch input/output params
fixes #14827
2024-07-01 11:46:07 +02:00
Lukáš Tinkl 13815bf81c [SendModal] fix pasting an address
- validate input also when pasting via the button (extract to a common
function)
- show the Paste button only when the input is empty and we have sth to
paste actually and prevent it from stealing focus
- upon clicking the Paste button, put focus on the input field
- after pasting, set the cursor past the end of the text

Fixes #14576
2024-07-01 10:21:33 +02:00
Andrey Bocharnikov 588be3c60e fix(airdrop): Incorrect default amount when airdropping a community token or setting token permission
(regression after a12a6a48)

fixes #15264
2024-06-26 21:39:08 +07:00
Stefan 92d0420449 feat(dApps) implement sign transaction for wallet connect
Uses status-go's endpoints:
- `wallet_buildTransactions` to format the transaction
- `wallet_signMessage` to sign the transaction
- `wallet_buildRawTransaction` to format the final signed transaction

Updates #15126
2024-06-26 12:00:54 +02:00
Stefan dfe53c4c7c chore(dApps) support multiple actions in DAppRequestModal
Also fix minor issue and add improvements

Updates #15126
2024-06-26 12:00:54 +02:00
Lukáš Tinkl 42533b8c61 feat:[UI - Swap] Create new TokenSelector component
- create new dedicated (asset) token selector component
- integrate it into `SwapInputPanel` and `SwapModal`
- add respective SB page and QML tests suite

Fixes #14783
2024-06-25 13:06:57 +02:00
Valentina Novgorodtceva afde836517 test: replaced old test of sending request to send/accept/decline request and remove contact 2024-06-24 16:24:57 +03:00
Alex Jbanca 901362dfc1 feat(networkSelector): Refatoring of NetworkSelector to remove backend dependency 2024-06-21 16:18:51 +03:00
Alex Jbanca 8b4cbc59a8 refactor: Refactoring of AccountSelector dropdown
The new account selector expects a generic account model. It will display all the account data if provided, including preferred chains, balance or asset balance. Otherwise it will display only the available data.
The account selector can receive an initial selection based on account address and will provide the current selected address and the current selected model item.

- Unify the account selector between communities and wallet
- Update the account selector to work with addresses instead of model indexes
- Adapt all components using the account selector or the account selection
- Move/reuse qml components involved in the account selector UI
- Remove nim logic used to handle index based account selection.
- Adding storybook page
2024-06-20 11:24:35 +03:00
Khushboo Mehta 0645ed4712 fix(@desktop/wallet): solving the issues with SwapInputPanel list in the issue
fixes  #15162
2024-06-19 17:20:22 +02:00
Michał Cieślak d700a1ad53 chore(Wallet): AssetView replaced with the refactored version
Closes: #14704
Closes: #14939
2024-06-19 16:36:18 +02:00
Michał Cieślak 38914df0f0 chore(Wallet): Integrate refactored AssetView and related adaptor 2024-06-19 16:36:18 +02:00
Michał Cieślak b12caa3f9a feat(Wallet): AssetsViewAdaptor added for preparing data for AssetsView 2024-06-19 16:36:18 +02:00
Michał Cieślak 436ae9f1f3 feat(AssetsView): business logic not related to ui removed 2024-06-19 16:36:18 +02:00
Khushboo Mehta 5c1e800f14 feat(@desktop/wallet): Add Select Input and output params to swap modal
fixes #14826, #14825
2024-06-19 12:47:26 +02:00
Lukáš Tinkl a12a6a4894 feat[UI - Wallet Stability] Create generic/reusable assets listview component
TLDR: later this should form a basic building block for a new
TokenSelector picker component, potentially replacing the current
HoldingSelector* and TokenListView components (support for collectibles
TBD as part of https://github.com/status-im/status-desktop/issues/15121)

- create reusable `TokenSelectorAssetDelegate` and `TokenSelectorView`
- add corresponding SB page, showcasing the flow/integration and the
separation of concerns between the view, adaptor and delegate layers
- add QML testcase for TokenSelectorView
- don't display crypto symbol for token balances per chain tags
- update the stores and SB pages
- add some missing formatter functions to LocaleUtils and CurrenciesStore

Fixes #14716
2024-06-18 23:09:20 +02:00
Stefan 758dbc55e5 feat(dapps) implement signing of messages
Implement infrastructure and integration with status-go to support
general session requests

Supported methods:
- personal_sign
- eth_signTypedData_v4

depends on status-go change that exposes the signing methods

Also

- support hex or utf8 encoding for personal_sign
- format the typed data for display in the modal

Tests are disabled for now, as they are crashing on CI

Close: #14927
2024-06-17 15:06:26 +02:00
Jonathan Rainville 7d5479f456 feat(messages): enable removing bridge messages as admin 2024-06-14 12:14:55 -04:00
Alex Jbanca f943440915 refactor(ProfileView): Adapt the profile view to the new `ContactDetails` component 2024-06-14 17:17:18 +03:00
Lukáš Tinkl 46b81b30a6 feat: [UI - Wallet Stability] Create Max button component
- create a reusable "Max" send button component
- use it in SwapModal and SendModal
- add some more tests in tst_SwapInputPanel.qml

Fixes #15066
2024-06-12 17:08:56 +02:00
Stefan 4d080e12aa feat(dapps) authenticate user for session request
Trigger authentication with identity of the request
Track the authentication using the identity and allow only once
Add tests for the new functionality
Minor improvements around the code

Closes #15018
2024-06-12 16:52:12 +02:00
Stefan f5b46d6972 feat(dapps) implements responding to wallet connect requests
For start support showing sign message only
Support rejecting the request
Storybook integration
Add disabled tests for the main logic and sanity UI tests.
They crash on CI only and work locally on mac. Postponed finding out why
for now.

Closes: #14927
2024-06-12 15:44:53 +02:00
Stefan 145053e34f chore(dapps) implement service tests and basic workflow tests
Abstract WalletConnectSDK to make it testable
Implement WC service pairing test
Bring back DAppsWorkflow tests back to life and add a pair modal test

Updates: #14927
2024-06-12 15:44:53 +02:00
Cuteivist 54665ffba6
chore: Fix app not starting up (#15116) 2024-06-10 14:12:50 +02:00
Cuteivist 99ba96e689
fix(wallet): Fix ens username buy (#15068) 2024-06-10 12:31:13 +02:00
Khushboo Mehta 3010fb58cb feat(@desktop/wallet): Implements Edit slippage
fixes #14829
2024-06-07 16:17:08 +02:00
Belal Shehab f0bcea0044
fix(wallet): Renamed KeyPair to key pair throughout the entire app (#15051)
* fix(wallet): Renamed KeyPair to key pair throughout the entire app

replaced the keypair occurances with key pair in the entire qml ui files
fixes: #13612 
---------

Co-authored-by: belalshehab <belal@status.im>
Co-authored-by: Valentina Novgorodtceva <valentina@status.im>
2024-06-07 16:29:09 +03:00
Lukáš Tinkl a3c9012f4a feat: [UI - Swap] Create swap input component
- new panel created: `SwapInputPanel`
- some cleanups to the needed stores
- created a SB page demonstrating the use of 2 panels and the
`SwapExchangeButton`
- created QML tests

Fixes #14781
2024-06-06 11:13:18 +02:00
Michal Iskierko a7b9a62745 fix(@desktop/communities): Lazy loading token holders
Token holders are not fetched when application starts.
They are fetched only when token details screen is opened.

Fix #14974
2024-06-06 10:18:16 +02:00
Michał Cieślak 3c73a84c77 fix(SendModal): Unblock sending collectibles flow
Closes: #15039
2024-06-05 17:52:58 +02:00
Mykhailo Prakhov 551ae70c46
fix: crash during closing the app if gif was sent/received (#15026) 2024-06-04 13:32:46 +02:00
Khushboo Mehta 3f77a16317 feat(@desktop/wallet): Implement Network selection in SwapModal
fixes #14750
2024-06-04 11:07:23 +02:00
Anastasiya Semenkevich ed1d244921 chore: object name for share profile button 2024-06-03 09:52:00 +03:00
Lukáš Tinkl c53c8bb08a fix(ProfileDialogView): Share your own profile button is missing
- do not fully deactivate the secondary button slot/loader as it's also
used by the Share button

Fixes #14995
2024-05-31 18:42:02 +03:00
Jonathan Rainville 2830f01932 Fix missing reaction and edit buttons on permissioned channels (#14933)
* fix poster actions (edit, delete)

* use canPost instead

* fix chat getting updated without community
2024-05-30 10:04:36 -04:00
Stefan 1618e6ce0a feat(dapps) implement basic DAppRequestModal
I added it to storybook for testing. There is not integration with with
the app yet.

Updates: #14762
2024-05-30 12:00:06 +02:00
Lukáš Tinkl 6973ccef6b fix: Hide ID verification buttons
- temporarily disable all ID verification flows by default for 2.29
- enabled it in StoryBook for testing purposes

Fixes #14954
2024-05-30 11:41:33 +02:00
Stefan 35b81eadf6 feat(dapps): show dapps list in wallet connect popup
Things done here:

Integrate basic functionality for wallet connect in status-go
Update the list of dapps from the SDK
Retrieve the persistence dapps list from the backend as a fallback
if there is no connection and SDK can't be initialized
Provide a basic simple view of dapps in the wallet connect popup

Closes: #14557
2024-05-30 10:57:42 +02:00
Stefan 07bc6c49df feat(dapps) attempt to fix the wallet connect abstraction
Spent too much time figuring out the puzzle of
service->module->view->QML just to call a
status-go function.

Keeping this attempt for later while moving to a
simplified Controller/Provider approach. I will
come back to the abstraction when we add tests
to use it.

Updates: #14615
2024-05-30 10:57:42 +02:00
Michal Iskierko 6d310c33cd fix(@desktop/communities): add hidden button to refresh (retrack transaction) community tokens
Issue #14699
2024-05-28 13:52:42 +02:00
Khushboo Mehta 9d8542c95d feat(@desktop/wallet): Add support for Account selection in Swap Modal using already existing AccountsModalHeader.qml
fixes #14749
2024-05-28 10:59:18 +02:00
Khushboo Mehta 81d7ca32b0 feat(@desktop/wallet): Swap modal launch flows
fixes #14628
2024-05-28 10:11:24 +02:00
Lukáš Tinkl 02a17b67ca fix(SlippageSelector): fixup custom input focus and tests 2024-05-28 10:02:20 +02:00
Lukáš Tinkl 3a4764b217 fix(SlippageSelector): remember previous custom value
do not overwrite it and display the Custom button when we click one of
the predefined buttons
2024-05-28 10:02:20 +02:00
Lukáš Tinkl 9eba61e18c fix(StatusButtonRow): move to StatusQ
- also split the SB pages
2024-05-28 10:02:20 +02:00
Michał Cieślak 824f14e220 StatusRowButton and SlippageSelector as a separate components, api simplified, fixed issue with setting values from outside 2024-05-28 10:02:20 +02:00
Lukáš Tinkl 442111c1ad feat: [UI - Swap] Create row radiobutton component with custom field
- Create row radiobutton component like the one defined in design
- It shall contain custom set of buttons
- It shall contain a Custom button that will be converted to an input
field
- Add the new component into a new storybook page
- Create necessary qml tests to cover the component logic

Fixes #14784
2024-05-28 10:02:20 +02:00
Andrey Bocharnikov 2958a03c2c fix(airdrop): fix decimals validation
* set decimal for assets on AidropSettingsPanel and HoldingsDropdown test pages
* Disable amount length validation by default
* Input: Align validation error string to the left edge
* Update validation error copy

fixes #11918
2024-05-23 19:40:33 +07:00
Lukáš Tinkl a2e85bb3eb feat: [UI - Swap] Create tag error component
- created a new component (`ErrorTag`) based on the existing
`InformationTag`, suitable for displaying a row of icon (optional), text
and (optional) button in red/danger color
- add ErrorTagPage.qml to StoryBook
- add some basic QML tests

- InformationTag: make more properties customizable, use the same
`bgRadius` consistently
- StatusSmartIdenticon: some fixes for the MouseArea hover/click
behavior

Fixes #14792
2024-05-23 08:55:10 +02:00
Valentina1133 dd2d64043b
chore: object names added for link previews elements (#14869) 2024-05-22 09:35:25 +07:00
Jonathan Rainville e01d8fe422
fix(links): open status links in the browser when not shared urls (#14845)
Fixes #14844

The problem was that links to status.app that are not shared links were still considered shared urls, because our util function can only check if it contains `status.app`.

The solution is two fold:
1. If there are Link Previews, I ask the link preview for the type of Link. If it's a normal link, I just open it.
2. If there are no Link Preview for that link, we call `parseSharedUrl` as before, but now we handle the failure by opening in the browser because we can assume that it's a normal link.
2024-05-21 14:14:38 -04:00
Lukáš Tinkl a6c897929a chore: Remove custom rowData method from NIM's models
- Some NIM's models define additional (not part of the
QAbstractModelItem API) method rowData to allow access to model's data
on UI side
- The same job can be done relying fully on public QAbstractModelItem
API using ModelUtils utility. It gives full transparency if we need
nim's model or other like ListModel replacement in tests/storybook
- propagate `tokensStore` to unbreak the Browser's wallet menu

Fixes #14805
2024-05-20 18:02:20 +02:00
Stefan ee72ec7aee feat(dapps) add DAppsService component and ConnectDAppModal
Implement the initial Pairing user workflow and disconnect option for
the first session.

Also

- rename pairing modal accordingly (`PairWCModal.qml`) to make room for the proper
`ConnectDAppModal.qml`
- basic tests for service helpers
- update storybook to reflect the new user workflows

Closes #14607
2024-05-20 15:09:57 +02:00
Stefan 7cd97a0051 chore(dapps) move dApps UX into its own DAppsWorkflow component
Storybook: also automate related workflows for faster iteration

Also extend the inspector utils to handle Loaders and Popups

Updates: #14607
2024-05-20 15:09:57 +02:00
Stefan 78775d3d69 chore(dapps) move wallet connect service code outside popups
Updates: #14607
2024-05-20 15:09:57 +02:00
Valentina1133 03712af3b9
chore: add object names for links preview and add button (#14853) 2024-05-20 17:11:37 +07:00
Michał Cieślak a153279e77 feat(StatusLetterIdenticon): make useAcronymForLetterIdenticon true by default 2024-05-17 23:43:42 +02:00
mdias 694b3c3488
fix: The emoji color selector animation is out of bounds (#14841)
Issue #14744
2024-05-17 13:43:54 -04:00
Lukáš Tinkl 93d808d020 fix(CommunityMembershipSetupDialog): wait for the Join Permission response only
- introduce a new boolean property `checkingPermissionToJoinInProgress`
and use it to enable/disable the Join (share addresses) button when
joining a community
- we don't have to wait for both join and channels permissions check to
finish, as the former is much faster
- renamed `joinPermissionsCheckSuccessful` to
`joinPermissionsCheckCompletedWithoutErrors` to avoid confusion

Fixes #14680
2024-05-17 14:26:55 +02:00