Commit Graph

2197 Commits

Author SHA1 Message Date
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
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
Patryk Osmaczko 15701e91aa feat(communities): add check permissions pending state
closes: #11157
2023-08-08 08:58:26 +02:00
Igor Sirotin 34dba08b7a
fix: Only `scrollToMessage` when it's available in the database (#11784)
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
2023-08-07 23:52:04 +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
Igor Sirotin 129f81a01a
fix(MembersdSelectorView): fix the logic of opening CR popup (#11780) 2023-08-04 11:27:37 +03:00
Jonathan Rainville 164b84feb8 fix(RootStore): onCallbackFromAuthentication was moved to communities module 2023-08-03 09:16:03 -04:00
Patryk Osmaczko 354bd3e923 feat(communities): implement channel-level members
closes: #11660
2023-08-03 10:58:24 +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
Dario Gabriel Lipicar bf4af3d7d4 chore(wallet) remove transactions module
Bump Status GO to support session based activity requests

Transaction module was replaced by activity module,
this change removes the old code.

Details:

- Remove transaction.Item and use the DTO directly
- Replace the still using missing functionality
- Remove old way of fetching transactions in response to the history event
- Use activity filter to provide history for "recents" in Send.

Closes #11339
2023-07-31 19:01:33 +02: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
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
Boris Melnik 43a5d7eeeb feat(new-links): Parse url data and display
Fixes: #10852
2023-07-27 15:08:21 +03:00
Igor Sirotin 4a4e3c5663
fix: Propagate `root.linkPreviewModel` (#11673) 2023-07-26 17:09:36 +03: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
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
Igor Sirotin cc5f057b3a
Replace link previews with new unfurled data from the message (#11603) 2023-07-22 02:08:44 +03: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
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
Boris Melnik e109865f73 fix(community): Trim emojis in channels
Fixes: #11443
2023-07-12 12:45:10 +03:00
Igor Sirotin d7aa0582be
Switch to new URL unfurl API [sending messages part] (#11476) 2023-07-11 14:30:55 +03:00
Michał Cieślak b5d3a0cff9 fix(Community Permissions): handling collectible icons fixed
Closes: #11297
2023-07-05 11:41:45 +02:00
Igor Sirotin 80fef2179a fix: chat input preserved properties bugs 2023-06-29 11:29:52 -04:00
Jonathan Rainville e35945b76c feat(requestToJoin): add addressesToShare to requestToJoin call
Fixes #11154
2023-06-29 11:19:19 -04:00
Noelia 0ab8a62896 feat(Communities): Communities folder reorganization
- Renamed main `CommunitiesPortal` folder to `Communities`.
- Created new `layouts` folder.
- Moved layout files from chat to communities.
- Created new `helpers` folder.
- Moved helpers files from chat to communities.
- Moved `controls/community` files from chat to communities `controls`.
- Moved `panels/communities` files from chat to communities `panels`.
- Moved `popups/community` files from chat to communities `popups`.
- Moved `views/community` files from chat to communities `views`.
- Moved `CommunityBanner` file from shared to `Communities/controls`. Only used in communities context.
- Moved `CommunitySettingsView` and `CommunityColumnView` files from chat to communities `views`.
- Moved `PermissionsStore.qml` file to `shared/stores`.
- Updated imports.
- Updated storybook.

Part of #6204
2023-06-28 14:28:47 +02:00
Lukáš Tinkl 823054ec33 fix: Can't deploy collectible via community's mint token section
fix some refactoring error

Fixes #11287
2023-06-28 13:07:58 +02:00
Lukáš Tinkl 9107f15a77 [Mint Token] Update validation rule for name property
Fixes checking for duplicate token name in a case insensitive manner

Redo the `ModelUtils.contains(model, roleName, value, mode =
Qt.CaseSensitive)` in C++; more speed and add ability to search case in/
sensitive

Some more smaller fixes/speedups

Fixes #11204
2023-06-28 11:55:11 +02:00
Jonathan Rainville 28fa8271a6 feat(communities): update communities token list on token deploy
Fixes #11125

Updates the communities asset and collectibles lists when a new token is deployed.
Also refactors the section module to remove all that code and use the communities token list instead.
Adds community ID to the token list model so that we can show only the global tokens and the tokens from the community are shown in the community
2023-06-27 09:54:23 -04:00
Lukáš Tinkl 62fec738a1 [Mint Token] Automatically switch the typed text to uppercase in symbol input
allow uppercase ASCII only input, up to 6 characters

Fixes #11201
2023-06-27 12:35:41 +02:00
Pascal Precht 7b9c78b843 fix: don't allow admins to kick or ban admins
This hides the action items to kick or ban users if they happen to be
admins. There's also a change in status-go that prevents admins to kick
or ban other admins that has to land first here:

https://github.com/status-im/status-go/pull/3666

Closes #10936
2023-06-27 12:13:29 +02:00
Pascal Precht 04183a6271 fix: don't cause a wrong redirect when performing community admin
actions

Fixes #11146
2023-06-26 16:27:05 +02:00
Michał Cieślak 9f262a648c chore(CommunityTokensMinting): TokenObject - property-by-property assignment removed, retry flow simplified
Closes: #11050
2023-06-26 10:01:14 +02:00
Michał Cieślak 3a801955e8 chore(CommunityTokensMinting): TokenObject usage refactored
AssetObject and CollectibleObject removed to avoid distinguishing
between those two types in many places.
2023-06-26 10:01:14 +02:00
Lukáš Tinkl 620c7a746d feat(Settings/Communities): implement new communities list
Closes #11145
2023-06-23 16:48:26 +02:00
Anastasiya Semiankevich 9df6e68a77 chore(@CommunityNewTokenView.qml): add validation for decimal points input 2023-06-23 16:38:04 +03:00
Anastasiya Semiankevich b0a48f35ee chore(@CommunityNewTokenView): placeholder should differ depends on view
different placeholders for Asset and Collectibles view per figma
2023-06-23 15:09:25 +03:00
Lukáš Tinkl ae9a52397c fix: broken validation in Total finite supply field
do not try to assign `supply` value in case of error

Fixes #11122
2023-06-22 17:17:06 +02:00
Lukáš Tinkl bb7f744c57 fix: [Mint Token] Update supply validation rule text
Fixes #11190
2023-06-22 17:17:06 +02:00
Lukáš Tinkl ee8df8357a fix: Center collectible artwork field horizontally
Fixes #11187
2023-06-22 17:17:06 +02:00
Pascal Precht bea4c8c2ad fix: ensure view-and-post permissions are hidden when satisfied
This has slipped through during rebase.
We don't want to show the list of permissions to be fullfilled if they
are already satisfied
2023-06-22 12:53:39 +02:00
Noelia 1d086a9a65 fix(MintToken): 0/1 remaining label shown for a token with infinite supply
Fixes #11208
2023-06-22 12:17:34 +02:00
Noelia a671f7a9f8 fix(MintToken): Change remotely destruct text in summary view
Fixes #11199
2023-06-22 12:17:34 +02:00
Noelia 9b5efd59ef fix(MintToken): Footer options must be disabled in some cases
- Footer options must be disabled until minting process is completed.

- Airdrop footer option must be disabled if not available tokens to airdrop.

- Remotely destruct footer option must be disabled if no hodlers.

Fixes #11198
2023-06-22 12:17:34 +02:00
Noelia 6edfa002d2 fix(Airdrop): Airdrop item not inserted correctly
- After a rebase, signal properties were modified incorrectly.

- Also added protection to not push into the stack the same state more than ones and reset holdings model each time it is set.

Fixes #11147
2023-06-22 12:17:34 +02:00
Noelia 25b4f1a269 fix(MintToken): Can't get fees to remotely destruct tokens
After a rebase, signal parameter names were renamed incorrectly.

Fixes #11149
2023-06-22 12:17:34 +02:00
Alex Jbanca b128ed3ec1 fix: Mint tokens view - exclude watch accounts from accounts dropdown 2023-06-22 12:16:45 +03:00
Alex Jbanca 581ba8541b fix: Community permissions and tokens view horizontal scrolling 2023-06-22 10:02:59 +03:00
Lukáš Tinkl ecc1b5316f fix: community context menu should not say "Leave community" if not joined
- get rid of the `amISectionAdmin` for good (was done only partially in
82a1ed2f7a)
- fix the corresponding storybook pages

Fixes #10963
2023-06-21 11:17:13 +02:00
Alex Jbanca d79a93bb6a fix: InDropdown scrollable height 2023-06-21 09:54:43 +03:00
Pascal Precht b3329d790e feat: channel permissions
Closes: #10996, #10995, #10993, #10997, #9537
2023-06-20 21:57:37 +02:00
Alexandra Betouni 3e0a01883f feat(CommunityPemissions): Added chat input post rights panel
Closes #9436
2023-06-20 20:19:55 +02:00
Alexandra Betouni 61faa2df90 fix(CommunityOverview): adjusted info icon color
Closes #10899
2023-06-20 18:08:44 +03:00
Lukáš Tinkl fe9bb7d398 chore: Update StatusBaseButton content item layout
- introduce StatusButton storybook page with controls to play around
with the its options and variants
- StatusBaseButton: make the content item horizontally centered by
default
- StatusBaseButton: remove `textAlignment` and fix `textFillWidth` for
the intended usage
- fixup usage of the 2 above options which were introduced merely as a
workaround, mostly in wallet + corresponding storybook pages

Fixes #10903
2023-06-20 14:10:35 +02:00
Igor Sirotin f17e49fe32
fix: Community settings member context menu (#11150) 2023-06-20 10:14:25 +03:00
Jonathan Rainville 347bc9c9d7 feat(curated-comms): add permission model to curated communities
Fixes #10410

Adds the permission model to the curated communities model.

Also fixes the assetsModel and collectiblesModel used by the community portal, because it was using the basic Chat Store created in AppMain, but that store doesn't have the assets model.
2023-06-16 16:43:33 -04:00
Ivan Belyakov a7b78bb6e8 feat: Add scrolling velocity and deceleration settings to advanced
settings.
Fixed RadioButtonSelector using anchor.margins
2023-06-16 15:54:33 +02:00
Mikhail Rogachev fecf58102c
feat(Communities): Request to join should ask for a wallet password (#10967) 2023-06-16 15:02:03 +04:00
Michal Iskierko d57485c6e9 feat(@desktop/communities): Add burning collectibles functionality
Burn collectibles.
Displaying burning fee.
Displaying remaining supply.

Issue #10816
2023-06-15 17:11:15 +02:00
Igor Sirotin 407179cd10
fix(ChatColumnView): hide input when no active chat (#11107) 2023-06-15 16:58:32 +03:00
Michał Cieślak e0dd0b82ce feat(Community Airdrops): Dynamic fee calculation in the airdrop form
Closes: #10547
2023-06-15 14:32:52 +02:00
Noelia d4ba22f7bb feat(AirdropAssets): Enable assets tab in airdrop dropdown
- Added assets model.
- Added no data text for assets tab.
- Added navigation from airdrop to mint specific tab.
- Updated `HoldingsDropdown` component to allow network information for assets.
- Removed `isCollectiblesOnly` option in `HoldingsDropdown`. No longer needed.
- Updated `storybook` to support airdrop assets testing.

Closes #11056
2023-06-15 14:04:08 +02:00
Lukáš Tinkl 7bf7f272f3 fix: community context menu should not say "Leave community" if not joined
- differentiate between "Close" and "Leave" a community where the former
applies to spectated communities
- move the "leave community" confirmation popup to a shared place
(Popups.qml), extend it with the outro message and reuse it everywhere
- don't let admins leave a community
- some minor cleanups and dead code removals

Fixes #10963
2023-06-15 12:22:04 +02:00
Mykhailo Prakhov 82a1ed2f7a
feat(@desktop/community): Community admin permissions (#10909)
* chore:
- replaced admin bool to memberRole
- activate admin permissions
- configured admin restrictions
2023-06-14 18:00:41 +02:00
Igor Sirotin 4849230054
fix(ChatColumnView): fix input `Unblock` button state (#11073) 2023-06-14 18:09:46 +03:00
Michał Cieślak 8b44e686f4 feat(CommunityAirdrops): Fees popup with multiple entries for airdrops
Closes: #10484
2023-06-14 12:59:05 +02:00
Michal Iskierko db55d10b37 feat(@desktop/communities): Compute minting fees and displaying minting toast messages
Issue #10536
2023-06-14 10:44:57 +02:00
Noelia 523ddd0572 fix(MintToken): Network is not correctly initialized when the new token form is prefilled
Added initialization tor network combobox.

Fixes #11030
2023-06-14 08:57:10 +02:00
Noelia 42c8758746 fix(MintToken): Some renames / code cleanups
Some renames / code cleanups
2023-06-13 15:57:20 +02:00
Noelia 9524ced598 feat(MintToken): Disable airdrop, remote destruct and burn options if mint status is failed
Airdrop, remote destruct and burn options disabled if token status failed.
2023-06-13 15:57:20 +02:00
Noelia 5e4164e2e6 fix(MintToken): Validation rules reviewed
- Updated name and description regex rules.
- Extended name and symbol validation when retry minting to allow same text if we are in edition mode.

Fixes #10860
2023-06-13 15:57:20 +02:00
Noelia 7d551b8311 feat(MintToken): Add navigation from retry to filled token form
Enable navigation from token view to new token view (edition).

Closes #10878
2023-06-13 15:57:20 +02:00
Noelia f58f82d4c6 refactor(MintToken): Mint token views refactor
- Created `TokenObject` files and use them inside `CommunityNewTokenView` instead of plain properties.
- Updated `CommunityTokenView` to use `TokenObject` properties instead of plain properties.
- Updated store calls to use `TokenObject` properties instead of plain properties.
- Remote destruct properties renames.
- Airdrop navigation extended passing token type (asset or collectible).
- Updated `storybook` according to new changes.
2023-06-13 15:57:20 +02:00
Michał Cieślak 8102600c5b feat(CommunityMintTokens): Using sortable list of tokens holders
New list contains also dropdown menu with some actions, basic
integration is done for holder types and actions supported currently
by the backend.

Closes: #10621
2023-06-13 12:37:10 +02:00
Michał Cieślak 99ad85047d feat(SortableTokenHoldersPanel): Info panel added when no holders
Closes: #10602
2023-06-13 12:37:10 +02:00
Michał Cieślak 9f73d874c2 feat(CommunityMintTokens): added sortable token holders list component 2023-06-13 12:37:10 +02:00
Lukáš Tinkl a263b16862 fix: Holdings dropdown searcher locked
Set the `KeyNavigation.backtab` to itself to avoid accidentally pressing
`Shift+Tab` and tab away from the focused `StatusInput` (which makes it
look like it's disabled)

Fixes #10561
2023-06-13 11:24:07 +02:00
Lukáš Tinkl 0b94c2b541 fix: revert to not destroy popups on close by default
- causing too many regressions along the way
- most of our popups are already destroyed properly inside Popups.qml
- in general, a Popup (Dialog, Menu, etc.) can be manually destroyed iff
it had been created using `Component.createObject()`, otherwise it's gone
for good until restart
- manually enabled the destroy-on-close in verified cases

Fixes #10948 (maybe some other dupes)
2023-06-09 00:44:27 +02:00
Lukáš Tinkl 0f9f5de267 fix: [chat] @mentions no longer working
fixup undefined references which caused the users model to become
empty

Fixes #11005
2023-06-08 16:19:53 -04:00
Noelia 8d7ff095dd fix(MintToken): App crash when trying to create new token
Accounts `color` role was changed to `colorId` so, `CommunityNewTokenView` has been updated accordingly.

Closes #10991
2023-06-08 15:50:15 +02:00
Patryk Osmaczko dfbac49302 chore(qml): adapt assets to support mediaserver images 2023-06-08 13:09:59 +02:00
Boris Melnik 73eb12c914 feat(communities): Adds mute category interval
Part of: #9369
2023-06-08 00:16:54 +03:00
Igor Sirotin bc4492b53a
fix: Create only one instance of `StatusChatInput` (#10928)
* Chat input area preserved properties
* Fix emoji/gif/stickers popups open/close logic
2023-06-07 16:18:29 +03:00
Alexandra Betouni 3227d5afb4 fix(Communities): resolved popup warning
Closes #10952
2023-06-06 18:32:03 +03:00
Pascal Precht 0b280f090e refactor(communities): remove legacy pending membership indicator
We no longer want to show pending membership requests in the left column
of the layout. Instead, community owners need to go to the community
settings -> members -> Pending requests

This however does not remove the legacy membership popup yet because
it's still used when users click the OS notification of incoming
community requests to join.

We don't yet have a mechanism to make the app navigate specifically to
that section of the community settings.
2023-06-06 09:07:53 +02:00
Igor Sirotin f86608287c
Fix/issue 10905 (#10930) 2023-06-06 09:57:00 +03:00
Anastasiya Semiankevich e88369a83e tst_communityManageOverview): add scenario that copies community private key 2023-06-02 23:19:35 +03:00
Khushboo Mehta 28654e0187 \chore(@desktop/wallet): Change customisation colours on desktop to match those used on mobile
fixes #10637
2023-06-02 19:48:19 +02:00
Patryk Osmaczko 35a2dd5244 [Popups]: added destroy() function in all popups by default
Also switched StatusModal to derive from StatusDialog instead
of Popup type

Closes #10149
2023-06-02 14:28:39 +03:00
Noelia cbe290a735 fix(MintToken): Sign transaction popup was not showing correct data
Fixed params to pass to sign transaction popup: chainId, chainName and accountName.
2023-06-02 13:15:34 +02:00
Noelia d4d3a6d669 feat(MintToken): Add `delete` and `retry mint` options when deploy fails
- It refactors `SettingsPageLayout`.
- It adds `retry mint` and `delete` options when deploy process fails.
- It renames `RemotelyDestructAlertPopup` to generic name `AlertPopup`.
2023-06-02 13:15:34 +02:00
Noelia 8ae2d29a1c feat(MintToken): Use `contractUniqueKey` instead of index
Updated minting flow to use `contractUniqueKey` instead of `index`.

Closes #10765
2023-06-02 13:15:34 +02:00
Noelia 86a0e8b9ec feat(MintAssets): Update minted tokens view with assets
- Added assets list UI.
- Added shape rectangle for empty lists.
- Added filter by asset / by collectible
- Updated storybook accordingly.
- Added flow to open token view depending on type

Closes #10625
2023-06-02 13:15:34 +02:00
Jonathan Rainville ceb810e63d fix(contacts): fix inconsistency when banning or unbanning contact
Fixes #10501

The problem was that didn't have access to the updated contact from status-go after banning or unbanning, so we just changed the banned property, but there is more that gets changed in the backend, like `removed` being set to `true` as well.
With this fix, when you unban someone, you go back to a fresh start, as **non** contact, so you need to send a request again. That was the state you got if you restarted the app, so "re-sync" the state with status-go.
Another issue was on the frontend (QML). When banned,  and after restarting to get the right state, the unban button would be disabled and the Add contact request button would show, which is not good. We only want to send requests when unbanned.
2023-06-01 14:25:20 -04:00
Jonathan Rainville fa656c9535 feat(NewChat): open contact popup when pasting key of user in request
Fixes #9736

When pasting the chat key of a user to whom you already sent a request to, but for which they haven't answered yet, we open the popup instead of doing nothing.
If you paste the chat key of a user you are not a contact at all and sent no request, it opens the contact request popup as before.
Also, same as before, if you paste the key of a mutual contact, their name will show in the suggestion list.
2023-06-01 10:51:39 -04:00
Igor Sirotin 7eed470829
fix(StatusScrollView): Change implementation to inherit ScrollView (#10789) 2023-05-31 23:58:23 +03:00
Jonathan Rainville 7d0a77ef0d chore(links): update to use the new external link format
Fixes #10777
2023-05-31 10:36:08 -04:00
Michal Iskierko 4c29343a4a feat(@desktop/communities): Add self-destruct tokens functionality
Issue #10052
2023-05-31 12:43:36 +02:00
Noelia 9f8275ce5c feat(MintAssets): Create mint assets flow
It creates mint assets flow:
- Preview integrated.
- Mint call and sign transaction popup added.

Closes #10624

a
2023-05-31 08:18:26 +02:00