1206 Commits

Author SHA1 Message Date
Khushboo Mehta
5b3a115f55 fix(@desktop/wallet): Loading screen after adding account
1. Removing logic for loading to nim
2. Handling error state for asset view also on the nim side

fixes #9648
2023-03-24 17:09:09 +01:00
Boris Melnik
30b4d9eb5c fix(chat): Sent images with text correctly
Fixes: #9564 #6374
2023-03-24 14:33:17 +03:00
Igor Sirotin
e4f6724fdd
fix(Syncing): Update to newer version of status-go local pairing (#9992) 2023-03-24 11:07:30 +11:00
Jonathan Rainville
2f3f8f4e03 refactor(gifs): lazy load tenor api key + make search async
Fixes #9949

Only calls `setTenorAPIKey` once we need it (when doing a search or getting trending). 
Also caches the trending gifs so that they are only fetched once.
Makes the search and trending calls async by create an async tenor query async task.
2023-03-23 13:20:07 -04:00
Khushboo Mehta
072537f61a feat(@desktop/wallet): Implement connection error screens
fixes #9835
2023-03-23 15:26:22 +01:00
Khushboo Mehta
df121445ca fix(@deaktop/wallet): Implement error states with automatic retries
fixes #9688
2023-03-23 15:26:22 +01:00
Pascal Precht
054ad18532 feat: add authentication modal to join commmunity view
Users that request access to community that are token permissioned
need to authenticate and enter their password, so they can reveal
their wallet addresses
2023-03-23 14:28:31 +01:00
Pascal Precht
5e965bcbb7 refactor: make accepting member requests to join async
This is necessary because with community token permissions, when owners
manually accept a request, we a) don't want to block the UI when the
users funds are check on chain and b) in case of insufficient funds,
we'll react with a modal that tells the owner that the user can't be
accepted.

All of that is done in this commit.
2023-03-23 14:11:04 +01:00
Pascal Precht
858b53979a fix(tokenService): ensure token address map is properly initialized
Nim didn't complain, but the data was being "swallowed" resulting in
a broken asset list in the permissions view.
2023-03-23 08:35:20 +01:00
Igor Sirotin
2d22f2f09a
fix(Syncing): Fixed changing device name (#9921) 2023-03-23 10:21:44 +11:00
Jonathan Rainville
964aa7ebc9 refactor(community): make community data calls async
Fixes #9825
2023-03-22 15:13:19 -04:00
mprakhov
417f206d4d fix(@desktop/communities): remove chat_section data if user left the community 2023-03-22 17:31:16 +01:00
Michal Iskierko
50f64919be fix(@desktop/community): Convert community token image to base64 format
Fix #9866
2023-03-22 15:08:02 +01:00
Ivan Belyakov
02ebc8744c feat(@desktop/wallet): remove isWalletEnabled from local settings and
use ENABLE_WALLET env instead
2023-03-22 10:39:59 +03:00
Pascal Precht
8ef495c604 feat: add decimals to token criteria
We need to store the `decimals` of a given critera so they can be used
by the backend for calculation
2023-03-21 15:55:09 +01:00
Jonathan Rainville
0ebc81594a refactor: reduce calls to getMessageById and remove calls for reactions
Fixes #9859

getMessageById was called way too often, because each time a contact was updated, we called it on every message that contained a mention. Now we only call it on messages that contain a mention from that specific user.

Also, we called emojiReactionsByChatIDMessageID as part of that service call, but only the pinned message used it, so I removed it from the service function. This means that the pinned messages will no longer have the emoji reactions. I could add them back if we really want, but IMO, it's not really necessary. You can just click on the message and see it in the chat instead.

I removed the call to `getMessageById` in the activity center as well, since we can get the replied message info from the MessageDto directly now.

I also removed some dead code in the messages module.
2023-03-21 10:09:51 -04:00
Pascal Precht
cc1a89efef fix(JoinCommunityView): update amIMember state when kicked and joined
Also add handlers to JoinCommunityView for requesting and cancelling
requests. These will be extended in follow up commits to included
authentication modals
2023-03-21 12:16:53 +01:00
Dario Gabriel Lipicar
842e4565bd feat(@desktop/wallet): add support for collectible "watched contracts". Re-fetch collectibles periodically.
Fixes #9856
2023-03-20 12:42:32 -03:00
Boris Melnik
0b6ff5ae2f fix(activity_center): Remove notifications from activity center
Fixes: #9751
2023-03-16 22:26:32 +03:00
Lukáš Tinkl
1998a6556a feat(Profile): New Social Links workflow
TLDR;
- all links visible in settings/popup
- persistent order of items
- drag'n'drop to reorder
- editing/deleting in a new popup
- several links of the same type

Needs changes in nimqml (to expose QAIM::begin/endMoveRows), in
DOtherSide (to expose those to NIM), in status-go (to preserve the links
order and fully save them to DB)

Fixes #9777
2023-03-16 16:08:23 +01:00
Boris Melnik
3a737f97a7 fix(messaging): Sync with status-go content type enum
Fixes: #9655
2023-03-16 16:42:02 +03: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
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
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
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
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
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