Commit Graph

187 Commits

Author SHA1 Message Date
Khushboo Mehta 1d99d8ae97 chire(@desktop/wallet): Streamline send modal folder structure
fixes #12140
2023-09-15 13:43:59 +02:00
Lukáš Tinkl a75890d7be fix(Communities): fixed channel color picker dialog
Closes #9696
2023-09-15 10:27:56 +02:00
Noelia 0a930fc9b1 fix(MintTokens): Network chosen locks in the network used for all future tokens minted for that community
- Mint Owner token / TokenMaster token form: Changed text description for network field.
- Mint asset / collectible: Lock network. It should be the same network than the owner token one.
-  Mint asset / collectible: Additional simplification / clean-up of description field.
- Added network model helper file.

Fixes #11989
2023-09-14 16:19:09 +02:00
Vladimir Druzhinin 29665956f1
Test(Community) Object names added (#12127) 2023-09-12 10:55:40 +02:00
Noelia 93a69893d9 fix(Permissions): Tweak to Owner and TokenMaster permissions wording
Fixes #12004
2023-09-12 10:18:18 +02:00
Alexandra Betouni ed065a94f9 fix(URLUnfurling): Updated image context menu
Also moved copyToClipboard function in Utils
and updated Chat section to use it from there

Closes #11941
2023-09-12 00:04:08 +03:00
Alex Jbanca 624b758c85 fix(Update fees periodically): Implementing periodic fee update for airdrops, minting, self destruct and burning transactions 2023-09-08 23:25:04 +03:00
Alex Jbanca f9e7265447 fix(Update fees periodically): Update airdrop flows to use fees subscriber 2023-09-08 23:25:04 +03:00
Noelia b3c74de234 fix(Airdrop): Update owner and tmaster tokens visualization in airdrop's list
Added filter in collectibles airdrop's list:
- TMaster token will be shown ONLY if user is the community owner.
- Owner token is always hidden.

Fixes #12089
2023-09-08 10:40:10 +02:00
Lukáš Tinkl e106be9b12 feat: Single discord channel import UI flow
Closes #12039
2023-09-07 14:52:53 +02:00
Jonathan Rainville bc4a150afa feat(shared_addresses): get old shared addresses for the edit popup
Fixes #11973
2023-09-01 09:31:40 -04:00
Michał Cieślak 0d2f11912c feat(Communities): Integrate kick/ban actions with token holders list
Closes: #11033
2023-09-01 14:11:31 +02:00
Valentina1133 d684acd835
test(Communities) Adding permission test automated (#11993) 2023-08-31 12:31:43 +07:00
Michał Cieślak 1bc7eb374b fix(BurnTokensPopup): Handle non-integer values for assets
Closes: #11864
2023-08-31 00:37:23 +02:00
Jonathan Rainville 789a01cf09 feat(shared-addresses): add loading state for checking permissions
Fixes #11893
2023-08-30 10:48:12 -04:00
Lukáš Tinkl a42ac076ca fix(shared-addresses): wrong account color and type
- rename `watchOnlyAccounts` to `nonWatchAccounts` to reflect what the
property returns
- some warning fixes

Fixes #12023
2023-08-30 10:30:50 +02:00
Michal Iskierko da30b8d2d8 fix(@desktop/communities): Pass addressFrom from UI to contract calls.
Use address set in UI instead of deployer.

Fix #11827
2023-08-25 15:48:51 +02:00
Alex Jbanca 5fb057f61f feat(MembersTab): Update pending states based on new design
Adding the pending state indicator as a separate item in the members tab listView.
Removing the pending indicator from Buttons.
2023-08-22 21:55:52 +03:00
Mykhailo Prakhov 3f5df7e3ef
feat: owner and token master permissions (#11942) 2023-08-22 20:09:34 +02:00
Mikhail Rogachev cc83098263
feat(Communities): Improvements for token holders list (#11923)
* feat(Communities): Refactor token holder list item to separate file

Close #11858

* feat(Communities): Use contact details for community member info

* feat(Communities): reuse StatusMemberListItem for member token holder

* Review fixes

Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>

---------

Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>
2023-08-22 18:34:37 +03:00
Jonathan Rainville 8332a685c4
Hook pending join request backend to new UI (#11914)
Fixes  #11851
2023-08-21 15:07:40 -04:00
Boris Melnik 95f829665b
feat(communities): Update permissions list for spectated community tokens model (#11803)
Fixes: #11480

* hook up join popup to permission model

* fix chats not being put in the permission model

* make it work with channel permissions as well

---------

Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2023-08-21 14:54:57 -04:00
Michał Cieślak 79a195b7c9 fix(Utils): Sanitize string representing amounts in FeeRow
Closes: #11929
2023-08-18 17:07:20 +02:00
Michał Cieślak 02d16cb22f fix(Airdrop): Use remaining supply to display and validate amounts
Closes: #11917
2023-08-18 15:53:13 +02:00
Alex Jbanca 33b8ca84e8 feat: Disable community membership request actions when the request is in action pending state
The actions are disabled by default. The proper visibility can be set when the backend implementation is done.

+ Fix one issue where the button tooltip was triggered when the pending state button is not visible
2023-08-17 21:14:43 +03:00
Michał Cieślak 81cc2070e9 fix(Communities): Remotely destruct popup for regular collectibles integrated
Closes: #11924
2023-08-17 17:26:30 +02:00
Michal Iskierko d031072514 fix(@desktop/communities): Restart fee timer only when the dialog is opened
Fix #11921
2023-08-17 14:11:11 +02:00
Lukáš Tinkl 5b2a7b9264 fix: the member search is adding empty spaces on the search results
Also fix other smaller issues found in this panel:
- display correct user name (not just `model.displayName`)
- do not display tooltips for invisible buttons
- vertically center the action buttons
- use `SearchBox` for consistency

Fixes #11848
2023-08-17 14:05:40 +02:00
Michał Cieślak 1c50ec17a8 chore(Communities): Refactor amounts handling for displaying, minting, airdropping and burning
Closes: #11491
2023-08-17 11:26:25 +02:00
Mikhail Rogachev f4b028bd71
feat(CommunityTokens): Display community member contact data for token holders list (#11787)
* feat(CommunityTokens): proposal of CommunityCollectibleOwner

Close #11143

* feat(Communities): implement viewProfile from token holders list

* fix: re-request community token owners after a contact get removed from a community
2023-08-17 11:24:14 +04:00
Michal Iskierko a7b5ab30a0 fix(@desktop/communities): Set up isTokenMasterOwner flag correctly in UI
Fix #11276
2023-08-16 12:11:12 +02:00
Michał Cieślak 197c211fbc fix(EditOwnerTokenView): Fee errors handling fixed
Closes: #11823
2023-08-16 10:20:48 +02:00
Michal Iskierko 0c78a648b5 fix(#desktop/communities): Remove temp minting and temp airdrop buttons
Improve logs in community tokens service.

Issue #11250
2023-08-14 21:40:57 +02:00
Noelia 6b8ef1411b refactor(OwnerToken): Refactored UI roles `isPrivilegedToken` and `isOwner`
Refactored UI expecting backend role: `privilegesLevel`.
Added privileges level possibilities into `Constants`.
Updated storybook accordingly.
2023-08-14 21:40:57 +02:00
Michal Iskierko 603d4dd4d8 feat(@desktop/communities): Deploy Owner and Master tokens flow.
Issue #11250
2023-08-14 21:40:57 +02:00
Alexandra Betouni 3ce0215c88 feat(RemotelyDestructPopup): Added fee box
Closes #11624
2023-08-11 19:22:02 +03:00
Alex Jbanca 7d4df690c5 feat: Add Ban/Kick Pending state in the Community members settings. 2023-08-11 17:55:51 +03:00
Alexandra Betouni 0676f49f4c feat(BackUpSeedModal) added enter key press handling
Closes #8309
2023-08-11 16:53:24 +03:00
Alexandra Betouni e6f9bfdcdd feat(RemotelyDestructPopup): Added fee box
Closes #11624
2023-08-11 16:53:24 +03:00
Alex Jbanca 7de4c2c5b1 fix(Permissions): Disable amount input for unique tokens
Changes in the Permissions design:
1. If the collectible is unique the amount input is disabled. 1 is auto-selected
2. Show `Max. 1` for unique tokens and empty string for other tokens

Changes in the Airdrop design:
1. Show `Max. 1` for unique tokens
2023-08-11 16:50:55 +03:00
Lukáš Tinkl 22258cc363 token-permissions: implement the UI "edit" flow for shared addresses
Fixes #11599
2023-08-11 15:38:42 +02:00
Noelia f721636452 refactor(CommunitySettings): Add SFPM for wallet accounts model in a single place
- It adds proxy of wallet accounts only in a single place (wallet root store) and pass the tuned model through the rest of views.

- It updates `storybook` accordingly.

Closes #11829
2023-08-11 13:02:29 +02:00
Jonathan Rainville 24d26cc038 feat(airdrop): get revealed accounts using new API instead of desc
Fixes #11817

Instead of getting revealed accounts from the community description (it's no longer available), uses the new `getRevealedAccountsForAllMembers` API. Uses it async so that we do not slow the start process. The model is updated correctly when we finish loading them.
2023-08-10 11:59:09 -04:00
Alex Jbanca 7d0d321b35 feat(community): Add Pending states to community membership request decisions in members tab panel 2023-08-10 18:02:27 +03:00
Noelia 351309a2c6 feat(Permissions): Adding, duplicating, editing and deleting permissions when control node is offline
- It adds info panel when control node is offline.
- It modifies UI texts when control node is offline.
- It updates storybook updating permissions model and allowing permission state changes.

NOTE: Only UI, no backend. There is 1 expected integration point: permissions model item `permissionState` role.

Closes #11769
2023-08-10 16:52:47 +02:00
Alexandra Betouni a1e1e316db fix(TokenHoldersPanel): Added sorting feature
Closes #11032
2023-08-08 17:32:49 +03:00
Noelia d136d9bb67 feat(BurnToken): Add fee box with network selector to Burn popup
- It adds fee box into the Burn popup component.
- It updates storybook accordingly.

Closes #11609
2023-08-08 14:37:56 +02:00
Patryk Osmaczko 15701e91aa feat(communities): add check permissions pending state
closes: #11157
2023-08-08 08:58:26 +02:00
Alexandra Betouni a36f0d8ce8 feat(Communities): changes in import popup for private keys
Closes #11245
2023-08-07 15:26:35 +03:00
Alex Jbanca 9be2a8d799 feat(Community Overview): Trigger chart data updates on specific actions + optimise the backend calls
This commit includes the following changes:
1. Request from backend the messages count in a specific interval as opposed to all messages timestamps in that interval.
2. Update the chart end date before refreshing the data
3. Fix metrics type parsing in community service
4. Fix a bug where the new incoming data was not processed by ChartJs without a hover event on the chart. The fix here is to manually request paint() on model changes.d

Issues found and not handled here:
1. On large communities the backend request can take 3 minutes to complete
2. CPU usage can easily go to 100% when switching chart tabs on large communities. All the requests are processed by the backend.
2023-08-07 11:12:21 +03:00
Noelia ecf5efb94e fix(Minttoken): Account selector is no longer present under fees section
It seems that for `macOS`, `ParentChange` trigger was not correctly set if using specific `when` condition on desktop app (working properly on storybook). Setting it always to `true`, it does the trick and reparents footer component as expected.

Fixes #11742
2023-08-04 16:48:20 +02:00
Michał Cieślak edae7bf818 feat(Communities): Add animation in token holders list when remotely destuct completed
Closes: #11775
2023-08-04 09:41:43 +02:00
Michał Cieślak b4891a65b5 feat(Communities): Present remotely destruct in progress in token holders list
- some adjustments to updated design
- figma links added
2023-08-04 09:41:43 +02:00
Michał Cieślak a793865835 feat(Communities): Add TokenMasterActionPopup to MintTokensSettingsPanel
Closes: #11622
2023-08-03 16:26:34 +02:00
Michał Cieślak 383cd6dcf7 feat(Communities): TokenMasterActionPopup added for Remote destruct, Kick and Ban actions 2023-08-03 16:26:34 +02:00
Michal Iskierko 780a6b6c68 feat(@desktop/communities): Expose remote destruct state to UI.
Issue #11182
2023-08-03 12:18:55 +02:00
Mikhail Rogachev edba946a71
feat(Community): Community messaging statistics chart (#11696)
* feat(Community): Community messaging statistics chart

Close 11152

- Use se `collectCommunityMessageMetrics` for messaging statistics chart
in community overview

* feat(Community): Transfer community metrics with dto objects

* feat: impl simple string-based model for community metrics

* fix(Community): Review fixes and fix for changing community when chat is open

* Update src/app/modules/main/chat_section/controller.nim

Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>

---------

Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2023-08-02 20:03:52 +04:00
Jonathan Rainville dd346319ff feat(communities): add spectatedCommunityPermissionModel to communities
Fixes #11746
2023-08-02 11:00:46 -04:00
Noelia 33c9771d3b fix(Mint): No redirect to Tokens screen when minting a token
Fixes #11731
2023-08-02 15:55:36 +02:00
Noelia 939dc03728 feat(OwnerToken): Add `Retry` button
- In case of `Owner` and `TMaster` token deployment failed, a `Retry` button must be shown in minted tokens pages and it will navigate to the `Edit page` the same way it's done by using `Retry` button inside the item selected.
- Updated storybook accordingly.

Closes #11613
2023-08-02 11:56:48 +02:00
Lukáš Tinkl 3d2deb5335 fix: Revisit character set usage (ASCII/Latin1/UTF-8) in description fields
Restrict the character set to basically 7-bit ASCII plus some punctuation
in community/chat/profile related popups in order to:
- reduce the risk of impersonation (UTF-8 characters might look the same
despite being a different codepoint)
- narrow down the set of characters in order to keep the new share URL
format short

Closes #11307
2023-08-02 09:52:48 +02:00
Noelia d832a306a4 fix(Minting): After minting completed 1 airdrop button is enabled and the other disabled
- Added `buttonEnabled` property to `StatusInfoBoxPanel` so it can be set from outside.
- Fixed airdrop button enable condition in minting flow. It is enabled when minting state is completed and if the token properties are infinite supply or there are still remaining tokens to be airdropped.
- Updated storybook accordingly.

Fixes #11496
2023-08-01 13:20:31 +02:00
Khushboo Mehta 6c5c36584a feat(@desktop/wallet): Account view - Prefered network
fixes #11578
2023-08-01 09:51:33 +02:00
Jonathan Rainville 515028222e feat(airdrop): make the airdrop member selector use the airdropAddress
Fixes #11532

Hooks the Airdrop views to the new airdropAddress model property so that the fee calculation and the airdrop transaction can use a valid address.
2023-07-31 11:34:10 -04:00
Jonathan Rainville 6e346d2c0d feat(Communities): changes in import popup for public keys
Also: refactor(communities), moved request to join funcs to communities module
This is needed because we can now request to join from the Import popup

Closes #11242
2023-07-28 18:53:59 +03:00
Lukáš Tinkl bb2bbfb5b6 fix: Review scrolling behavior for holdings dropdown
- remove padding and use margins so that the listview can span the whole
width while having the scrollbar neatly next to it
- make the section header both inline and floatable (which makes it
always visible, even when scrolled away)
- fix the special search results "section" to behave the same way
- sort the results by category and name
- expose the `allTokensMode` for easy testing with storybook

Closes #10201
2023-07-28 17:46:29 +02:00
Michał Cieślak 190a3b775e feat(Communities): Add fee box and updated sign popup to standard minting flow
Closes: #11303
2023-07-28 12:49:14 +02:00
Michał Cieślak f4d66a244e feat(Communities): Add fee box and updated sign popup to owner/token master tokens minting 2023-07-28 12:49:14 +02:00
Alex Jbanca 90f4d60059 feat(ControlNode): Show toast notifications when the control node state changes
1. Fix an issue where importing a community using private key triggers the import finished event without updating the community data if the community is already imported with public key
2. Show toast messages on importCommunity and privateKeyRemoved events
3. Group community import toast messages handlers and move them from ContactsColumnView to AppMain. IMO these toast messages handlers should not be dependent on ContactsColumnView.
2023-07-28 10:03:10 +03:00
Pascal Precht 5351f2b694 feat: implement retrying deploying community contracts
Ultimately, this means deleting/removing the entry of the previously
failed deployment, then performing a new transaction.

Closes #11186
2023-07-27 09:32:03 +02:00
Michał Cieślak ed13b61c3a chore(Community Airdrop): Update fees box according to the desing
Now it allows to select account for paying fees.

Closes #11605
2023-07-26 17:59:45 +02:00
Michał Cieślak 3c65d2e69e chore(Communities): Fees box - use danger outline for account selector when error 2023-07-26 17:59:45 +02:00
Michał Cieślak 8524e37844 chore(Communities): Fees box - add showAccountsSelector flag
It allows to show/hide selector without losing it's state.
2023-07-26 17:59:45 +02:00
Michał Cieślak 7f27695f12 chore(Communities): Align fees box sizing to updated design 2023-07-26 17:59:45 +02:00
Lukáš Tinkl 94c29d1e60 fix: Mint tokens screen uses different border colors for boxes
plus a couple of other dark mode fixes

Fixes #11633
2023-07-26 14:38:27 +02:00
Patryk Osmaczko faa425dd29 refactor(communities): rename `inviteUsersToCommunity` to `shareCommunityToUsers`
This change corrects legacy naming that was causing confusion.

Community invites are no longer sent to users. Instead, the community is
just shared. If a user is interested in joining this shared commmunity,
they must submit a request to join.
2023-07-26 14:09:21 +02:00
Alex Jbanca 8d335ab210 feat(ExportControlNode): Connect Export Control Node popup to backend
Connect `onDeletePrivateKey` to backend.
Depends on https://github.com/status-im/status-desktop/pull/11640
2023-07-25 15:44:58 +03:00
Alex Jbanca 4aaae242b5 feat(Import Control Node): Adding ImportControlNode flow
1. Create a new popup as per Design: ImportControlNodePopup
2. Add the popup in storybook
3. Integrate ImportControlNodePopup in the app
2023-07-25 15:02:45 +03:00
Alex Jbanca 83303a011e feat(CommunityOverview): Update Control Node help page URL opened by Learn more button
Updating the help URL.
2023-07-25 15:02:30 +03:00
Lukáš Tinkl a2e6227117 feat: disable community settings while in Testnet mode
- display an info box when in wallet testnet mode with a CTA to disable
it (functionality enabled for production builds only)
- the CTA can be tested/seen via OverviewSettingsPanelPage storybook page

Closes #11468
2023-07-24 19:29:13 +02:00
Michał Cieślak 715ed2a918 feat(Communities): Redesigned fees box and sign tx popup components added
Closes: #11600
2023-07-24 17:14:00 +02:00
Mikhail Rogachev b75d8630ca
feat: use community.isControlNode as visible for archiveSupporVisible (#11560)
Close #11089
2023-07-22 01:05:42 +04:00
Noelia d2051c6247 feat(OwnerToken): Add all mint states views design details
- Added `storybook` support to change minted tokens model with Owner and TMaster tokens.
- Added new properties into the `tokenModel` model.
- Extended `CollectiblesView` to allow Owner and TMaster tokens representation.
- Updated `MintedTokensView` in order to display Owner and TMaster tokens.
- Added logic to `enable/disable` MINT and AIRDROP token depending on the owner /  tmaster tokens deploy state.
- Added temp buttons in MINT and AIRDROP pages that keeps enabled the flows although owner and tmaster backend is not ready.
- Extended navigation from outsite to minting section, depending on user profile and owner and tmaster states.
- Hide footer options in case of owner token item visualized.
- Added retry flow.

Closes #11299
2023-07-21 17:25:08 +02:00
Lukáš Tinkl ef2d1b75ad fix: Burn and self destruct pop-ups are not closed after signing
- close the first popup before opening another
- fix `SignTokenTransactionsPopup` title (it would display "Burn
undefined tokens")
- remove duplicate close() calls
- `destroyOnClose: false` is the default

Fixes #11498
2023-07-21 15:23:45 +02:00
Lukáš Tinkl e744c847ad feat(token-permissions): display channel names in SharedAddressesPanel
Modify the PermissionUtils a bit to return an array of `[key, channelName]`
instead of just the keys and use it to display the channel names in the
permissions overview panel

(I could have used `QVariantMap` or `QJSonObject` here but those are
always sorted by `key`, so had to resort to using a plain vector/array)

Fixes #11584
2023-07-21 13:47:07 +02:00
Alex Jbanca 27c159d464 feat: Export control node (except backend for primary action)
Adding the export control node popup. The popup is behind an authentication wall.
1. Create ExportControlNodePopup qml
2. Add the popup in storybook
3. Create authentication flow with qml callback to open the popup after authentication
4. Add the popup open action in Global.qml
2023-07-20 12:11:17 +03:00
Michal Iskierko 64422afed7 feat(@desktop/communities): Add burning state logic
Expose burningState in the model.
Update burningState when burning operation changes its status.

Issue #11076
2023-07-20 08:16:32 +02:00
Pascal Precht 3370f4f42d fix: display notification when asset deployment fails
Closes #11338
2023-07-19 13:02:04 +02:00
Lukáš Tinkl 02e40adfca feat: New design flows to integrate Revealing addresses...
... when joining Community functionality

Closes #11138
2023-07-19 12:44:16 +02:00
Noelia c8cb2d6c7c feat(OwnerToken): Create `EditTokenView.qml` for mint owner token flow
- It creates a generic `TokenInfoPanel` that will be reused in different mint token views.
- It creates new `EditOwnerTokenView` and storybook page support.
- It adds new `EditOwnerTokenView` into the minting flow, linking sign transaction flow and adding needed method to the store to do the deployment.

Closes #11296
2023-07-19 11:15:46 +02:00
Alex Jbanca bed7db5528 feat(communityChart): Add messages over time chart - mocked data
Implementing community messages over time chart
Adding `OverviewSettingsChart.qml` to storybook
2023-07-18 08:43:59 +03:00
Jonathan Rainville 5f1483a595 fix: crash when request to join fails + add error toast when it fails
Fixes #11514

The problem was that we were not handling the error from request to join correctly.

Then I added an event that sends a signal to the QML to show a toast about an error. I don't show the actual error to the user because usually it's not super helpful. It will be in the logs.

The status-go change makes it so that we don't save the request to join if the permission check failed.
2023-07-14 15:11:57 -04:00
Noelia f3af979edf feat(OwnerToken): Admin view of Airdrops home - pre-Owner token minting
- New `Get started` panel for admins in `Airdrops` section added.
- Added support in `storybook`.

Closes #11472
2023-07-14 12:57:18 +02:00
Noelia c973605831 feat(OwnerToken): Admin view of Tokens home - pre-Owner token minting
- New `Get started` panel for admins in `Tokens` section added.
- Added support in `storybook`.

Part of #11472
2023-07-14 12:57:18 +02:00
Khushboo Mehta a468635ddc feat(@desktop/wallet): Networks - New List UX with link mainnet/testnet + testnet mode enable/disable
fixes #11252
2023-07-14 08:57:36 +02:00
Lukáš Tinkl 5b118f43f8 fix(Chat): Confirmation button UI is broken when deleting 1-1 chat
fixes a `StatusModal` porting error that broke `title` in a couple of
popups/modals

Closes #11503
2023-07-13 16:44:30 +02:00
Noelia 3a0954c5da feat(OwnerToken): Add Mint Owner token view
- Created new `Owner Token` and `TokenMaster Token` welcome screen.
- Navigations added.
- Storybook support added.

Closes #11292
2023-07-11 13:04:50 +02:00
Noelia eb37f44a23 feat(OwnerToken): Create Get started panel and add it to Tokens and Airdrops welcome views
- Added start panel in tokens welcome page.
- Added start panel in airdrop welcome page.
- Updated e2e tests according to new requirements.

Closes #11284
2023-07-11 11:07:01 +02:00
Noelia dea020fdba feat(MintToken): Updated sortable token holders with generic SQ component
Replaced existing `NoHoldersPanel` component to the generic `StatusInfoBoxPanel` one.
2023-07-11 11:07:01 +02:00
Noelia d4afc1fba6 feat(CommunitySettings): Changes section name from `Mint Tokens` to `Tokens`
Updated text according to new design.

Updated e2e tests according to new requirement.
2023-07-11 11:07:01 +02:00