Commit Graph

18 Commits

Author SHA1 Message Date
Valentina Novgorodtceva c71d11e990 chore: duplicate permission step added to permission test 2024-06-27 09:58:24 +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
Igor Sirotin 8d6454367a
fix: permissions with value>1000 (#14249) 2024-04-04 09:45:25 +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
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
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 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 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
Khushboo Mehta 26f29a4fe6 chore(@desktop/wallet): Unifying the various "TokensTypes" across the app
fixes #12501
2023-11-21 13:02:26 +01: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
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
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
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
Michał Cieślak 16f3f0b2eb chore(Community Permissions): Mint asset button enabled in holdings dropdown
Closes: #11363
2023-07-06 00:53:11 +02:00
Michał Cieślak 74991820ca fix(EditPermissionView): Dirty state validation fixed
Closes: #11063
2023-07-04 10:42:11 +02:00
Michał Cieślak 6ccb832800 PermissionsSettingsPanel refactored and simplified, storybook pages fixed and improved
- header buttions/title/subtitle simplified
- no need to use states
- no need to use internal `d` object to pass data between pages
- permissions list scroll position preserved when navigation back from
  other views
- storybook: allow "back" navigation to cover whole flow in sb
- fix some regressions in permissions-related pages
2023-07-03 12:47:35 +02:00
Noelia 981fdd6095 feat(Communities): Moved dropdown qml components from `controls` to `popups`
Closes #11265
2023-06-30 17:37:31 +02:00
Noelia d763a09cac feat(Communities): File renames
- Removed redundant `community` word in some files from: `controls`, `views`, `popups`, `helpers ` and `panels` folders.
- Updated storybook.
- Updated squish files.

Closes #6204
2023-06-28 14:28:47 +02:00