Commit Graph

6586 Commits

Author SHA1 Message Date
Michał Cieślak 173a02f1fc feat(StatusQ/SubmodelProxyModel): persistent submodels proxies
So far submodel's proxies were created on the fly, on every data(...)
call. Now, once created the proxy is persistent and reused whenever
needed.

Closes: #14389
2024-04-18 14:44:10 +02:00
Lukáš Tinkl 5b242c6dd8 fix: do not display the thousands separator when editing
- teach `userInputLocale` about `Locale.OmitGroupSeparator` option which
discards the said thousands separator
- some more fixes to other inputs to do the same, and align what the
validators do
- StatusAmountInput: discard illegal characters, and reuse the same
locale for the validator
- StatusAmountInputPage: make it possible to select a different locale

Fixes #14165
2024-04-17 14:04:03 +02:00
Alex Jbanca a045ca36fe feat(ProfileShowcase): Sort and filter collectibles based on token management settings 2024-04-17 13:40:42 +03:00
Godfrain Jacques eccc9b3bd7
fix(category) Implement collapsed categories (#14135)
This PR implements the nim part for enabling having collapsed categories
that persist into the database
This fixes #13944
2024-04-15 11:34:44 -07:00
Lukáš Tinkl ea40a6b11f feat(SharedAddresses): display the eligibility bubble in edit mode too
- previously, we'd display the bubble only when joining the community
- now we display it also when editing the shared addresses, with a
slightly different wording (eg. "You're an admin" -> "You'll be a
member"), hinting the user about the future change
- remove the usage of `ModuleWarning` as we don't want its delay or
transitions here, replace it with a regular red `Rectangle` + text

Fixes #13397
2024-04-15 20:24:34 +02:00
Stefan 8be1453fd0 fix(token-order): global has settings check that introduced side effects
The "settings exist" done via ManageTokensController::hasSettings() was
using the global store, hence not working user based. Therefore, after
an onboarding the previous user's settings presence was taken into account.
The fix now uses the order data that is loaded externally per user.

Closes #14383
2024-04-15 09:16:34 +02:00
Stefan 228622359d fix: warning while switching between accounts
The is image flag and source was not in sync due to sequential change
of source and isImage. This was causing the following warning:
`Warning: qrc:/StatusQ/Components/StatusRoundedImage.qml:27:5: QML StatusImage: Cannot open: qrc:/StatusQ/Components/help
2024-04-15 09:16:34 +02:00
Cuteivist 7cb59576a1
fix(wallet): Update amount to send decimal handling (#14399) 2024-04-15 07:28:29 +02:00
Stefan d3f037f93b fix(wallet): hidden groups are still loading from user local settings
Removed loading hidden groups from local settings and instead reload
them from the externally loaded settings.
Also move the local saving code from the controller to external,
therefore now it is implemented in storybook

Updates #14365
2024-04-14 10:59:08 +02:00
Mykhailo Prakhov 55dd8e3065
feat(@desktop/activityCenter): show notification about invite to group chat from non our mutual contact (#14415) 2024-04-12 18:28:28 +02:00
Ivan Belyakov 3843b53cc0 feat(wallet): toggling `include/exclude from total balance` menu action
filters out assets/collectibles/activities entries.
Fixed direction of transfers for `All accounts` selection on activity
tab.

Closes #14162 #14216
2024-04-12 15:18:19 +02:00
Ivan Belyakov 6ba0cdfafa feat(wallet): removed allAddresses flag as redundant 2024-04-12 15:18:19 +02:00
Stefan b9271005cd fix(wallet): update wallet assets and collectibles order on user action
Add a specific state to the saveSettings action to update the model
by reloading the data.

The previous implementation was using the same save address which
doesn't update. Either in the past there was a side effect that made it
work or it was never working.

Closes #14365
2024-04-12 11:30:15 +02:00
Michał Cieślak 180932b799 chore(SharedAddressesAccountSelector): Remove workaround related to issue #14244
Additionally flow is simplified slightly by setting `type` role in
ConcatModel
2024-04-12 11:05:08 +02:00
Michał Cieślak 5d4380e4d9 feat(StatusQ/ConcatModel): Proper handling of source models layout change
Whenever source model emits layoutAboutToBeChanged/layoutChanged,
persisten model are updated appropriately, also scenario when items are
removed is covered.

Closes: #14244
Closes: #14245
2024-04-12 11:05:08 +02:00
Michał Cieślak 598a389c3e feat(StatusQ/TestHelpers): Add method to test model removing items and emiting layoutChanged 2024-04-12 11:05:08 +02:00
Sale Djenic 42a60642e8 fix(wallet): user is unable to authenticate using biometrics
Fixes #14404
2024-04-12 07:46:00 +02:00
Lukáš Tinkl 6171a2d900 fix(NetworkFilter): position the popup along the right edge
spotted by Ben
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 9024a4c324 fix(RightTabView): fix filter button vertical alignment
spotted by Ben
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 5d064368cf chore(ui): visually align different combo box instances
- extract common background and indicator subcomponents into
StatusQ.Components.private, and reuse it

Fixes #14121
2024-04-11 21:48:16 +02:00
Lukáš Tinkl e363dd1109 fix(SortOrderComboBox): do not display icons or bold(er) font in delegates
- cleanup indentation (older QtC versions don't like the nullish
coalescing operator `??`)
- fixup SB pages
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 14138d5ff5 fix(NetworkFilter): display correct cursor
- since we override the `control.background` from `StatusComboBox`, need
to specify the `cursorShape` again
2024-04-11 21:48:16 +02:00
Lukáš Tinkl fb2d1ad0f0 fix(NetworkFilter): fixup allSelected/noneSelected
- there's no `len` property in `SFPM`; fixes correctly displaying "All
networks" when all are selected
2024-04-11 21:48:16 +02:00
Lukáš Tinkl 3e051fd79c chore(ModelUtils): small optimization for `get`
- do not call `roleByName` twice
2024-04-11 21:48:16 +02:00
Anthony Laibe da7f419f57 fix: repeat tx open the send modal
fixes #14357
2024-04-10 10:31:58 +02:00
Igor Sirotin 795b999ad8
chore: extract move gifs module (#14315) 2024-04-09 19:01:24 +01:00
Cuteivist 277dda7533
feat(wallet): Disable send for soulbound collectibles (#14327) 2024-04-09 16:16:03 +02:00
Lukáš Tinkl b84c1f20df fix[Shared Addresses] Can't edit shared address while the join request is pending
- disallow changing the Shared addresses while our request to join
community is still pending

Fixes #14292
2024-04-09 13:11:39 +02:00
Lukáš Tinkl 50c2d33f64 chore(CommunityColumnView): fix typo 2024-04-09 13:11:39 +02:00
Sale Djenic d4fa715c7e fix(wallet): changes in account order in settings are not applied in wallet
Fixed an issue with dropping a draggable item outside the bounds of the DropArea.

Fixes #13836
2024-04-09 11:27:15 +02:00
Stefan 473e2e273f feat(wallet) connect assets ordering with saving to DB backend
Also refactor the existing code based on the latest understanding.

Closes #13312
2024-04-09 09:34:52 +02:00
Anastasiya Semenkevich 25906ffa34 chore(@ui/app/AppLayouts/Communities/popups/InDropdown): add object name 2024-04-09 09:50:44 +03:00
Michal Iskierko 62c48a0072 chore(desktop): upgrade status-go
Issue #14044
2024-04-08 11:22:51 +03:00
Anastasiya Semenkevich a8a943bec9 chore: add object name for TokenBalancePerChainDelegate 2024-04-05 16:39:49 +03:00
Michał Cieślak a83f1114e2 chore(Communities/InDropdown): performance improved
- removed multiple filtering separately for each category
- no instantiation of all delegates up front (regular ListView approach
  used)
- fixed category selection when filtering - selecting/deselecting only
  items fulfilling search criteria
- significant simplification of the code

Closes: #14275
2024-04-05 14:58:06 +02:00
Michał Cieślak 0b47e6ff8a feat(StatusQ/LeftJoinModel): Add init check on componentComplete
Earier attempts to initialize proxy may fail bc left/right models
may be not ready when they are set. It may lead to a situation where
the model remains uninitialized and reporint 0 row count.
2024-04-05 14:58:06 +02:00
Michał Cieślak 0c34325841 feat(StatusQ/LeftJoinModel): Add possibility to explicitly define roles to be joined
The new property is added to allow indicating which roles from the right
model should be used. It prevents from unnecessary renamings.

Closes: #14298
2024-04-05 14:58:06 +02:00
Alexandra Betouni 53db09412a feat(ProfileShowcasePopup): Adding interactions in delegates
Closes #13702
2024-04-05 12:31:11 +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
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