Commit Graph

2210 Commits

Author SHA1 Message Date
Michal Iskierko 1c53d1e9b9 fix(@desktop/communities): Chain details (name, icon) are taken from model.
Introduce TokenItem struct.
TokenModel keeps TokenItems.
TokenItem keeps CommunityTokenDto and chain details.
Chain details are taken from networks service.

Fix #9867
2023-03-16 11:46:39 +01:00
Jonathan Rainville 55ad5409f7 refactor(community-service): merge curatedCommunities in communities
Fixes #9752
2023-03-15 13:44:45 -04:00
Igor Sirotin 33d38a4081 fix: Device syncing
- Added local pairing signals
- Remove slash ending from keystorePath
- Implemented localPairingState. Fixed sync new device workflow. 
- Error message view design update 
- Moved local pairing status to devices service
- ConnectionString automatic validation
- Async inputConnectionString
- Added all installation properties to model. Minor renaming.
- Removed emoji and color customization
- Show display name, colorhash and color in device being synced
- Add timeout to pairing server
- Add device type
Fix `DeviceSyncingView` sizing. Fix `inputConnectionString` async task slot.
2023-03-16 00:27:21 +13:00
Jonathan Rainville 1f3aef3a0b refactor(browser): make dapp permissions lazy load
Fixes #9826
2023-03-14 16:19:45 -04:00
Stefan 7cbe7332b8 feat(wallet) fetch multi-transaction information
Prepare the business logic for the upcoming multi-transaction UX
changes.

Bump the status-go HEAD with the corresponding changes

Updates #7663
2023-03-14 21:26:58 +04:00
Dario Gabriel Lipicar 30294f97fe feat(@desktop/wallet): add pagination to collectibles view
Fixes #9754
2023-03-10 12:02:59 -03: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
Michał Cieślak ab523ee19f fix(CommunityPermissions): Temporary solution for assets icons
Closes: #9613
2023-03-09 14:16:36 +01:00
Alex Jbanca a7943e79af core: Add benchmarking tools 2023-03-09 09:20:34 +02:00
Jonathan Rainville d8473f4d4f refactor(communities): refactor communities cache in service
Fixes #9570
2023-03-08 15:18:08 -05: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
Pascal Precht 919f3dc6f7 refactor: load gifs asynchronously
Instead of loading recent gifs right on startup eagerly,
we postpone the task to when it's actually needed (when the gif popup is
opened and the recent gifs tab is activated), and on top of that
we also load the data asynchronously to keep the amount of work
that needs to be done in a single tick as short as possible.

This needs: status-im/status-go#3170

Closes #9437
2023-03-08 12:00:40 -05:00
Michal Iskierko 2ac1216b68 fix(@desktop/communities): Fix community tokens model
Fix #9781
2023-03-08 13:36:41 +01:00
Sale Djenic 6f03a89685 fix(@desktop/wallet): keypairs are displayed wrongly after account removal
Closes: #9667
2023-03-07 20:31:14 +01:00
Richard Ramos e40ee3b073 chore: use random ports for waku and torrents 2023-03-07 14:02:49 -04:00
Sale Djenic d5cddbf79a feat(@desktop/keycard): no `pcsc` service error screen
Closes: #9116
2023-03-07 18:02:10 +01:00
Sale Djenic c5c19e6c34 feat(@desktop/keycard): detecting keycard reader removal for the beginning of each flow
Closes: #9117
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
Dario Gabriel Lipicar eed98809d1 feat(@dekstop/wallet): support collectibles in activity tab
Fixes #8811
2023-03-07 11:07:04 -03:00
Ivan Belyakov e27f2ec667 feat(@desktop/wallet): update saved addresses list
Fixes #8599
2023-03-07 15:00:46 +03:00
Alex Jbanca 58e9e61702 fix(SplashScreen): Enable threaded renderer 2023-03-07 12:31:36 +02: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
Pascal Precht 2e45889a9a refactor: TokenCriteriaType -> TokenType 2023-03-06 14:03:22 +01:00
Michal Iskierko 5f28d8b809 fix(@desktop/communities): Pass chainId to status-go call
Fix #9725
2023-03-06 11:27:57 +01:00
MishkaRogachev 38a9b4a7f1 feat(ActivityCenter): Support status-go PR with endpoints refactor 2023-03-03 19:52:20 +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
Patryk Osmaczko 489d5d501d chore(node_config): move constants to NODE_CONFIG 2023-03-03 08:46:11 +01:00
Boris Melnik 18e5fc915c fix(chat): Display text from image message
Fixes: #9564
2023-03-02 22:08:46 +03:00
Jonathan Rainville 7db4a5ca52 fix(community-service): fix community image parsing for windows
Fixes #9678
2023-03-02 10:07:27 -05:00
Pascal Precht a97d32346a fix(Communities): ensure community chats exist in memory upon spectating
When a community link is shared with a user and that user visits that community, it turns out that the chat objects for that community have not been created yet.

This results in chat data being malformed/non-existent until another message signal is processed that updates the chats in memory. This update can someimes occur earlier, sometimes later, which is why the issue isn't always reproducible.

This commit ensures we're loading chats from status-go again upon spectating, to ensure they exist in memory when we try to access the data in the UI.

Closes #8361
2023-03-02 09:45:07 -05: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
Richard Ramos a7ecb4be92 fix: delete `appController` before `statusFoundation`
AppController executes status-go Logout function when it's being deleted, and that will stop all status-go services and kill pending mailserver requests. If StatusFoundation is deleted before the AppController, it's possible for some tasks to freeze the app on logout
2023-03-01 19:13:40 -05:00
Jonathan Rainville 72d40346f6 refactor(browser): only get bookmarks when opening the browser
Fixes #9440
2023-03-01 10:47:05 -05:00
Jonathan Rainville f10299ba6f fix(curated_communities): fix error handling in curated communities call 2023-03-01 10:47:05 -05:00
Jacek Sieka 1856c9de93 remove task-runner dependency
As of #9596, task-runner is no longer used.

Due to how the build system works, task-runner was providing nim-stew,
nim-bearssl and nim-chronos to the project, even though these are also
top-level dependencies - effectively this means there were multiple
versions of these libraries in the source tree and it is not entirely
intuitive which is actually used - adding to the confusion, the
submodule was pinning different versions.

This PR removes task-runner and resets the other dependencies to the
versions in task-runner thus minimising collateral changes.

A duplicate copy of bearssl is also removed.
2023-03-01 10:20:45 -05: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 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 9b840bfbd0 refactor: make sure we only set active the active chat of active section
Fixes #9236 and #9438
2023-02-28 17:05:00 -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
Alex Jbanca 79b4d7638a fix(QAbstractItemModel): Fixing memory leaks and crash when using startupModule after the object is deleted 2023-02-28 18:37:34 +02:00
MishkaRogachev 7b250b20b8 feat(ActivityCenter): Move group logic to nim service layer 2023-02-28 14:08:49 +04: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