Commit Graph

6548 Commits

Author SHA1 Message Date
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
Stefan 6762630e51 fix(SendModal): fix not showing tokens in the holding selector
The previous attempt to control the order of delegate intantiation
and avoid qml warnings didn't work for this case (Loader with injected
properties). Therefore, I reverted to the last working version.
2024-04-04 17:25:30 +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
Stefan ee23cce575 fix(SendModal): fix various issues with SendModal
- Fix errors when switching between assets and collectibles tabs
  - Fix by controlling the order of instantiation between model and
    delegates not to mix models and delegates from different sources
- Fix size errors
- Various improvements

Updates: #14212
2024-04-03 16:23:32 +02:00
Stefan f9782d6863 fix(SendModal) missing icons for assets
In case of assets the symbol doesn't have an icon representation
in resources, hence we use the image of the asset itself.
Same fix used for header and delegate

Closes: #14218
2024-04-03 10:07:47 +02:00
Dario Gabriel Lipicar cd3a1180b0 fix(@desktop/wallet): properly handle collectible groups in send modal
Fixes #14080
2024-04-02 12:55:08 -03: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
Alex Jbanca 77933cc732 feat(ProfileShowcase): Add profile perspective selector component 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 d9945b39dc fix(wallet): displaying L1 gas cost in UI
Fixes #13892
2024-03-28 10:36:09 +01:00
Sale Djenic f8bb8e2588 fix(communities): join community button text instead of share all addresses to join text in membership setup dialog
Closes #14172
2024-03-28 08:19:24 +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 3e76fa6179 fix(communities): when only keycard accounts selected (and 1 keycard), authentication is not triggered
Closes #14175
2024-03-28 07:38:28 +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 59453e1189 fix(CommunityJoiningAndAddressSharingDialog): Intro text width fixed 2024-03-26 14:03:29 +01:00
Michał Cieślak 0557977aa2 chore(Communities): CommunityIntroDialog renamed to CommunityMembershipSetupDialog
Closes: #14144
2024-03-26 14:03:29 +01:00
Michał Cieślak 0985346342 chore(CommunityIntroDialog): Fix storybook page 2024-03-26 14:03:29 +01:00
Lukáš Tinkl 56b9b9db11 fix: Display name is not validated properly (UI part)
- do not use the `alphanumericalExpanded:
/^$|^[a-zA-Z0-9\-_\.\u0020]+$/` regex which contains the dot (`.`)
character too; be explicit here and do what the error message says
- the space character at start/end is validated above with the
`startsWithSpaceValidator`

CHERRY-PICK-TO: 2.28

Fixes #14127
2024-03-25 19:06:54 +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
Cuteivist 1deb5e86e5
fix(wallet): Add token data when new token is added (#14061) 2024-03-25 18:31:01 +01:00
Sale Djenic 979423ea62 chore(general): removing unneeded qml file 2024-03-25 14:16:32 +01:00