Commit Graph

235 Commits

Author SHA1 Message Date
Jonathan Rainville 6d78ba83a2
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-03 17:55:33 -04:00
Sale Djenic c864e437aa chore(general): removing unneeded qml file 2024-03-25 13:17:56 -04:00
Sale Djenic 665d1cb949 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 13:17:56 -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
Mykhailo Prakhov f3d2d0a809
feat(@desktop/community): add new CommunityMemberState - CommunityMemberBanWithAllMessagesDelete (#14028) 2024-03-19 16:17:02 +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
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
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
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 aed1ae77c3 fix(ChannelPopup): Fix channel popup width 2024-03-12 17:08:27 +02:00
Anthony Laibe 115610fcf6 feat(@wallet): unknown token 2024-03-11 11:29:32 +01:00
Alex Jbanca 49aa747fdf feat(ChannelPermissions): Show confirmation dialog before closing the channel edit popup 2024-03-06 14:40:23 +02:00
Mikhail Rogachev 0455832f92
feat: Add `scanCommunitiesMembersForName` endpoint (#13789)
Close #13434
2024-03-01 22:12:19 +03: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
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
Mykhailo Prakhov 996199b910
feat(desktop@communities): change kicked/banned member behavior (#13706)
feat: change kicked/banned member behavior
2024-02-27 12:55:56 +01:00
Noelia 3386ce74e7 feat(ProfileShowcase): Created first info popup
- Created `ProfileShowcaseInfoPopup` component.
- Added storybook support for the new popup component.
- Added new popup into the application flow.
- New property stored in local account settings file.

Closes #13338
2024-02-26 10:08:52 +01:00
Khushboo Mehta 085bf762a5 feat(@desktop/wallet): Update token details view
closes #12373
2024-02-23 13:03:28 +01:00
Mykhailo Prakhov 12569d795f
feat(@desktop/community): allow owner delete all messages during the ban and ban/unban AC notifications (#13653) 2024-02-22 12:01:01 +01:00
Alexandra Betouni 12c24c4f15 [Create new community popup]: Adjusted request to join
As per new designs

Closes #12809
2024-02-22 11:42:33 +02:00
Jonathan Rainville dc580fe6ba fix(SharedAddresses): fix airdrop address not being reflected in popup
Fixes #13618
2024-02-21 13:15:00 -05:00
Lukáš Tinkl e773d8d358 feat[StatusButton] missing green/success state
- implemented the missing `StatusBaseButton.Type.Success` state and
colors for both `StatusButton` and `StatusFlatButton`
- use a `switch` instead of a waterfall of ternaries
- adjust storybook for the new case

Fixed #13622
2024-02-20 00:35:04 +01:00
Michal Iskierko 46c69cf0a8 fix(@desktop/permissions): Hide permissions list in sharing addresses dialog if only base permissions are set
Fix #12884
2024-02-13 12:09:26 +01:00
Jonathan Rainville d41affabb9 fix(discord_import): fix community not cleaned up when it fails
Fixes #12724

The actual issue wasn't reproducible, even if I removed the guards against duplicate names.
But I did find that the community wasn't cleaned up correctly, so I fixed it in this PR. It should limit the confusion and possible issues that could arise.
2024-02-12 16:43:16 -05:00
Khushboo Mehta 8c939ad3a3 fix(@desktop/wallet): Replace existing model used in Community / Permissions and do the needed cleanups
fixes #12513
2024-02-12 14:26:13 +01:00
Michał Cieślak ee3e1febb6 fix(StatusModalFooter): Prevent footer's buttons overflow
Closes: #11449
2024-02-09 13:41:39 +01:00
Michał Cieślak 6aee04e33e fix(StatusDialogFooter): Prevent footer's buttons overflow 2024-02-09 13:41:39 +01:00
Alexandra Betouni 5811285de6 [Communities]: renamed create community button
Closes #8481
2024-02-08 19:16:22 +02:00
Alex Jbanca 87d3dcb113 fix(ChannelPermissions): Fixing duplicate permission detection and save button state
The duplicate permission detection was not working because the channel selection cannot be dirty when the channel selector is disabled.
2024-02-07 19:54:47 +02:00
Alex Jbanca 0b856737b1 chore(ChannelPermissions): Remove HidePermissionPanel component 2024-02-07 19:54:47 +02:00
Alex Jbanca cf82772aed feat(ChannelPermissions): Add permissions section in create/edit channel popup
Changes:
1. Make PermissionsView/EditPermissionsView configurable to support channel permissions config
2. Adding channel permissions support in the create/edit channel popup
3. Connect the channel permissions to backend
4. Cleaning unneeded emojiPopup
2024-02-07 19:54:47 +02:00
Alex Jbanca 56d67f5ba2 chore(Permissions): Adding utility function getUniqueChannelPermission 2024-02-07 19:54:47 +02:00
Alex Jbanca 055d8e8322 chore(permissions): Improve performance by using the `Fast` expressions and add necessary models and APIs in the PermissionsStore
Changes:
1. Adding the `Fast` expressions where needed
2. Break the channel permissions into categories in PermissionsStore
3. Remove unused/unneeded code
2024-02-07 19:54:47 +02:00
Alex Jbanca 35c1475403 chore: Adding new component ChannelPermissionsModelEditor
The purpose of this component is to hold the dirty permissions edited my the user.

This is a functional component used to create/edit/delete permissions. The edited permissions are detached from the backend.
2024-02-07 19:54:47 +02:00
Alexandra Betouni d2030de867 [TransferOwnershipPopup]: Added getUidForData function
Closes #13288
2024-02-07 17:30:41 +02:00
Igor Sirotin 69d4c8824b
chore: show "Fetch messages" chat context menu action when in debug mode (#13445) 2024-02-07 12:38:46 +00:00
Lukáš Tinkl d537807fbd fix: [Community Settings] Tokens page is not scrollable...
... from within the gridView

Set the ListView/GridView `interactive: false` to unbreak touchpad
scrolling; those views are unrolled anyway

Fixes #11959
2024-02-05 13:09:48 +01:00
Lukáš Tinkl 9db48a986a fix(token mgmt): finish the controller refactoring
- reduce the duplication by moving the controllers (1 per type) to the
toplevel stores
- make sure the internal properties stay in sync between save/load now
that we have just 1 common controller
- fix navigating to the Hidden section from the toast
- finish impl of hiding the token from FirstTokenReceivedPopup
2024-02-02 23:48:10 +01:00
Alex Jbanca a55dcf299e performance: Improve the wallet loading time
+ small bug fixes
2024-02-01 16:46:40 +02:00
Sale Djenic bbaafa8954 feat(savedaddresses): display various cards if an address user is trying to save is known
Closes: #13280
2024-01-29 14:56:24 +01:00
Noelia aaa9937124 feat(FirstTokenReceivedPopup): Created new popup `FirstTokenReceived`
- Created new popup component.
- Created related `storybook` page.
- Integration of the popup into the app.

Closes #12366
2024-01-29 12:15:48 +01:00
Khushboo Mehta fb4e9a1ed1 fix(@desktop/wallet): Updatebthe new assets models in Token mangement, Activity filters and SharedAddressPanel 2024-01-25 12:45:22 +00:00
Khushboo Mehta 087601e28e feat(@desktop/wallet): Apply flat assets model into SendModal
fixes #13016
2024-01-23 20:26:25 +01:00
Alex Jbanca 942482fe99 performance(ChannelsSelectionModel): Use LeftJoinModel for ChannelsSelectionModel.qml
Motivation:
ChannelsSelectionModel.qml is freezing the app when used with a live channel that's being edited because on each channel change the selection model is re-created.

The fix for this is to use the LeftJoinModel to unify the channels selection (a light model containing only keys) and the full channels model containing the channels data. On top of this, the SortFilterProxyModel is added to decorate the model with the roles expected in the UI. Another improvement is by replacing the ExpressionRole with the FastExpressionRole.
2024-01-19 15:07:19 +02:00
Michal Iskierko f00493ec02 fix(@desktop/communities): Fix displaying token holders
Add displaying holders for ERC20 - only community members.
Add json conversions test for some holders structs.

Fix #12062
2024-01-17 13:23:59 +01:00
Noelia b515f536d1 fix(OwnerToken): TOwner item footer button must be visible only for TOwner owner
Fixes #12911
2024-01-16 16:02:42 +01:00
Noelia 42a80c2c10 fix(OwnerToken): Change owner token subtitle depending on user profile
Fix #12905
2024-01-16 16:02:23 +01:00
Anastasiya Semenkevich 73025c5a0a chore: several object names for permissions tags 2023-12-28 22:06:36 +03:00
Anastasiya Semenkevich 235992b0f9 chore: object name for permission item 2023-12-27 20:58:58 +03:00