Commit Graph

6918 Commits

Author SHA1 Message Date
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
Ivan Belyakov baa65de1ae chore(test): use STATUS_RUNTIME_USE_MOCKED_KEYCARD env var for
displaying mocked keycard controller window
2024-07-12 10:27:50 +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
richΛrd 2a41622298
chore: rename shards.staging to status.staging (#15510) 2024-07-11 16:09:20 -04:00
Ivan Belyakov 1e146b76e7 fix(wallet): profile network RPC URL editing form closed on "Save and Restart
later".

Fix "Restore defaults" to have confirmation dialog too and not close the
network editing form as well.
2024-07-11 18:33:13 +02:00
Khushboo Mehta 7caba84833 fix(@desktop/wallet): Fixing issue in deleting characters from Input area
fixes #15418
2024-07-11 17:41:04 +02:00
Khushboo Mehta 758bba1ac0 feat(@desktop/wallet): Show total fees instead of approval fees if approve is needed on the swapmodal
fixes #15505
2024-07-11 17:40:49 +02:00
Jonathan Rainville ad612a794c
fix(sharedAddress): hide non fully imported accounts from shared address (#15480)
* fix(sharedAddress): hide non fully imported accounts from shared address

Fixes #15471

We only filtered out watch only accounts, but we also need to make sure it was a fully imported account, ie an account that is usable, hence why using `canSend`. It is the same property they use in the SendTransaction modal
2024-07-11 10:47:51 -04:00
Valentina Novgorodtceva 01b4d1305d test: verifications for share profile popup added 2024-07-11 16:56:27 +03:00
Michal Iskierko ab3fefa838 fix(@desktop/chat): fix edited keyword for bridged messages
Issue #15291
2024-07-11 15:09:32 +02: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
Valentina1133 4dc170688e
test: hidden community channel test added (#15485) 2024-07-11 17:51:56 +07: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
Khushboo Mehta 2df35ff0c9 feat(@desktop/wallet): Implements auto refresh
fixes #14952
2024-07-09 15:48:09 +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
Michał Cieślak 670aa4627e StatusQ: Workaround for QTBUG-86428
Registration of QAbstractItemModel* allows to nest submodels, e.g:

SortFitlerProxyModel {
    sourceModel: LeftJoinModel { ... }
}

Earlier, it would cause error:
> Cannot assign to property of unknown type "QAbstractItemModel*"
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
Lukáš Tinkl 5665602451 feat:[UI - Swap] Create swap approve dialog
- create a new UI component
- add it to StoryBook
- add QML tests
- integration will be done as part of
https://github.com/status-im/status-desktop/issues/15443

Fixes #15442
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
Khushboo Mehta 1ebdbde5c3 feat(@desktop/wallet): Implements Network selection behaviour
fixes #15274
2024-07-09 11:27:55 +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
Lukáš Tinkl 5d9c5d46fd feat(StringUtils): implement `plainText(htmlFragment)`
- converts an HTML fragment to plain text
- move the impl to C++ so that it can be used directly from QML too
2024-07-08 21:16:53 +02:00
Valentina Novgorodtceva e1bb235b4e chore: method to set waku mode added 2024-07-08 17:31:41 +03: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
Michal Iskierko 1bc979290f feat(@desktop/permissions): use non community NFTs in permissions
Issue #15077
2024-07-05 10:27:17 +02:00
Michał Cieślak 62092e5083 feat(Chat/RootStore): collectibles model holding both community and wallet tokens 2024-07-05 10:27:17 +02: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
Patryk Osmaczko b08eb128ad feat(communities): inform about missing encryption key
closes: #15064
2024-07-04 19:36:30 +02:00
Jonathan Rainville e3979ed55e
fix(airdrop): fix lost info when closing password in airdrop flow (#15385)
Fixes #15383
2024-07-04 12:12:13 -04: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
Lukáš Tinkl 7146d5af5b feat: [UI - Swap] Create swap sign dialog
- create a common base for "sign" transaction popups/modals:
`SignTransactionModalBase`
- add SwapSignModal, deriving from the above common modal base
- add it to StoryBook; integration TBD as part of a different followup
PR
- add QML tests

Fixes #14785
2024-07-04 11:12:14 +02:00
Lukáš Tinkl 57585652d0 fix(TokenSelector): Crash when try to search token in SwapModal
- fix crash deep in ListView section handling; turns out ListView
doesn't like `section.property` being empty

Fixes #15445
2024-07-04 11:04:39 +02:00
belalshehab 60e0e212b2 fix(wallet)_: disable Sort by Date option when timestamps are not ready
- Disable 'Sort by Date' when timestamps are incomplete.
- Default to 'Alphabetical' sort if date is unavailable.

fixes: #13630

Update status-go submodule to latest commit on develop
2024-07-04 03:10:43 +03:00
belalshehab 1834581821 feat(Wallet)_: Enhance ComboBox with 'isDisabled' property
Added an optional 'isDisabled' property to the ComboBox model to dynamically control the visibility and interaction of entries based on their state. This enhancement allows for entries to be disabled under certain conditions, improving the UI's adaptability and user interaction.

fixes: #13630
2024-07-04 03:10:43 +03:00
belalshehab 3452fbadc6 feat(wallet)_: add manual reload button to WalletHeader.qml
- Added a manual reload button to the WalletHeader to allow users to refresh wallet data on demand.
- Implemented a throttle timer to prevent excessive reloads.
- Show the last reload time.
- Updated UI elements to reflect the reloading state for user feedback.
- Connected the reload button to the backend to trigger the wallet reload functionality.

resolves: #13652
2024-07-04 00:19:42 +03:00
belalshehab d0f0537c56 feat(wallet)_: add loadingIndicatorSize and mirror properties to StatusButton
- Added `loadingIndicatorSize` property to `StatusBaseButton` to allow customization of loading indicator size.
- Introduced `mirror` property in `StatusIcon` to support icon mirroring.

resolves: #1365
2024-07-04 00:19:42 +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
Jonathan Rainville 393ee8e284
fix(profile): fix missing ring in own profile (#15366)
Fixes #15314

The problem is that we used the `name` property to know if we have an ENS name, but we actually set it to whatever is available, so we need to validate that it's an ENS name
2024-07-03 14:06:03 -04:00
Khushboo Mehta 0e458842d2 feat(@desktop/wallet): Implementation of Sign Swap
fixes #14835
2024-07-03 14:41:57 +02: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
Lukáš Tinkl 869abe8b59 fix(TokenSelector): fix sections and empty search result
- do not display sections with an active search
- display a "No assets found text" when the search yields no results
2024-07-02 21:25:15 +02:00
Lukáš Tinkl ca3d1ba067 fix(TokenSelector): fix margins and hardcode popup height
- also position the view at the beginning, not on the selected item on
startup

(based on feedback from design)
2024-07-02 21:25:15 +02:00
Lukáš Tinkl 464af7a04d fix(TokenSelector): Duplicate plain token entries
- filter out plain tokens from the adaptor's if already present in the
output model
- add a corresponding regression test

Fixes #15412
2024-07-02 21:25:15 +02:00
Lukáš Tinkl a18056c7d1 chore(TokenSelectorViewAdaptor): extract "favorites" section name 2024-07-02 21:25:15 +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
Dario Gabriel Lipicar 25127bfd63 chore(@desktop/wallet): intergrate uuid to Swap
Part of #15330
2024-07-01 15:53:21 -03:00
Lukáš Tinkl 273858bc81 fix: TokenSelector doesn't show list of all known assets
- concat the assets model with the list of plain tokens model
- adjust the delegates and tests

Fixes #15278
2024-07-01 19:57:01 +02:00
Lukáš Tinkl 55e88be4f1 fix: SwapModal contents doesn't scroll
- wrap the contents in `StatusScrollView`
- adjust padding/margins

Fixes #15276
2024-07-01 19:57:01 +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
Michał Cieślak d3d0080b2d feat(StatusQ): Generic attachd type for providing model count
Closes: #15374
2024-07-01 13:59:20 +02:00
Michał Cieślak 05b47fb831 chore(StatusQ/TestLib): TestModel::resetAndClear method added 2024-07-01 13:59:20 +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
Khushboo Mehta 64efd47805 fix(@desktop/wallet): [SwapModal] Fix for flaky tests and remove the skip flag
fixes #15272
2024-07-01 10:44:57 +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
Michał Cieślak a2b8eb333d feat(StatusQ): GroupingModel for grouping rows with the same key into
submodels

Closes: #12683
2024-06-28 17:35:41 +02:00
Michał Cieślak c88317d7ad feat(MonitoringTool): Search improved
Closes: #15181
2024-06-28 15:57:23 +02:00
Valentina Novgorodtceva c71d11e990 chore: duplicate permission step added to permission test 2024-06-27 09:58:24 +03: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 8cca2664e4 fix(dapps): failure if case sensitivity mismatch in account address
Update: #15126
2024-06-26 12:00:54 +02:00
Stefan cb368ea5fb feat(dapps) fix missing list of dapps in wallet connect
Updates: #15126
2024-06-26 12:00:54 +02: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
Roman Chornii 3e04967309
chore(Wallet.RootStore): Fixed qml runtime error. (#15323)
Quickfix
2024-06-25 21:17:48 +03:00
Alex Jbanca 1dcf2d485a perf: Remove network calls to validate the URLs on main thread 2024-06-25 17:53:36 +03: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
Roman Chornii 1ba7ba31aa
fix(Wallet.RootStore): Improved some of the property bindings between QML and Nim layer. Removed unused properties. (#15279)
Fixes: #14803
2024-06-24 13:30:24 +03:00
Alex Jbanca 901362dfc1 feat(networkSelector): Refatoring of NetworkSelector to remove backend dependency 2024-06-21 16:18:51 +03:00
Jonathan Rainville 8ca51c34cc
refactor(messages): make message sending async (#15237)
Fixes #12411

Makes message sending async and adds a placeholder "Sending.." message
2024-06-20 18:46:12 -04:00
Alex Jbanca d1053be5f0 fix(SwapModal): Fixing the modal height 2024-06-20 21:32:00 +03:00
Alex Jbanca b4a9df62e2 refactoring(NetworkSelectionView): Update NetworkSelectionView and remove the backend dependency
This commit creates a new component NetworkSelectorView and it's implementation will replace the NetworkSelectionView
+ Adding the storybook page
+ Adding tests
2024-06-20 16:30:10 +03:00
Alex Jbanca 429203cd66 refactoring(NetworkSelectItemDelegate): Remove backend dependency and clean the API
This is the first step in refactoring the NetworkFilter, by cleaning the base component that handles the check states.
This component supports multiple configurations:
1. Single selection with or without radio button
2. Multiple selection with or without checkbox
3. Automatic handling of the check state. The component will change the check state based on user clicks
4. Manual handling of the check state. The component will not change the check state, but offers a toggled signal and expects the user to change the check state based on external flows

+ Fix minor bugs
2024-06-20 15:13:54 +03:00
Valentina1133 c8eb48cf04 chore: changes for mint owner token test (#15270) 2024-06-20 11:24:35 +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