Commit Graph

5072 Commits

Author SHA1 Message Date
Noelia c7f18978de chore(MintingToken): Refactor access to stores in minting components
- Refactored minting components store access, since some panels were accessing stores directly. Now `CommunitySettingsView` is the single place where stores are accessed.
- Renamed store `CommunitesStore` to `CommunityTokensStore` for handling minting / airdrop actions / request models.
- `NetworkFilter` refactored to prevent direct access to store inside the component.

Closes #9663
2023-03-14 16:06:27 +01:00
Ivan Belyakov 5db989db6e fix(@desktop/wallet): disable 'favourite' functionality for saved
addresses

Fixes #9774
2023-03-14 14:44:06 +03:00
Ivan Belyakov fc18b72848 feat(@desktop/wallet): Added menu items to check address activity
on arbiscan and optmism explorer.
Fix menu position to align right of the 'more' button

Fixes: #9771
2023-03-14 11:06:43 +03:00
MishkaRogachev ab1393b7f0 fix(Chat): Show message's text for community invitation
Close #9812
2023-03-14 12:00:17 +05:30
Alexandra Betouni db7256fd1a fix(StatusChatInput): fixed input loses focus when switching chats
Closes #9542
2023-03-10 20:07:59 +02:00
Alexandra Betouni ef8860edbb fix(StatusChatList): fixed dnd uncategorized channels
Part of #3364
2023-03-10 19:40:04 +02:00
Dario Gabriel Lipicar 30294f97fe feat(@desktop/wallet): add pagination to collectibles view
Fixes #9754
2023-03-10 12:02:59 -03:00
Anthony Laibe 2019e8c699 fix(@wallet): close save address modal policy
fixes: #9773
2023-03-09 21:11:40 +01:00
Pascal Precht 25b0641cc2 feat: introduce first JoinCommunityView for token-gated communities
This does a few things:

- It integrates with the latest `CommunityTokensMetadata` to access
  community specific ERC721 token
- It changes `ChatLayout` such that it conditionally loads either
  `ChatView` or `JoinCommunityView`. `JoinCommunityView` has been
  specifically designed for token-gated communities

Here's what works (in terms of token permissions):

1. If a community has token permissions and the the current users is not
   a member of that community, we show `JoinCommunityView` instead of
   `ChatView`
2. Any community token permissions of type "Become member" are listed in
   the `JoinCommunityView`
3. There are different types of token critera a permission can have:
   ERC20 token, ERC721 token, or ENS (which is also ERC721 but we have
   a type for that nonetheless)

   Only ERC20 token balances are checked for the known wallet accounts.
   This happens every time the known token list has been updated (every
   10 min atm).

   We still need to add balance checks for any ERC721 tokens and ENS.
4. If token permissions are created, updated or deleted by the community
   owner, the `JoinCommunityView` will update in real-time.

You'll also notice that the `Reveal my address and request access`
button will be enabled if any of the token permissions are fulfilled
(only ERC20 at the time being). Clicking that button will not yet send
a request.

This will be done in the next step as part of https://github.com/status-im/status-desktop/issues/9761
2023-03-09 16:35:06 +01:00
Michal Iskierko 8f3a965a49 fix(@desktop/communities): Rename minting module
Issue #9817
2023-03-09 16:34:55 +01:00
Anthony Laibe 37d539f061 fix(@wallet): saved address form typo
fixes #9769
2023-03-09 16:31:56 +01:00
Alexandra Betouni c31903d281 [StatusChatInput]: fixed focus and reply component lost
- Fixed reply message is gone when adding image
- Fixed pressing up arrow key when editing loses the cursor

Closes #9419
Closes #9139
2023-03-09 16:15:13 +02:00
Dario Gabriel Lipicar 2fb158b810 fix(@desktop/wallet): fix send input for some locales
Fixes #9324
2023-03-09 10:59:51 -03:00
Michał Cieślak ab523ee19f fix(CommunityPermissions): Temporary solution for assets icons
Closes: #9613
2023-03-09 14:16:36 +01:00
Pascal Precht ce33c195cc refactor: make loading installed sticker packs asynchronous
This is a continuation of the effort to improve out app's startup time.
With these changes, installed stickers are only loaded when the sticker
popup is opened.

They are also loaded asynchronously to not block the main thread.

Closes #9435
2023-03-08 13:03:52 -05:00
Pascal Precht 433ea71d62 refactor: load recent stickers asynchronously
This postpones the loading of recently used stickers to the point
when a) the stickers popup is opened and the recent stickers tab was the
last visited one or b) when the sticker popup is open and one switches
to the recent stickers tab.

Partially closes #9435
2023-03-08 13:03:52 -05:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)

Fixes #9664
2023-03-08 18:45:27 +01:00
Lukáš Tinkl 2204273a22 chore: don't let text overflow
set maximum line count + elide + visibility
2023-03-08 18:45:27 +01:00
Lukáš Tinkl 3fd196323e chore: silence warnings 2023-03-08 18:45:27 +01:00
Michal Iskierko 2ac1216b68 fix(@desktop/communities): Fix community tokens model
Fix #9781
2023-03-08 13:36:41 +01:00
Lukáš Tinkl 948a1fb085 chore: fix qrc resource bloat
let the `generate-rcc.go` skip files under `vendor` and `tests` subdirs;
decreases the binary size and thus RAM usage by ~130 MB!

```
$ ls -al resources.*
-rw-r--r--. 1 ltinkl ltinkl  81950109 Mar  8 14:47 resources.rcc
-rw-r--r--. 1 ltinkl ltinkl 215385428 Mar  8 12:35 resources.rcc.bloat
```
2023-03-08 13:22:17 +01:00
Michał Cieślak 0e92b69bc5 chore(CommunityPermissions): fixed warnings introduced during integration with backend 2023-03-08 12:02:55 +01:00
Michał Cieślak d813cc12b8 chore(CommunityPermissions): refactor access to stores in CP components
So far CP components (views, panels) were accessing stores directly.
Now `CommunitySettingsView` is a single place where stores are accessed.
Other components no longer depend on stores.

Moreover:
- dedicated store `PermissionsStore` created for handling permissions
  in a single, separated place
- storybook pages fixed

Closes: #9784
2023-03-08 12:02:55 +01:00
Pascal Precht 48c322cbe4 refactor(ChatLayout): expose emoji and sticker popup properties and signals
Prior to this change `ChatLayout` exposed `chatView` which let other
components access it, its properties and signals.

This is problematic as we need to be able to swap out the `ChatView`
with the `JoinCommunityView` for token gated communities, in which case
there won't be an instance of `chatView`.

This commit ensures that we rely purely on inputs and outputs of the
component, without exposing the component instance itself.
2023-03-07 18:16:42 +01:00
Sale Djenic d5cddbf79a feat(@desktop/keycard): no `pcsc` service error screen
Closes: #9116
2023-03-07 18:02:10 +01:00
Sale Djenic 21a5b10fab fix(@desktop/keycard): few small fixes applied
- missed space added in account already exists popup
- disable close button for shared keycard popup flows identified separately
- crash if built tokens from some other action (like enabling wallet) are received late while
keycard flow is setting up and keypair for processing is not prepared yet
- 3 words name was displayed on login for a keycard user
2023-03-07 18:02:10 +01:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00
Dario Gabriel Lipicar eed98809d1 feat(@dekstop/wallet): support collectibles in activity tab
Fixes #8811
2023-03-07 11:07:04 -03:00
Noelia 02cf07044d feat(MintToken): Created Preview collectible page
- Added navigation between pages.
- Added main layout and properties (some backend integration still pending).
- Added holders model with mocked data.
- Added mint tokens footer component.

Closes #8734 and #8737
2023-03-07 13:24:45 +01:00
Noelia 72da3cdf63 feat(SQ/StatusImageSelector): Added new properties
`preview` and  `file` properties added.
2023-03-07 13:24:45 +01:00
Noelia 736f315c49 feat(SQ/StatusDotsLoadingIndicator): Created new 3 dots loading animation
- Created new loading animation component.
- Added documentation and page in `stroybook`.
2023-03-07 13:24:45 +01:00
mprakhov cb924053c6 fix(@desktop/channels): allow capitals in channel name 2023-03-07 13:16:00 +01:00
Ivan Belyakov 601d3dd0f1 fix(@desktop/wallet): Fix tests for saved addresses.
Minor fixes

Updates: #8599
2023-03-07 15:00:46 +03:00
Ivan Belyakov e27f2ec667 feat(@desktop/wallet): update saved addresses list
Fixes #8599
2023-03-07 15:00:46 +03:00
Lukáš Tinkl 1a96700bb8 fix(ProfileHeader): Settings/Profile/avatar design updates
- correct margins, spacing, position for the avatar image
- action button in the top right corner
- fixup the context menu

Fixes #9682
2023-03-07 11:27:03 +01:00
Michal Iskierko 5722f67964 fix(@desktop/communities): Handling community token image
Handle image correctly and show in testing UI.
Improve fees for deployment.
Handle CommunityTokenMetadata in community structure.
2023-03-07 10:04:12 +01:00
Patryk Osmaczko d31acbfb48 chore(translations): update translations 2023-03-06 21:35:32 +01:00
Patryk Osmaczko 2429673b8d chore(communities/portal): rename section (popular -> all)
closes: #9728
2023-03-06 21:35:32 +01:00
Michał Cieślak 0e60ac4933 fix(AmountInput): Skip non-digits for max input length limit validation
Closes: #9718
2023-03-06 19:44:26 +01:00
Michał Cieślak 405a8ee3ed fix(LocaleUtils): Improve handling small numbers by fractionalPartLength(num)
Closes: #9681
2023-03-06 19:43:47 +01:00
Michał Cieślak a2a1da801c chore(CommunityPermissions): Use key role name for referencing channels 2023-03-06 17:36:36 +01:00
Michał Cieślak 480c249ee0 chore(CommunityPermissions): Refactor channels handling
Community permissions model refers to channels by id instead of
taking/serving all details. UI fetches necessary metadata form
appropriate channels model.

Closes: #9588
2023-03-06 17:36:36 +01:00
Jonathan Rainville 40a157a5af fix(test): fix create category test 2023-03-03 16:14:38 -05:00
MishkaRogachev 38a9b4a7f1 feat(ActivityCenter): Support status-go PR with endpoints refactor 2023-03-03 19:52:20 +04:00
Michał Cieślak 702d355e89 chore(InDropdown): Adapt to flattened model for channels
Closes: #9591
2023-03-03 16:51:45 +01:00
Michał Cieślak bb2e03bd88 feat(StatusQ): Added ModelChangeGuard utility to prevent altering models 2023-03-03 16:51:45 +01:00
MishkaRogachev ec51fbe0e0 feat(ActivityCenter): Override replied text for messages with rich content
Close #9416
2023-03-03 16:31:08 +04:00
Pascal Precht e4b8814bfa feat(Communities): allow for creating community permissions
This commit is the first of implementing community permissions.
**It is not implementing the complete feature**, rather does it
introduce the first pieces, such that we can get code reviewed and
merged before it grows too big.

To review these features, please make sure to

1. Enable wallet (Settings -> Advanced -> Wallet toggle)
2. Enable community permissions (Settings -> Advanced -> Community
   Permissions toggle)

You'll have to restart the app after doing so.

The commit introduces the following:

**UI, API calls and view models to CRUD community permissions**

After creating a community, the user can go to the community
settings and create new token permissions. The user can also update
and delete existing permissions.

**Asset and collectible view models**

To create community token permissions, users have to select
the token criteria. This commit introduces the `assetsModel` for ERC20
tokens and `collectiblesModel` for `ERC721` tokens.

The latter only supports custom minted community tokens at this point.

**This commit requires:** https://github.com/status-im/status-go/pull/3207
2023-03-03 10:22:32 +01:00
Boris Melnik 18e5fc915c fix(chat): Display text from image message
Fixes: #9564
2023-03-02 22:08:46 +03:00
Ivan Belyakov e6226ab564 fix(@desktop/statusq): Fix icons background square, but must be circle
regression.

Fixes: #9714
2023-03-02 19:17:51 +01:00
Anthony Laibe c55fb96652 fix(@wallet): send modal with recipient ens
fixes #9328
2023-03-02 18:24:29 +01:00
Lukáš Tinkl ef99e3d017 fix: Primary nav bar vertical alignment on Windows/Linux
- reduce top margin for non-macOS builds

Fixes #9684
2023-03-02 15:49:28 +01:00
MishkaRogachev 723bc4f387 fix(ActivityCenter): fix missing membership notifications
Close #9656
2023-03-02 16:31:25 +04:00
Stefan a0170a3fda feat(wallet) propagate multi-transaction ID to Nim
Bump status-go to include the propagation of multi-transaction ID for status-go APIs

Also

- Add leftover fix from SendModal layout

Updates: #7663
2023-03-02 14:25:53 +04:00
Anthony Laibe 806f6a8b33 fix(@wallet): send zero tx
fixes #9623
2023-03-02 09:21:14 +01:00
Alexandra Betouni c560e9b960 fix(StatusChatInput): fixed invisible text when pasting text with emoji
Closes #3291
2023-03-01 15:25:19 +02:00
Sale Djenic bf9b709cc8 feat(@desktop/keycard): recover an account fetching previously backed up data from waku
Closes: #8920
2023-03-01 13:20:14 +01:00
Stefan 16ed8739e8 fix(wallet) fix Add Account Modal and wallet tests
- fix add-account-modal custom derivation checkbox blocking all workflows
- fix, improve and enable wallet tests
- wait_for_text_matching alternative, to is_text_matching, to check also for content as squish driver API
- add objectName based lookup for in some places where user-text was used
- add workaround to retry for 10 seconds add watch due to flakiness
- rename SquishDriver.type to type.text not to conflict with python's type
- add optional timeout to some APIs
- ignore error for extra step in reaching onboarding seedphrase in linux

Updates: #9576
2023-03-01 15:36:06 +04:00
Ivan Belyakov 1c7c0d7d81 fix(@desktop/statusq): Change id for StatusListItem to root.
Fix some equal signs to be === and !==.
Removed iconHoverEnabled property for StatusListItem.

Fixes #8599
2023-03-01 13:59:49 +03:00
Ivan Belyakov 19436c0e58 fix(@desktop/statusq): Reverted StatusSmartIdenticon to use icon
with mouse area instead of button.
Added a missing bgRadius assignment.

Fixes #8599
2023-03-01 13:59:49 +03:00
Ivan Belyakov b901f32dd8 fix(@desktop/statusq): Fix StatusBaseInput marked dirty in case of
rich text if visual input is empty

Fixes #8599
2023-03-01 13:59:49 +03:00
Ivan Belyakov bfdd9092e1 fix(@desktop/statusq): Fix StatusQ and shared components as part of
new saved addresses UI implementation
  - Fixed StatusInput and StatusBaseInput to respect rich text.
  - Fixed AddressInput's height that breaks the layout when inside
of QtQuick Layout.
  - Added support for icon clicks in StatusListItem.
  - Fixed broken right alignment in ContactsListAndSearch.

Fixes #8599
2023-03-01 13:59:49 +03:00
Lukáš Tinkl 2a1ea3b0ae fix(StatusChatList): Missing space between channels in StatusChatList
- add an extra space for the item height to fix spacing; can't do this
using regular `spacing` due to height of collapsed categories
- remove dead code

Fixes #9657
2023-03-01 11:42:39 +02:00
Ivan Belyakov 5281cae198 fix(@desktop/wallet): Fix send modal to display all balances in
advanced mode, independent of network selection.
Fix missing break in for loop in token model

Fixes #8858
2023-03-01 11:55:17 +03:00
Jonathan Rainville e9f4426e61 refactor(devices): make loading devices lazy load and async
Fixes #9439
2023-02-28 17:06:16 -05:00
Jonathan Rainville 5352ba8c6f refactor(chat-model): simplify chat model and put category as an Item
Fixes #9494
2023-02-28 11:58:40 -05:00
Noelia db3be56d42 feat(MintTokens): Create new collectible screen
Created new form screen for minting collectibles.

Closes #8733
2023-02-28 14:17:47 +01:00
Noelia 83bdc7f104 feat(Wallet/NetworkFilter): Extended component API
Extends API to allow single UI selection network into `NetworkFilter` and `NetworkSelectPopup` updated.
2023-02-28 14:17:47 +01:00
Noelia 2398b8bd46 fix(SQ/StatusIntValidator): Validation function fixed
Validation function fixed
2023-02-28 14:17:47 +01:00
Noelia aecb4816e0 feat(SQ/StatusImageSelector): Created new statusq component `StatusImageSelector`
Created new `StatusQ` component `StatusImageSelector`.

Closes #9629
2023-02-28 14:17:47 +01:00
Sale Djenic 3441c2e182 feat(keycard): remove balance from factory reset flow if user is not logged in
Closes: #9633
2023-02-28 11:43:58 +01:00
Noelia d6467923e4 fix(Chats): Drag/drop image files is only available for community channels
- Drag/drop images are available from all chat types (1:1 , group chats and community channels).
- In case of community settings views, it is disabled.

Fixes #9630
2023-02-28 11:20:23 +01:00
MishkaRogachev a70bbd448c feat(ActivityCenter): move activity category counters on the backend 2023-02-28 14:08:49 +04:00
MishkaRogachev bb9d6b3121 feat(ActivityCenter): Review fixes 2023-02-28 14:08:49 +04:00
MishkaRogachev c5a32ff8cb feat(ActivityCenter): Switch on backend filtering for the AC notifications 2023-02-28 14:08:49 +04:00
MishkaRogachev 0529ea4be5 feat(ActivityCenter): Storing activity center group in the service level 2023-02-28 14:08:49 +04:00
MishkaRogachev a0647d241e feat(ActivityCenter): Remove UI-side AC notifications filtering & sorting
Close #8510
2023-02-28 14:08:49 +04:00
Alex Jbanca 2accc52b15 fix(UnfurlingUrls): Fix community invitation when community cannot be fetched 2023-02-28 10:06:02 +02:00
Sale Djenic c83794470b chore(keycard): sync keycard with the current app state updated
This commit resolves a crash happened due to connection to
`SIGNAL_WALLET_ACCOUNT_TOKENS_REBUILT` when keycard sync
flow was run in the background.

Also updated the keycard synchronization process with the current state of
the application and is the first step of many which leads towards completion
of entire syncing feature.
2023-02-27 17:02:47 +01:00
Pascal Precht cf5271cfea refactor(communities): load curated communities asynchronously
This makes loading of curated communities asynchronous as the task
can take quite a while.

Closes #9341
2023-02-27 10:24:32 -05:00
Dario Gabriel Lipicar fa1c3beb25 feat(@dekstop/wallet) use user input resolution for Send/Bridge modals
Fixes #9459
2023-02-27 08:22:41 -03:00
Dario Gabriel Lipicar ed1a0d04a0 fix(@desktop/wallet): avoid storing CurrencyAmount objects in QML 2023-02-27 08:22:41 -03:00
Michal Iskierko 147288b47b feat(@desktop/community): Saving community tokens in database
Model with community tokens was moved to section_item - every section has its own model.
Every deployed smart contract is saved to database with "In Progress" state.
The app listenes to deployed transaction and updates contract state in database to "Failed" or "Deployed".
Corresponding model is updated.

Issue #9233
2023-02-27 11:01:35 +01:00
Alex Jbanca 4fca725b55 fix(DidYouKnowSplashScreen): Implement UI changes
1. Update messages
2. Increase messages shuffle time to 7 sec
3. Add fade in animation to DidYouKnow messages
4. Update storybook page
2023-02-27 10:44:58 +02:00
Alexandra Betouni 7c87bc8987 fix(scrollview instances): fixed dropdown&popup height
Fixes InDropdown & OutgoingContactVerificationRequestPopup
2023-02-23 20:52:29 +02:00
Anthony Laibe 7c3a6795f4 fix: qml warning about StatusRoundButton 2023-02-23 18:23:00 +01:00
Khushboo Mehta 2dbf2d4635 fix(@desktop/wallet): Remove the 'Load More' button from the Activity view and replace with automatic loading when the user scrolls down using a skeleton loading state
fixes #8987
2023-02-23 18:04:08 +01:00
Anthony Laibe d9ed23b2d6 fix(@wallet): trim tx data 2023-02-23 14:53:45 +01:00
Lukáš Tinkl abd1672e90 fix: provide correct content/implicit sizes
- fixes a regression from a recent StatusScrollView where the progress
dialog contents would no longer be visible due to broken height
calculation

- do it so in a way that no longer produces binding loop warnings (should
help with error items being truncated on first opening)

Fixes: #8129
2023-02-23 15:05:31 +02:00
Lukáš Tinkl 8097d640eb chore: remove unusued imports 2023-02-23 15:05:31 +02:00
Lukáš Tinkl 7d9fe2d8ca chore: update en translations
some plurals were missing (mostly some "n member(s)")
2023-02-23 15:05:31 +02:00
Michał Cieślak ad006cf105 fix(CommunityTokenPermissionsPopup): required models provided, storybook page fixed 2023-02-23 11:51:30 +01:00
Michał Cieślak e352dcfc11 chore(CommunityPermission): Use typed properties for CommunitiesStore
Additionally, pass assets/collectibles models to HoldingsDropdown
directly instead of store to reduce dependency.
2023-02-23 11:51:30 +01:00
Michał Cieślak 44a13eedfc chore(CommunityPermissions): Dissect real and mocked CommunitiesStore, adapt Storybook's pages
Closes: #9612
2023-02-23 11:51:30 +01:00
Michał Cieślak 9693e19ba5 fix(CommunityPermissions): Adjust store API to not take models as parameters, move conversion to the caller
Closes: #9611
2023-02-22 18:27:19 +01:00
Michał Cieślak 34676d0ec7 fix(CommunityPermissions): clean warnings by preventing assigning when some roles doesn't exist
Closes: #9608
2023-02-22 14:43:40 +01:00
Michał Cieślak 1e7e2084a7 fix(CommunityNewPermissionView): Use only key/amount to compare holdings when tracking duplicates 2023-02-22 14:43:40 +01:00
Michał Cieślak c85a8d3647 fix(StatusQ/Utils): Fix ModelChangeTracker and ModelUtils to handle properly 2023-02-22 14:43:40 +01:00
Michał Cieślak 51928f5c20 fix(StatusQ): Removed nonexisting/unused imports from Sandbox pages
Closes: #9594
2023-02-22 13:35:14 +01:00
Lukáš Tinkl 340866612b feat: relative or absolute timestamping depending on time/date proximity
- implement LocaleUtils.formatRelativeTimestamp() that does all the heavy
  lifting
- use it in StatusTimeStampLabel -> propagates to all message timestamps
  (chat, activity center, settings, etc)

Closes #9397
2023-02-22 12:27:37 +01:00