Commit Graph

4652 Commits

Author SHA1 Message Date
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
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
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
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
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
Valentina Novgorodtceva c71d11e990 chore: duplicate permission step added to permission test 2024-06-27 09:58:24 +03: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
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
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
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
Dario Gabriel Lipicar 15452aa79c feat(wallet): integrate swap slippage percentage parameter
Closes #15096
2024-06-19 09:58:36 -03: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
Khushboo Mehta 8d6d6bdd84 feat(@desktop/wallet): Getting swap proposal
fixes #14828
2024-06-19 10:21:07 +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
Khushboo Mehta 4f999e3709 fix(@desktop/wallet): Swap: Fix crash on launching SwapModal 2024-06-17 11:30:23 +02:00
Alex Jbanca f943440915 refactor(ProfileView): Adapt the profile view to the new `ContactDetails` component 2024-06-14 17:17:18 +03:00
Alex Jbanca afcb7608e0 refactor(contactDetailsAsJson): Adding `ContactDetails` component to replace `getContactDetailsAsJson`
This component has live data and its purpose is to replace getContactDetailsAsJson

+ adding storybook page
+ adding tests
2024-06-14 17:17:18 +03:00
Richard Ramos e5e3ff4408 chore: change order of rpc text input 2024-06-13 21:33:44 -04:00
Jonathan Rainville 0f055afa00 chore(chat): no need to block the input when a permission is pending
Fixes #15143
2024-06-13 18:41:00 -04:00
Roman Chornii a36ae5b5e0
fix(MembersTabPanel): Sorted Community members list alphabetically (#15163) 2024-06-13 20:21:04 +03:00
Michal Iskierko e6c32fd619 fix(@desktop/permissions): Fix missing assets on permissions lists
Fix #14905
2024-06-13 15:07:35 +02: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
Alex Jbanca 60b1ec82ec feat(NetworkFilter): Add cut-out to the network filter images when displayed in a row 2024-06-12 11:53:00 +03:00
Dario Gabriel Lipicar 75d755ea0f feat(@desktop/wallet): initial integration for swap proposal, approve tx and swap tx
Closes #14824
2024-06-11 14:15:26 +02:00
Roman Chornii a2032ac689
fix(ProfileDescriptionPanel) bio affecting profile showcase changes (#15063)
fixes #15015
2024-06-10 12:29:38 +03: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 70d2a1dd75 [UI - Swap] Update / improve NetworkFilter component to cover swap design specs
- add new `showRadioButtons` and `showTitle` UI customization points
- adjust SB and expose all the existing modes, fix it to make it work
with multi selection
- integrate these new modes into SwapModal to align it with the Figma
design

Fixes #14780
2024-06-07 15:19:51 +02:00
Belal Shehab fdf47c4c21
fix(wallet): fixing back button shows unnecessarily (#15065)
reset the back button on stack reset
fixing: #14320

Co-authored-by: belalshehab <belal@status.im>
2024-06-06 16:10:20 +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
Andrey Bocharnikov 3345a9cc48 fix(HistoryNodes): Fix mailserver management UI controllers
Fixes #14982
2024-06-04 15:37:06 -04:00
Alex Jbanca f1308f3b28
feat: Add initial support for ChartJs plugins (#14433)
+ adding plugin for crosshair and zoom
+ adding plugin for data labels
2024-06-04 13:08:16 +03:00
Khushboo Mehta aa03edf17c feat(@desktop/wallet): Integrate recurring onramp providers in Recurrent tab
fixes #14820
2024-06-04 11:09:59 +02:00
Khushboo Mehta 3f77a16317 feat(@desktop/wallet): Implement Network selection in SwapModal
fixes #14750
2024-06-04 11:07:23 +02:00
Jonathan Rainville b2fb287beb
refactor: rely on canPost and canView instead of checking permissions (#14993)
* refactor: rely on canPost and canView instead of checking permissions

Fixes #14983

* chore: remove all Light permission checks that are no longer needed
2024-06-03 15:06:34 -04:00
Seitseman 70bdd9140f fix: Error message is misleading when pasting bio longer than 240 chars
de-synchronized charLimit and input.maximumLength for Profile Description bio properties to get the UX identical to mobile.
Fixes: #14879
2024-05-31 11:38:00 -04:00
Andrey Bocharnikov bcb9d787c8 fix(permissions): Communities: HoldingsDropdown doesn't allow decimal input (Edit Permissions)
If chainName is empty, HoldingsDropdown doesn't initialise decimals for AmountInput

Fixes #14942
2024-05-31 21:38:24 +07:00
Khushboo Mehta c9641bb0b9 feat(@desktop/wallet): Implementation of One Time & Recurrent tab in Buy Popup
fixes #14819
2024-05-31 12:47:37 +02:00
Mikhail Rogachev f62b6eb348
fix(communities): Correct handling 'hide channel from certain members' (#14977)
Close #14915
2024-05-31 12:28:09 +02:00
Jonathan Rainville 42b10783ef
fix: ensure communityDetails are updated in PermissionsView (#14981)
Fixed an issue where communityDetails were not being updated in PermissionsView.
This issue was causing the name, color, and image not to update correctly.

Co-authored-by: mdias <maildomarcio@gmail.com>
2024-05-30 09:52:28 -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
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
Stefan ea2b6b2ed7 chore(dapps) move responsibility of tracking sessions from WC SDK
Updates: #14615
2024-05-30 10:57:42 +02:00
Stefan 0cf41a60cb chore(dapp) update SDK interface and the generated code
Updates: #14615
2024-05-30 10:57:42 +02:00
Khushboo Mehta ca031a285c feat(@desktop/wallet): Use SubModelProxyModel in SwapAdaptor.qml
fixes #14926
2024-05-30 10:28:40 +02:00
mdias 2c1806434a
Fix asset value in HoldingsDropdown when adding an asset (#14920)
When creating or editing a community permission, if you add a holding token that has already been added,
the amount value displayed is in basic units (long value) of that token instead of primary units
2024-05-29 13:59:13 -04:00
Anastasiya Semenkevich e15fea7927 chore: add object name for ChatView component 2024-05-29 10:36:52 +03:00
Anastasiya Semenkevich 0fca77b733 chore: rename holders string to match the general in app approach 2024-05-28 19:50:17 +03:00
Lukáš Tinkl f28343e264 fix: Error when editing saved ENS address
- reset the `address` field properly to zero (instead of empty) address

Fixes #14901
2024-05-28 15:31:23 +02:00
Lukáš Tinkl c4f7c9732d fix(AddEditSavedAddressPopup): hide network selector for ENS names
- fix some typos, add some forgotten `qsTr()` calls
- improve SB page with create/edit modes

Fixes #14909
2024-05-28 15:31:23 +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 3ea2ba18f2 feat: [UI - Swap] Create swap switch button
- create a custom circle button component for the Swap popup, with the
needed click event and a border area that can be overlaped with the
background as it looks in the design

Fixes #14782
2024-05-28 09:12:07 +02:00
Anton Iakimov d0865e2f44
chore: switch wakuv2 fleet to waku (#14033)
* chore: switch wakuv2 fleet to waku

See status-im/infra-nim-waku#91 for details

Mostly done automatically. Some parts manually.

* chode: drop eth.staging fleet

Signed-off-by: Jakub Sokołowski <jakub@status.im>

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2024-05-28 08:48:04 +02:00
Lukáš Tinkl 1692651184 fix(Wallet): "All accounts" title casing typo
Fixes #14669
2024-05-27 14:19:34 +02:00
Valentina1133 a11d06f07f
chore: add object name for i dont have other device button (#14921) 2024-05-27 18:19:35 +07:00
Valentina1133 5c5debd0c0
chore: add object names market data fields (#14904) 2024-05-27 13:55:25 +07: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
Alex Jbanca f944e8359b
fix(BiometricLogin): Move to regular login page when biometric login fails with error (#14860) 2024-05-21 18:42:53 +03:00
Roman Chornii 55edd94401
fix(ProfileDescriptionPanel): Profile settings -> Identity : Addition of validation to bio field (#14772)
- Added validator to the bio component to allow only ascii and emoji characters
This PR fixes #13623
2024-05-21 00:13:55 +03: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
Alex Jbanca 62b7083f4c
fix: Fixing the share addresses popup height when only owner and TM permissions are available (#14865)
* fix: Fixing the share addresses popup height when only owner and TM permissions are available

* Update ui/app/AppLayouts/Communities/panels/SharedAddressesPanel.qml

Co-authored-by: Michał <michalcieslak@status.im>

---------

Co-authored-by: Michał <michalcieslak@status.im>
2024-05-20 18:45:30 +03:00
Stefan 08a1e10f59 feat(dapps) add toast notifications for Wallet Connect paring
Updates: #14754
2024-05-20 17:13:30 +02:00
Richard Ramos 35e4e63b48 feat: shards.staging fleet 2024-05-20 09:33:17 -04: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 4771f0d77f feat(wallet) customize NetworkFilter for dapps display
Allow to show all selected icons in the network filter
Hide checkboxes in the network filter dropdown

Updates #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 b764446568 feat(StatusLetterIdenticon): simplify names of properties
Closes: #14439
2024-05-17 23:43:42 +02:00
Michał Cieślak a153279e77 feat(StatusLetterIdenticon): make useAcronymForLetterIdenticon true by default 2024-05-17 23:43:42 +02:00
Michał Cieślak b2ab3a455a feat(StatusLetterIdenticon): make useAcronymForLetterIdenticon mode charactersLen unaware 2024-05-17 23:43:42 +02:00
Michał Cieślak d2f73cd88f fix(Communities): Show channel for non-members when read-only, tokenless permission is set
When channel has view-only permission not requiring any holdings, the
channel is not encrypted and should be presented to non-members in
read-only mode.

Closes: #14439
2024-05-17 15:19:06 +02: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
Jonathan Rainville bbd1adcabb
Remove importCommunity from QML and Nim code (#14814)
* Remove importCommunity from QML and Nim code

Handling issue 14310. Removed functions associated with the API.

* Updated pr for suggested changes.

* Updated module.nim

---------

Co-authored-by: Eliza <elsorber@gmail.com>
2024-05-16 17:30:32 -04:00
Alex Jbanca f3dc7b9918 feat(ProfileShowcase): Implement custom showcase position when searcher text is filtering items 2024-05-16 16:47:42 +03:00
Valentina1133 e9127f9cd7
Chore/add object name rename keypair item (#14807)
* chore: add object name for rename keypair menu item

* chore: add object name save changes in rename keypair popup
2024-05-16 16:17:33 +07:00
Cuteivist d70f2dcf23
feat(@wallet): Show lightbox when clicking collectible (#14168) 2024-05-15 11:36:56 +02:00
Cuteivist 2565c8a135
fix(wallet): Show community name in tag (#14622) 2024-05-15 11:14:46 +02:00
Lukáš Tinkl 8b8af40979 feat(Settings): remove UI scaling option panel
- as discussed with Design, do not allow the user to select the UI scale
option from Settings as it causes many problems; instead rely on the
OS/Qt HighDPI support to handle the scaling for us
- note however, for advanced users, it's still possible to specify the
UI scale manually by exporting the standard `QT_SCALE_FACTOR` prior to
starting the app
- in the longterm, we will come with our own scaling solution at the QML
level, independent from the OS

Fixes #14137
2024-05-14 17:47:10 +02:00
Khushboo Mehta 30ff5f3a2b fix(@desktop/wallet): New Collectible Details tabs
fixes #13806

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-14 09:32:45 +02:00
Lukáš Tinkl 2537cdc2f2 fix(CommunityPortal): don't show PermissionsRow for free communities
- hide the permissions row and tokens when the community is free to join
- fix evaluating the `requirementsMet` property which affects the lock
icon state; that role was never part of the model
- add a helper C++ method `isTokenGatedCommunity`
- adjust the SB models, adding different variations of the
permissionsModel for the CommunitiesPortalLayoutPage

Fixes #14671
2024-05-13 16:21:07 +02:00
Lukáš Tinkl 94ca1ff22a fix: ENS keycap display issues
- run the user's display name (ENS name) thru the `Emoji.parse()`
function as that will convert the potentially UTF-16 encoded name
containing emojis into an image

Fixes #12290
2024-05-13 16:20:54 +02:00
Cuteivist 73cee9eebf
bugfix(community): Show popup for infinite supply collectibles (#14410) 2024-05-13 12:59:49 +02:00
Cuteivist 406f12d239
feat(settings): Fixed changing network urls (#14353) 2024-05-13 12:06:05 +02:00
Stefan 1f60410db8 feat(dapps) implement wallet connect URI input
Other changes

- start Wallet Connect SDK using web engine after wallet is ready
- source WC project ID from the constants in nim
- close list when opening the `ConnectDappModal`
- remove the old POC modal instantiation
- rename ConnectDappPopup to Modal for consistency
- move specific dapps related user settings to their place in the component
- add DAppsStore to be used for dapps abstraction

Updates #14556
2024-05-13 10:33:16 +02:00
Godfrain Jacques ac54a70c4e
fix: Permission created before making device a control node is not getting active (#14537)
* chore: bump status-go

* fix: mitigate permissions stuck in pending on control node promotion

This PR fixes #14023

UI does NOT allow promoting to control node is no Owner token is present
2024-05-10 08:57:06 -07:00
Lukáš Tinkl d703d0e87f feat(CreateChannelPopup): inherit the channel color from community color
- if there's a valid community info and the color is non-empty, inherit
it when creating a new channel
- also fix the color picker button height
- adjust the SB page with separate "create" and "edit" options

Fixes #14570
2024-05-09 12:06:43 +02:00
Jonathan Rainville 953fff0e68 feat(community): show a message when the member reevaluation is ongoing
Fixes #14378
2024-05-08 16:44:58 -04:00
Jonathan Rainville 685b83d56d chore: update icons to use the new multicoloured Status logo
Fixes #14531
2024-05-08 10:22:34 -04:00
Khushboo Mehta 03495265d5 feat(@desktop/wallet): Add Swap Feature Flag
fixes #14627
2024-05-08 13:41:17 +02:00
Roman Chornii 05000c5743
fix(TokenUI): Hide explicitly ManageTokensCommunityTag in community settings page according to collectibles cells sizing (#14500) 2024-05-08 14:24:27 +03:00
Godfrain Jacques ceee230244
fix: Token Master permission missing token name (#14609) 2024-05-07 06:58:15 -07:00
Khushboo Mehta 8d8268db2f feat(@desktop/wallet): Make images match their aspect ratio but still have min width and height in collectible details
Also make images zoom to cropped when visible in the collectibles list view

fixes #14203
2024-05-06 16:56:48 +02:00
Lukáš Tinkl caa97737c7 fix(ui-test): fix sporadic failures to load CreateChannelPopupPage
thus also fixing the failing `tests/ui` in CI
2024-05-03 17:01:39 +02:00
Lukáš Tinkl ac9a240e25 fix(StatusLoadingIndicator): make StatusLoadingIndicator use Animator
TLDR: the `StatusLoadingIndicator` will be able to continue the
(rotating) animation eventhough the app might be stuck as
`RotationAnimator` runs on the render thread

- make `StatusIcon` use internally `ColorImage` component which makes it
possible to recolor `Image` on the fly w/o the need to use
`QtGraphicalEffects` module and a separate color layer
- which in turn enables us to use `StatusIcon` with the
`RotationAnimator`
- one minor drawback though, we can no longer use the versioned
properties like `mipmap` with `StatusIcon`; not a big deal as we use
this with SVGs only

Fixes #10014
2024-05-03 17:01:39 +02:00
Andrey Bocharnikov 688238fdd3 Fix(Profile): Fix saving of profile identity changes (#14464)
Problem:
There were no difference between the fact that the avatar is not changed and the avatar is deleted. The same for bio and displayName

On NIM, this state was simply rewritten
Solution
(The problem was discovered due to the fact that if the picture does not change, then Nim receives a base64 encoded source - instead of the path to the new Avatar. Which Status go could not parse as a file.)

On the QML side, if we see that there have been changes, we add changes to changesMap Json, if there are no changes, then do not add. (This is the way to implement Option).

On the NIM Side - convert to saveData

On the Module side - distinguish Nil from an empty string

fixes #14464
2024-05-03 10:43:29 -04:00
Valentina1133 ae856e76f0
Add object names for confirm tags button and enable create community button to master (#14574)
* chore: add object name for confirm community tags button

* chore: add object name for enabling of creation of community button
2024-05-03 09:54:33 +02:00
Lukáš Tinkl 22a9ca72b3 fix(StatusCard): fix some visual glitches
- correct propagation of hover events, fixes card flicker
- improve the ugly thick border
- token icons are now correctly rounded
- fix text descent lines are cut of ("y" and "p" truncated at the
bottom) due to excessive clipping, set correct max line count
- fix tag outline not being visible in dark mode
- add/update the corresponding SB page, with more controls to play
around with the different params

Fixes #14555
2024-05-02 20:25:13 +02:00
Roman Chornii d191a2d9ec
fix(UX Improvement): Clicking on the community logo when in the admin panel should take back to the community. Fixes(#14271) (#14544) 2024-05-02 20:24:56 +03:00
Lukáš Tinkl 63c3b756a5 fix(ChangePasswordView): Clear and cancel button is not blue
- use the proper `StatusFlatButton` as it was meant in the Figma design

Fixes #13763
2024-05-02 17:26:09 +02:00
Jonathan Rainville 1ff424aea1 chore: disable history archive for new user and add advanced setting
Fixes #14534
2024-05-02 10:45:52 -04:00
Jonathan Rainville bfb506540f chore: hide create community button behind advanced setting
Fixes #14530

(includes a revert of the previous hide that wasn't exactly what we wanted)
2024-05-02 10:45:52 -04:00
Stefan 2972531766 chore(global) add the dapps button under a feature flag
Also add basic feature flag support that work with QML and nim

Closes #14553
2024-05-02 12:26:58 +02:00
Stefan 8d6d9c3d7c chore(dapps) update foundation for DApps work
Remove unused and de-scoped elements

Updates #14317
2024-05-02 09:47:30 +02:00
Stefan 913041d5d9 chore(dapps) foundation for dapps page in storybook
Updates #14317
2024-05-02 09:47:30 +02:00
Sale Djenic dd104960ba feat(walletconnect): initial code organization
Closes #14395
2024-05-02 09:47:30 +02:00
Mikhail Rogachev 0146db8da8
fix: Fix content height for SharedAddressesPanel (#14562) 2024-05-01 18:03:20 +02:00
Lukáš Tinkl d0658feb26 feat: disable language/translations selection
- make it conditionally available for testing via
Settings/Advanced/Enable translations
- display a tooltip and infobox explaining the current and future
situation
- upon app start, force the language to "en" if the translations are not
enabled; and suggest app restart when they get disabled

Fixes #14527
2024-04-30 13:25:01 +02:00
Alex Jbanca 85066fccc8 fix: Hide members count from community cards when the community is encrypted and the community info is not available 2024-04-30 14:03:38 +03:00
Lukáš Tinkl ccc1539178 fix(Community): community invitation is missing intro and logo
- fix a binding loop warning for `implicitHeight`
- fix word wrap for long texts with no word breaks

Fixes #14536
2024-04-29 18:23:33 +02:00
Lukáš Tinkl 792e8d74a8 fix: Inclusion of Watched addresses in Balances: Wording change
- "Include in total balance" -> "Include in balances and activity"

Fixes #14517
2024-04-29 10:49:24 +02:00
Lukáš Tinkl 58e5dbff27 fix(Token Management): update wording for Save/Apply buttons
- "Save for later" -> "Save"
- "Apply to my Wallet" -> "Save and apply"

Fixes #14519
2024-04-29 10:48:12 +02:00
Lukáš Tinkl 0c8231a6b6 fix: can't join an encrypted community
- fix the corner case and allow the user to join a community without an
explicitely stated "Member" permission
- enable/disable the Share/Join/Save buttons when the permission to join
check is ongoing, or when the permission check failed
- display tooltips over the disabled buttons explaining why it's disabled
- always display the eligibility button floating on top of the
(scrollable) contents

Fixes #14473
Fixes #14299
2024-04-26 10:50:26 +02:00
Igor Sirotin 59cb770ddb
Switch to new login/create/restore status-go endpoints (#14139)
* fix: new login endpoints - iteration 1

* feat: use CreateAccountAndLogin endpoint

* fix keycard import

* better comment

* wip: screens reordering

* cleanup

* force minimum of 30 seconds fetching backup

* keycard flows fixes

* typo fix

* remove ganache argument

* fix: wallet issues

* update status-go
2024-04-24 18:31:22 +02:00
Valentina1133 5f980a1a8f
Chore/add object name advanced settings, token preview boxes and sign transaction buttons (#14488)
* chore: added object name for manage community on testnet

* chore: added object names for buttons in sign transactions popup

* chore: added object names for preview boxes
2024-04-19 20:07:01 +07:00
Lukáš Tinkl 6260519e66 fix(CommunitySettingsView): hide control node functionality for admins and token masters
- hide the footer when the user is an admin or token master, unless
there is a pending ownership request (`isPendingOwnershipRequest`)
- similarly, hide the sharding section in `CommunityInfoEditor`
- do not cover the shard button with the `SettingsDirtyToastMessage`
- some SB page cleanups and additions
2024-04-18 22:22:40 +02:00
Lukáš Tinkl 559f94a706 fix(OverviewSettingsChart): fix displaying month names
- gotta use `standaloneMonthName` if the date doesn't contain anything
else (like day or year)
2024-04-18 22:22:40 +02:00
Lukáš Tinkl 7ad4a917af fix(FinaliseOwnershipPopup): fix declining ownership transfer
- the `ownershipDeclined` method was being called on an unexisting store
and the signala params were not being passed around
- some related SB page additions/cleanups
2024-04-18 22:22:40 +02:00
Andrey Bocharnikov b5dbac2e74
fix(Profile flow): ID verification cannot be removed (#14308)
fix(UserListPanel): hide the verification icon for yourself

fixes #13619

* split function for reseting trust status and verification+trust status

* rename function to removeTrustVerificationStatus
2024-04-18 20:09:27 +04:00
Lukáš Tinkl 5b242c6dd8 fix: do not display the thousands separator when editing
- teach `userInputLocale` about `Locale.OmitGroupSeparator` option which
discards the said thousands separator
- some more fixes to other inputs to do the same, and align what the
validators do
- StatusAmountInput: discard illegal characters, and reuse the same
locale for the validator
- StatusAmountInputPage: make it possible to select a different locale

Fixes #14165
2024-04-17 14:04:03 +02:00
Alex Jbanca a045ca36fe feat(ProfileShowcase): Sort and filter collectibles based on token management settings 2024-04-17 13:40:42 +03:00
Godfrain Jacques eccc9b3bd7
fix(category) Implement collapsed categories (#14135)
This PR implements the nim part for enabling having collapsed categories
that persist into the database
This fixes #13944
2024-04-15 11:34:44 -07:00
Lukáš Tinkl ea40a6b11f feat(SharedAddresses): display the eligibility bubble in edit mode too
- previously, we'd display the bubble only when joining the community
- now we display it also when editing the shared addresses, with a
slightly different wording (eg. "You're an admin" -> "You'll be a
member"), hinting the user about the future change
- remove the usage of `ModuleWarning` as we don't want its delay or
transitions here, replace it with a regular red `Rectangle` + text

Fixes #13397
2024-04-15 20:24:34 +02:00
Stefan 228622359d fix: warning while switching between accounts
The is image flag and source was not in sync due to sequential change
of source and isImage. This was causing the following warning:
`Warning: qrc:/StatusQ/Components/StatusRoundedImage.qml:27:5: QML StatusImage: Cannot open: qrc:/StatusQ/Components/help
2024-04-15 09:16:34 +02:00
Cuteivist 7cb59576a1
fix(wallet): Update amount to send decimal handling (#14399) 2024-04-15 07:28:29 +02:00
Ivan Belyakov 3843b53cc0 feat(wallet): toggling `include/exclude from total balance` menu action
filters out assets/collectibles/activities entries.
Fixed direction of transfers for `All accounts` selection on activity
tab.

Closes #14162 #14216
2024-04-12 15:18:19 +02:00
Ivan Belyakov 6ba0cdfafa feat(wallet): removed allAddresses flag as redundant 2024-04-12 15:18:19 +02:00
Stefan b9271005cd fix(wallet): update wallet assets and collectibles order on user action
Add a specific state to the saveSettings action to update the model
by reloading the data.

The previous implementation was using the same save address which
doesn't update. Either in the past there was a side effect that made it
work or it was never working.

Closes #14365
2024-04-12 11:30:15 +02:00
Michał Cieślak 180932b799 chore(SharedAddressesAccountSelector): Remove workaround related to issue #14244
Additionally flow is simplified slightly by setting `type` role in
ConcatModel
2024-04-12 11:05:08 +02:00
Lukáš Tinkl 6171a2d900 fix(NetworkFilter): position the popup along the right edge
spotted by Ben
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 9024a4c324 fix(RightTabView): fix filter button vertical alignment
spotted by Ben
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 5d064368cf chore(ui): visually align different combo box instances
- extract common background and indicator subcomponents into
StatusQ.Components.private, and reuse it

Fixes #14121
2024-04-11 21:48:16 +02:00
Lukáš Tinkl e363dd1109 fix(SortOrderComboBox): do not display icons or bold(er) font in delegates
- cleanup indentation (older QtC versions don't like the nullish
coalescing operator `??`)
- fixup SB pages
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 14138d5ff5 fix(NetworkFilter): display correct cursor
- since we override the `control.background` from `StatusComboBox`, need
to specify the `cursorShape` again
2024-04-11 21:48:16 +02:00
Lukáš Tinkl fb2d1ad0f0 fix(NetworkFilter): fixup allSelected/noneSelected
- there's no `len` property in `SFPM`; fixes correctly displaying "All
networks" when all are selected
2024-04-11 21:48:16 +02:00
Anthony Laibe da7f419f57 fix: repeat tx open the send modal
fixes #14357
2024-04-10 10:31:58 +02:00
Cuteivist 277dda7533
feat(wallet): Disable send for soulbound collectibles (#14327) 2024-04-09 16:16:03 +02:00
Lukáš Tinkl b84c1f20df fix[Shared Addresses] Can't edit shared address while the join request is pending
- disallow changing the Shared addresses while our request to join
community is still pending

Fixes #14292
2024-04-09 13:11:39 +02:00
Lukáš Tinkl 50c2d33f64 chore(CommunityColumnView): fix typo 2024-04-09 13:11:39 +02:00
Sale Djenic d4fa715c7e fix(wallet): changes in account order in settings are not applied in wallet
Fixed an issue with dropping a draggable item outside the bounds of the DropArea.

Fixes #13836
2024-04-09 11:27:15 +02:00
Stefan 473e2e273f feat(wallet) connect assets ordering with saving to DB backend
Also refactor the existing code based on the latest understanding.

Closes #13312
2024-04-09 09:34:52 +02:00
Anastasiya Semenkevich 25906ffa34 chore(@ui/app/AppLayouts/Communities/popups/InDropdown): add object name 2024-04-09 09:50:44 +03:00
Michal Iskierko 62c48a0072 chore(desktop): upgrade status-go
Issue #14044
2024-04-08 11:22:51 +03:00
Michał Cieślak a83f1114e2 chore(Communities/InDropdown): performance improved
- removed multiple filtering separately for each category
- no instantiation of all delegates up front (regular ListView approach
  used)
- fixed category selection when filtering - selecting/deselecting only
  items fulfilling search criteria
- significant simplification of the code

Closes: #14275
2024-04-05 14:58:06 +02:00
Alexandra Betouni 53db09412a feat(ProfileShowcasePopup): Adding interactions in delegates
Closes #13702
2024-04-05 12:31:11 +03:00
Jonathan Rainville 5c75c265af fix(permissions): fix hang when all channel perm check return (#14259)
* fix(permissions): fix hang when all channel perm check return

Fixes #14234

The problem was that we updated **all** the models from **all** the channels of a community each time the channel requirement checks returned.

The fix is to first of all, make sure we don't call that check too often. It sometimes got called twice in a row by accident.

The other better fix is to check if anything actually changed before updating. This solves the issue almost entirely.  Since the permissions almost never change, the updates now take only a second.

* fix(permisisons): never run permission checks for privileged users

Also fixes #14234 but for admins, TMs and Owners.

Admins+ were still getting the hang, because the permission checks always returned something different than the models, because the models knew that admins have access to everything, but the permission check was running as if it were a normal user (I think, un-tested).

Anyway, the solution is more simple, we never need  to run the permission checks on admins+, because they always have access to everything!

* fix(Communities): prevent channels model from emitting unnecessary signals

Closes: #14274

* chore(Communities): improve channels metadata lookup performance

ChannelsSelectionModel is removed, replaced with plain LeftJoinModel.
Transformations of left-side model are done in a single place, not in
every delegate making the join.

* only call update functions when there is something to update + move permission model creation when needed

---------

Co-authored-by: Michał Cieślak <michalcieslak@status.im>
2024-04-04 12:14:39 -04:00
Mykhailo Prakhov 1e155046e7
fix(@desktop/communities): request to join fixes (#14287) 2024-04-04 18:03:10 +02:00
Lukáš Tinkl 375de59cfa chore(SharedAddressesPermissionsPanel): optimize the speed
- don't use the expensive `ExpressionFoo` in SFPM, just use
`AnyOf/AllOf` combinations where possible
- in HoldingsSelectionModel, don't call the `getTokenByKey` twice to
construct the `text`, once is enough
- lastly, rewrite the JS helper `PermissionsHelpers.getTokenByKey` to
C++; this method gets called recursively way too often from many places

In the longterm, we should provide a specific C++ transformation model
for SharedAddressesPermissionsPanel to follow the UI requirements more
closely; that way we'd be able to fix the issues here for good

Fixes #14276
2024-04-04 16:59:26 +02:00
Lukáš Tinkl 795718b39f chore: fix double permissionsModel preparation
we already build it anyway in the Popups.qml when opening the community
intro dialog in all the flows
2024-04-04 16:59:26 +02:00
Igor Sirotin 8d6454367a
fix: permissions with value>1000 (#14249) 2024-04-04 09:45:25 +01:00
Khushboo Mehta 2d20a2e1b7 feat(@desktop/wallet): Collectible Details balance tag
fixes #13809
2024-04-03 20:37:45 +02:00
Lukáš Tinkl cb6c633e69 feat(SharedAddressesAccountSelector): update account sorting
- implement sorting of the wallet accounts by the number of tokens (aka tags) and
then by alphabet
- due to the delegate complexity here and usage of nested models, keep
track of the tags count separately and outside of the model
- this will be improved later on as part of the complete sort/order
design described in https://github.com/status-im/status-desktop/issues/14192

Fixes #14101
2024-04-02 16:03:09 +02:00
Lukáš Tinkl 8704cb19a4 chore(SharedAddressesPermissionsPanel): use FastExpressionFilter
- speed up the construction of the permissions overview panels
2024-04-02 16:03:09 +02:00
Alex Jbanca 79d4bb20cb fix(ProfileShowcase): Filter out communities the user hasn't joined from 2024-04-02 16:44:16 +03:00
Andrey Bocharnikov accd4da214
fix(Permissions): tokenOwner is present in the list of collectibles when adding a permission (#14236)
fixes #13561
2024-04-02 14:38:08 +04:00
Michał Cieślak b91cf08066 feat(SharedAddressesAccountSelector): Support for collectibles in account's delegate tags
Closes: #14102
2024-04-02 12:18:36 +02:00
Alex Jbanca 684fb787a6 fix(PRofileShowcase): Fixing conflict merge error 2024-04-02 12:07:22 +03:00
Cuteivist 7fa3771e4e
feat(wallet): Handle collectibles details unknown community (#14206) 2024-04-02 10:23:20 +02:00
Alexandra Betouni 4af2a97358 [ProfileShowcase] Updated delegates as per design + added web tab
Closes #13421
Closes #13606
2024-04-02 10:21:13 +03:00
Alex Jbanca 1d45243bc1 feat(ProfileShowcase): Integrate profile perspective selector 2024-04-02 10:16:17 +03:00
Cuteivist 6dec612f5c
feat(wallet): Handled failed to load collectible image state (#14229) 2024-03-30 06:00:00 +01:00
Lukáš Tinkl b191caaec6 feat: Add missing eligible to join tag in CommunityMembershipSetupDialog
- implement the eligibility check in C++, returning the highest possible
role the user would be allowed to join under
- enable/disable the "Share" button based on the above permissions check
- remove all the locally placed components, access teh popup only via
Global/Popups
- calculate the `accessType` internally based on the permissions present
- update the eligibility as the async check for permissions is finished
- fix the permissions panel background color
- partially revert the share/finish/cancel buttons behavior; it must be
one button due to StatusStackModal limitations
- fix some other minor UI issues or differences to current Figma designs
- adjust SB, add the possibility to play around with different
permission models

Fixes #14100
2024-03-29 16:11:59 +01:00
Lukáš Tinkl 5af2f28aa2 fix[Onboarding] Password screen is not correct
- hide the "Current password" label when creating a new password
- fix margins inside the keycard popup
- some minor UI fixups according to Figma

Fixes: #14214
Fixes: #14177
2024-03-29 16:10:50 +01:00
Mikhail Rogachev 839f2c6b21
Feat: New showcase models for a contact (#13998)
* Feat: New showcase models for a contact

* feat(ProfileShowcase): Integrate the new profile showcase backend

* fix(Storybook): Fix ProfileShowcaseModelsPage

* fix: fetch only requested profile showcase data

Support PR for https://github.com/status-im/status-go/pull/4982

* feat: Load and validate profile showcase for a contact in two steps

* fix: fetching criteria for profile showcase collectibles

* fix: review fixes

---------

Co-authored-by: Alex Jbanca <alexjb@status.im>
2024-03-29 12:43:49 +01:00
Khushboo Mehta c710f0e809 fix(@desktop/wallet): Remove profile section's networks submodule and udpate logic for combined networks 2024-03-28 17:08:49 +01:00
Noelia d568ceb444 fix(JoinCommunity): Merge issues solved and channel hidden logic fixed
- Removed function in merge while it's still needed.
- Modified logic when channels hidden to take into account also `viewOnly` permission cases.
2024-03-28 10:59:40 -04:00
Noelia 4144e374a6 fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET (#14164)
* fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET

- Modified `becomeMemberModel` in store to provide all member permissions.
- Modified permissions model filter to only discard  permissions that are private and NOT met.
- Updated `storybook/PermissionsModel` with new only private permissions and added new model option in corresponding pages.

Closes #14104

* fix(JoinCommunity): Text position when all channels hidden

Updated text position when `allChannelsAreHiddenBecauseNotPermitted` in community join process
2024-03-28 10:59:40 -04:00
Mykhailo Prakhov 7804d4ca39 fix: set correct permision UI 2024-03-28 10:59:40 -04:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47:33 +01:00
Sale Djenic 9b8401b641 fix(communities): keycard authentication marked automatically as authenticated
Closes #14174
2024-03-28 07:38:42 +01:00
Sale Djenic cbf0fd3d71 fix(general): when biometric is setup the authentication flow is not correct showing the password one instead
Closes #14173
2024-03-28 07:38:15 +01:00
Noelia 67f0f38cf9 fix(CancelCommunityMembership): Added popup instead of directly cancelling request
- Added dialog instead of calling directly to the cancel method.
- Updated `Cancel` button format according to figma in `CommunityMembershipSetupDialog`.

Closes #14097
2024-03-28 07:33:34 +01:00
Stefan 26542970ee feat(wallet) save/load collectibles user handled state in DB
Add a separation layer for save/load/clear to ManageTokensModel
so that we can save/load from external sources.
The separate layer is composed of JSON as protocol, a set of signals
and slots for interface. The implementation forwards data to current
QSettings for storybook and nim controllers for the app.

Updates #13313, #13312
2024-03-27 20:26:15 +01:00
Khushboo Mehta f45a39bfcf feat(@desktop/wallet): Link out from collectible details view to opensea
fixes #13918
2024-03-27 17:47:06 +01:00
Noelia 3f74ee565a fix(JoinCommunity): Join CTA labelling: Change text and remove existing icon
- Change text and remove existing icon.
- Removed unnecessary property `loginType` on different files.
- Renamed signals to be more accurate with existing requirements.

Closes #14098
2024-03-27 12:16:56 +01:00
Lukáš Tinkl 085b013f80 fix(Shared Addresses): Requirements check pending indicator
- update shared addresses dialog to avoid small jumps when
selecting/unselecting accounts due to requirements check text displayed
- display the pending text and spinner next to the Permissions header

Fixes #14103
2024-03-27 11:16:40 +01:00
Cuteivist fae7e82e0a
fix(@wallet): Copy viewed account details (#14161) 2024-03-26 16:49:12 +01:00
Michał Cieślak 0557977aa2 chore(Communities): CommunityIntroDialog renamed to CommunityMembershipSetupDialog
Closes: #14144
2024-03-26 14:03:29 +01:00
Stefan 42d3c1b42b fix(wallet) refresh recipients in menu for activity filter
Closes #13663
2024-03-25 18:38:33 +01:00
Stefan b4aff67639 fix(wallet) wrong properties referenced in TransactionDetailView
Updates: #13663
2024-03-25 18:38:33 +01:00
Stefan cd2b211f63 chore(wallet) lazy load TransactionDetailView
I was debugging a crash at login and found out that
TransactionDetailView was being loaded even when it was not being used;
my debugging code in `onComplete` was trying to access transaction data
from nim which was not set.

Updates #13663
2024-03-25 18:38:33 +01:00
Stefan 72b03e69aa fix(wallet) fix namespace clash in wallet RootStore.qml
Updates: #13663
2024-03-25 18:38:33 +01:00
Sale Djenic 979423ea62 chore(general): removing unneeded qml file 2024-03-25 14:16:32 +01:00
Sale Djenic 10a8469b9e fix(communities): deltas between designs and build for join token gated community flow
This commit:
- improves selection of addresses to reveal
- keeps the selection state for the popup lifetime
- brings higher granularity in terms of signed requests by keypairs
- meets new requirements from the latest related Figma
- merges edit shared addresses feature and request to join community features
into a single component, cause the flow is logically the same, with the only
difference that when editing revealed addresses we don't show the community
intro screen

Fixes at least points 3 and 4 from #13988
2024-03-25 14:16:32 +01:00
Lukáš Tinkl ec4e2f3fc8 fix: can't use the Tab button in the Mint Token form
- manually setup the TAB focus chain; in the future, this should be done
properly on all new components using FocusScopes and similar

Fixes #13891
2024-03-25 14:11:43 +01:00
Lukáš Tinkl 9ef513b419 fix(TokenManagement): Asset balance threshold value not reflected in main wallet view
- take the balance threshold value into account when presenting the
assets in the main wallet view
- additional fix from Emil for storing the threshold value
- storybook fixes to display the correct `currentCurrencyBalance` values
based on the address/wallet filters and mocking the threshold values
using TransactionStore

Fixes: #14017
2024-03-23 11:37:37 +01:00
Valentina Novgorodtceva 05df5d1bce chore: object names added for wallet right tab buttons and filter button 2024-03-22 14:00:19 +03:00
Khushboo Mehta 4f75956ca3 fix(@desktop/wallet): Fix link out to extherscan from collectibles details view 2024-03-20 19:04:32 +01:00
Jonathan Rainville 19c283be8b
fix: fix warning and inconsistencies with spectating (#14041)
Kinda fixes #13957
2024-03-20 13:58:46 -04:00
Mykhailo Prakhov a586c6d352
feat(desktop/communities): View community member messages functionality (#14002)
* feat(desktop/communities): View member messages functionality
2024-03-20 11:50:10 +01:00
Noelia 1d9c136bf8 feat(ProfileShowcase): Some properties prepared for task #13997 development
Part of #13997
2024-03-20 09:31:34 +01:00
Noelia d35c0bd3d1 feat(ProfileShowcase): Align UI save flow according to backend response
- Added loading state in dirty toast message.
- Added store connections in `MyProfileView` and save loading logic.
- Added toasts notifications.

Closes #13950

a
2024-03-20 09:31:34 +01:00
Noelia 1d15398ea7 fix(ProfileSectionStore): Only instanciated once
- Removed `ProfileSectionStore` instance from `CurrenciesStore`. Only needed some certain accesses to the `profileSectionModule`.
- Added strict type in `CommunitiesView`.
2024-03-20 09:31:34 +01:00
Mykhailo Prakhov f3d2d0a809
feat(@desktop/community): add new CommunityMemberState - CommunityMemberBanWithAllMessagesDelete (#14028) 2024-03-19 16:17:02 +01:00
Stefan 0958860bc9 fix(qml): fix etherscan links for all networks
Also refactor code for reusability and readability.

Closes: #13986
2024-03-19 15:14:40 +01:00
Lukáš Tinkl 9c5d132cb0 fix(ManageTokensGroupDelegate): some smaller UI fixes
- add placeholder image if the collection/community has none
- elide the whole group name, taking into account the copy button
- fix the tooltip position over such elided text
- do not go overboard and don't use a StatusSmartIdention just to to
display a rounded icon/image
2024-03-19 14:18:55 +01:00
Alex Jbanca 3b57ece338 fix(ProfileShowcase|): Change stroke position from the outside to inside 2024-03-19 15:07:46 +02:00
Stefan 1b77695e01 feat(settings) add notification to biometrics enable
Closes #13896
2024-03-19 13:20:05 +01:00
Stefan db6e24e4c3 fix(settings) fix toggle button for change password screen
Updates #13898
2024-03-19 13:20:05 +01:00
Stefan 69312aed29 feat(settings) blur background when re-encrypting due to password change
Closes: #13992
2024-03-19 13:18:56 +01:00
Lukáš Tinkl 5eb825cbe3 fix(permissions): Unable to Confirm Changes to Existing Community Permission
- distinguish between `permissionTypeLimitReached` and the new
`permissionTypeLimitExceeded`
- the latter is used to enable/disable the "Save" button when editting
the permissions as we're not going to add a new one (going over the
limit), and to also hide the warning texts

Fixes #13989
2024-03-19 12:22:03 +01:00
Lukáš Tinkl 4b36054d6a fix(WalletView): apply to wallet doesn't apply the order
- we _always_ want to save the changes, it's the toasts that we don't
want to see when looking at the Advanced tab

Fixes #14016
2024-03-19 10:35:18 +01:00
Michał Iskierko 9ed38bddb7
13291 hide channels (#13876)
* feat(@desktop/communities): Hide channels if the user is not permitted to view and hideIfPermissionsNotMet is set

Extend chats model with channel permissions info and hideIfPermissionsNotMet.
Visibility of chat item is based on: member roles, channel permissions, hideIfPermissionsNotMet.
If all channels from category are hidden, category item is also hidden.
If all chats in community are hidden, infomration label is displayed.

Issue #13291

* chore(@desktop): Upgrade status-go

Issue #13291
2024-03-18 13:33:07 -04:00
Stefan 79fa3795ca fix(settings) fix popup spacing for change password modal
The extra space was not needed given that modal has a padding of 16
already

Closes: #13894
2024-03-15 17:56:00 +01:00
Stefan 086180b47a chore(settings) align password screen with design
Changes required:

- Fixed text colors
- Fixed text expressions
- Added dividers
- Added labels

Closes #13893
2024-03-15 17:52:59 +01:00
MishkaRogachev b37f0f0fd8 feat: emit signals on saving profile identity 2024-03-15 10:22:55 +01:00
MishkaRogachev 8a5164db68 feat: emit signals on saving profile showcase preferences
Close #13968
2024-03-15 10:22:55 +01:00
Alex Jbanca 3a3c3204fa
fix(ProfileShowcase): Add live preview support in the profile view (#13972)
* fix(ProfileShowcase): Add live preview support in the profile view

* Update ui/imports/shared/views/profile/ProfileShowcaseView.qml

Co-authored-by: Lukáš Tinkl <lukast@status.im>

---------

Co-authored-by: Lukáš Tinkl <lukast@status.im>
2024-03-14 19:31:38 +02:00
Lukáš Tinkl e5567d06f4 fix(Profile showcase): Update showcase visibility button UI
- correct width and radius
- correct padding
- remove border
- use a regular `StatusButton` instead of `DisabledTooltipButton` +
`StatusRoundButton`
- add the missing dropdown indicator

Fixes #13941
2024-03-14 18:00:27 +01:00
Lukáš Tinkl d25cefcc2e fix(StatusBaseButton): adapt to handle actions when it is disabled
- add an `interactive` property as a drop-in replacement for `enabled`;
the UI looks "disabled" but can still display e.g. a tooltip or some
loading animation
- add the ability to display a tooltip
- remove DisabledTooltipButton and replace it with a regular
`Status(Flat)Button`, using the above new features
- update storybook with the new `interactive` switch

Fixes #10185
2024-03-14 18:00:27 +01:00
Igor Sirotin da4105784a
fix(UserListPanel): use new `FastExpressionRole` (#13299) 2024-03-14 15:23:58 +00:00
Alex Jbanca 7be70ff010 fix(CommunitySettings): Load the community settings on demand and preserve the load state 2024-03-14 13:49:58 +02:00
Alex Jbanca 4ca7e9b32d fix(DisplayNameValidation): Integrate duplicate display name in joined communities 2024-03-14 09:18:39 +02:00
Jonathan Rainville 634591b69f
feat: hook reactions in read only channel and fix issues (#13913)
* feat: hook reactions in read only channel and fix issues

Fixes #13523

* fix crash and missing emoji popup on group chats

* code review fixes
2024-03-13 15:13:41 -04:00
Alex Jbanca 24d6c6d273 feat(profileShowcase): Sync collectibles context menu with account visibility 2024-03-13 17:51:23 +02:00
Noelia 66c51ed777 feat(ProfileShowcase): Add network prefixes and filter watch only accounts
- Added network prefixes in profile showcase accounts delegate and included them in the searcher.
- Added filter to just display own accounts in profile showcase accounts tab.

Closes #13899
2024-03-13 14:37:03 +01:00
Noelia f31d6131c3 feat(CollectiblesView): Always visualize section header if community minted collectibles are present
- If only minted collectibles, section header visible. Otherwise, if only regular collectibles, section hidden.
- Updated header used to `FoldableHeader`.

Closes #13315
2024-03-13 12:50:20 +01:00
Noelia 5b71ead227 fix(CollectibleView): Community tag correctly elided
Specified text width to correctly elide on the right.
2024-03-13 12:50:20 +01:00
Noelia 08114728d6 fix(CollectibleView): Some strange layout behaviour caused by this syntax
Syntax error.
2024-03-13 12:50:20 +01:00
Khushboo Mehta 2f0343f0e9 feat(@desktop/wallet): Main Collectible Detail View enhancements
fixes #13804
2024-03-13 11:46:49 +01:00
Mikhail Rogachev 611d70a3b2
feat: Save profile identity in one json (#13937) 2024-03-13 10:46:40 +01:00
Alex Jbanca 7f78c03e6a feat(ProfileShowcase): Remove unnecessary roles renamings from profile showcase models 2024-03-13 10:02:30 +02:00
Mikhail Rogachev b77d6ab76f fix: Switch profile showcase to the right models (#13924) 2024-03-13 10:02:30 +02:00
Alex Jbanca 4ef30a91a3 feat(ProfileShowcase): Create dirty state component for the web tab and integrate the UI 2024-03-13 10:02:30 +02:00
Alex Jbanca aed1ae77c3 fix(ChannelPopup): Fix channel popup width 2024-03-12 17:08:27 +02:00
Lukáš Tinkl 666ba77051 fix[onboarding] Broken links to "Terms" and "Privacy"
- display the locally bundled privacy/terms of use texts in a popup
- add support for reading text files with both relative and absolute
files or URLs, useful for having the same file path in both storybook
and the app

Fixes #13877
2024-03-11 20:30:59 +01:00
Alex Jbanca e7a1f5e831 feat(ProfileShowcase): Sync dirty state with the source model
Whenever the source model becomes identical to the showcase dirty model, the dirty flag is removed
2024-03-11 20:58:55 +02:00
Dario Gabriel Lipicar af84d788ff feat(@desktop/wallet): display balance in collectibles view
Closes #12940
2024-03-11 09:10:01 -03:00
Lukáš Tinkl 96c7795153 fix(Settings): simplify the handling of the leftMargin
- reuse the existing `Constants.settingsSection.leftMargin` without the
required property
2024-03-11 12:44:16 +01:00
Anthony Laibe 115610fcf6 feat(@wallet): unknown token 2024-03-11 11:29:32 +01:00
Jonathan Rainville 6cbdcfdcf2 fix: fix token master can't send a message on permissioned channel
Fixes #13779

The problem was that the permission update some times takes time to get propagated and get back, or even the control node is offline, so the TM would not be able to post, because the backend would detect that there is a permission and that we don't have the key for it.

The solution is to block the UI when a permission update is pending, since we can't post correctly while it is not processed by he control node.
2024-03-08 17:26:36 -05:00
Mikhail Rogachev 74dfd181c3
feat: Add new simplified model for profile showcase preferences (#13708)
* feat: Add new simplified model for profile showcase preferences

Close #13688

* feat: Add new api for saving profile showcase preferences

* feat(ProfileShowase): Save action with the new backend

- Created JSON file according to new backend structure when saving.
- Updated `dirty state` to sync writable and movable models when position is changed to have a better internal models sync.
- Reenabled identity fields save.

Closes #13799

* feat(ProfileShowcase): Showcase limit values integration with backend

Updated showcase limits with values coming from backend.

---------

Co-authored-by: Noelia <noelia@status.im>
2024-03-08 21:11:48 +01:00
Lukáš Tinkl 29c61d8135 fix: Hide fleet selection from settings
- introduce `ENABLE_FLEET_SELECTION` desktop config entry to control the
Fleet selection UI availability
- UI can be enabled with envvar `STATUS_RUNTIME_ENABLE_FLEET_SELECTION=1`

Fixes #13848
2024-03-08 13:29:28 +01:00
Noelia a9b5d8fcf7 feat(ProfileShowcase): Add search input in all tabs
- Added searcher input in header.
- Added 2 filter proxies for hidden and inshowcase models depending on search text.
- Added filter expression per showcase tab (accounts, collectibles and communities).
- Added specific placeholder when search empty.
- Added specific logic when search active.
- Added search validation.

Closes #13508
2024-03-08 10:43:07 +01:00
Lukáš Tinkl 418d6bcc35 fix: Collapse / expand section header icons in collectibles view
- use the right icons for collapsed/expanded state
(this should probably use the existing `FoldableHeader` component)

Fixes #13774
2024-03-07 22:18:50 +01:00
Noelia b92974ffff feat(ProfileShowcase): Display counter in `In showcase` section header and elements limit
- Added counter in showcase header.
- Added placeholder when limit reached and section expanded.
- Added placeholder when limit reached and section collapsed.
- Added green animation when section collapsed and element added.
- Disabled showcase delegate context menu when limit reached.
- Dynamic tooltip offset center added.
- Added model changes tracker to track the in showcase count.

Closes #13507
2024-03-07 16:10:46 +01:00
Cuteivist 3188250b1d
feat(wallet): Add asset sorting by 1 day fiat change (#13826) 2024-03-07 14:47:17 +01:00
Alex Jbanca 4d6082e806 feat(ProfileShowcase): Updates based on comments 2024-03-06 14:49:54 +02:00
Alex Jbanca e304d9b76b feat(ProfileShowcase): Implement workaround for the inline components not working
This commit will fix the linux and windows builds by removing the usage of public inline components

TODO: revert this commit once all platforms are migrated to qt 5.15.8+
2024-03-06 14:49:54 +02:00
Alex Jbanca 4a4a5d5c4b feat(ProfileShowcase): Adding the MovableModel to the ProfileShowcaseModels to intercept the SFPM events
This is needed for the DND.
2024-03-06 14:49:54 +02:00
Alex Jbanca 07484cb15c feat(ProfileShowcase): Simplify ProfileShowcasePanel API and connect to the new models
1. Fix `EmptyShapeRectangleFooterListView` visibility and positioning after ListView items are animated out of view
2. Update `ShowcaseDelegate` to remove modelObject dependency. The UI properties needed will be received from parent
3. Update `ProfileShowcasePanel` to remove the previous logic involving rows move and visibility change. There is no need now for two specialised delegate components (one for in showcase and one for hidden). The delegate is still configured outside of this component because the model rolenames need to be mapped to the delegate properties. The common delegate logic is implemented in the `ProfileShowcasePanel` and only the model mapping is needed from parent component.
3. Update all `ProfileShowcase*Panel` to impement the new API
4. Remove all `*ShowcaseDelegate`. The delegate is simple enough to be configured at once in the Panel
2024-03-06 14:49:54 +02:00
Alex Jbanca fbcd90ef3b feat(ProfileShowcase): Update ProfileShowcaseModels to support nim models
1. Adapt and unify model rolenames
2. Add support for dirty state
3. Add reset
2024-03-06 14:49:54 +02:00
Alex Jbanca 5a3bca9a51 feat(ProfileShowcase): Remove assets tab from settings and profile dialog
The assets tab will be implemented later on. It's not needed for this milestone
2024-03-06 14:49:54 +02:00
Alex Jbanca 49aa747fdf feat(ChannelPermissions): Show confirmation dialog before closing the channel edit popup 2024-03-06 14:40:23 +02:00
Khushboo Mehta 3118931ab8 fest(@desktop/wallet): Update Desktop UI to correctly call the router and send
fixes #13797
2024-03-06 12:31:16 +01:00
Ivan Belyakov da226b75aa feat(wallet): resize saved address popup to remove network selection
when ENS name is resolved. Resolve ENS name before used in SendModal.
UI tweaks:
  - red stroke on address input in case of error
  - smaller tick for validation address input
  - added validation spinner to address input, removed from the button
  - handled tab key to move focus between inputs
2024-03-06 08:52:23 +01:00
Lukáš Tinkl b623c8fb2b fix(chat input): should be disabled if user is not able to post
- extend `isUserAllowedToSendMessage` to also cover
`Constants.chatType.communityChat`
- let `admin` always satisfy the permissions
- hide the add emoji/reaction button instead of disabling it when the
permissions are not met
- adjust the error msg to better reflect the reality (tokens vs.
permissions)

Fixes #13777
2024-03-05 18:13:29 +01:00
Noelia 954b25a54c feat(SettingsContentBase): Dirty bubble horizontally centered correctly
Manual calculation of bubble postion to be correctly centered due to the usage of `SettingsContentBase` as a centralPanel component that already has a default left margin value.
2024-03-05 17:54:10 +01:00
Noelia d12641264a feat(SettingsContentBase): Save changes bubble overlaid by default
- Added `autoscrollWhenDirty` property to be able to configure the settings content base as autoscroll mode when dirty toast appears. Otherwise, the toast will be shown overlaid on top of the view content.
- Updated profile view to setup autoscroll on `Identity` tab. Rest of app cases are setup with the overlay mode.

Closes #13517
2024-03-05 17:54:10 +01:00
Dario Gabriel Lipicar 96d9acf1f0 feat(@desktop/wallet): implement jump to activity details screen from collectible details activity tab
Fixes #13721
2024-03-05 07:41:20 -03:00
Anastasiya Semenkevich f3bf194187 chore: add object name for settings left panel 2024-03-05 10:41:39 +03:00
Noelia babedf4272 feat(ProfileShowcase) Web tab visual updates according to new design
- Updated `AddSocialLinkModal` according to new design.
- Modified main social links items according to new design.
- Updated edit modal according to new design.
- Some text validation updates.

Closes #13511
2024-03-04 10:54:12 +01:00
Sale Djenic e44774dd88 fix(wallet): move to keycard option should not be available for private key imported key pairs
Closes #13796
2024-03-04 10:26:23 +01:00
Sale Djenic 65c553b9e8 fix(wallet): warning that key pair requires import disappears after adding new acc on paired device
Fixes: #13795
2024-03-04 10:26:08 +01:00
Lukáš Tinkl fda1d37c5b feat(Profile flow): ID verification flows (incoming/outgoing)
- Send/request ID verification
- Reply to incoming ID request
- Review ID verification reply
- adjust SB and add shortcuts to trigger the various states of the ID
verification flows

Fixes #13709
Fixes #13745
Fixes #13747
2024-03-04 09:56:30 +01:00
Mikhail Rogachev 0455832f92
feat: Add `scanCommunitiesMembersForName` endpoint (#13789)
Close #13434
2024-03-01 22:12:19 +03:00
Jonathan Rainville c9fd4ebcee feat(communities): hook promoteSelfToControlNode to UI
Fixes https://github.com/status-im/status-desktop/issues/13560
2024-02-29 12:29:39 -05:00
Mikhail Rogachev f934615752
feat: Add api for getting full pending CR object (#13749) 2024-02-29 12:49:37 +03:00
Alexandra Betouni cdbe3a7718 [ProfileSettings]: Added biometrics in password change view
Closes #13302
2024-02-29 11:44:59 +02:00
Godfrain Jacques 0a42bd0742
(desktop/fix) Fix Owner token holder representation (#13712)
fix #12065 token owner presentation in Token section by displaying the owner
token holder as contact
2024-02-28 10:02:44 -08:00
Ivan Belyakov 09c0f1b0c8 feat(wallet): ReceiveModal dialog UI tweaks
Closes #13386
2024-02-28 17:23:46 +01:00
Dario Gabriel Lipicar 10c44b8038 feat(@desktop/wallet): implement collectible details activity tab
Fixes #12311
2024-02-28 13:07:48 -03:00
Mikhail Rogachev 6ac2f92200
feat: add `markAsTrusted` endpoint (#13751)
Close #13716
2024-02-28 16:50:40 +03:00
Michal Iskierko 3b5d55090d fix(@desktop/permissions): Handle correct values in permissions
Add new field AmountInWeis to token criteria dto.
Keep strings instead of floats in token_criteria_item.
HoldingSelectionModel keeps amount in wei-like units but they are displayed in permissions as floats (divided by decimals).

Issue #11588
2024-02-27 19:33:27 +01:00