Commit Graph

1758 Commits

Author SHA1 Message Date
Mykhailo Prakhov 30fee0cfd3 fix(communities)_: validate if RawMessage from DB is valid before sending it 2024-07-23 19:54:39 +02:00
Mykhailo Prakhov 54555b47de fix(logs)_: remove community private key logging in publishCommunityPrivilegedMemberSyncMessage 2024-07-19 16:50:40 +02:00
Vitaly Vlasov 3ef445dbcf fix_: share all future addresses storage 2024-07-18 12:08:40 +03:00
Ivan Belyakov 102b57098e test(communities)_: skip flaky communities test 2024-07-17 19:17:35 +02:00
Patryk Osmaczko 9403475572 chore(communities)_: request missing channels' encryption keys in a loop
closes: status-im/status-desktop#14683
2024-07-16 16:44:50 +02:00
Vitaly Vlasov 67364dadc8 chore_: small mailserver async fetching refactor 2024-07-16 10:53:42 +03:00
Jonathan Rainville 621b31a279
fix(community)_: fix pure readonly channels not respecting the right roles (#5513)
Fixes https://github.com/status-im/status-desktop/issues/15547
2024-07-15 13:53:20 -04:00
Prem Chaitanya Prathi 9a703162c4
refactor: only use shards (#5474)
* refactor_: use shards by default

* fix_: metadata lightclient check

* chore_: update go-waku
2024-07-15 20:55:12 +05:30
Prem Chaitanya Prathi 58a3cc1127 feat(waku)_: allow client to set store confirmations 2024-07-15 09:37:57 +01:00
richΛrd 56cc5c96c5
feat_: bump go-waku to introduce new keep alive interval (#5484)
- Also renames the existing keepAliveInterval to randomPeerKeepAliveInterval, and uses time.Duration instead of int
2024-07-11 14:36:34 -04:00
Andrey Bocharnikov 02b822802c chore(community)_: serialise community jsons with image URLs
Fix status-im/status-desktop#15340
2024-07-11 18:55:24 +07:00
kaichao 798877788c
fix_: delivered message should not send envelope sent signal (#5502)
* fix_: delivered message should not send envelope sent signal

* chore_: refactor
2024-07-11 19:41:49 +08:00
Richard Ramos 80fe18bef9 feat_: `wakuext_relayPeersByTopic` 2024-07-11 12:32:31 +01:00
Andrea Maria Piana 9a59d6a459 feat(metrics)_: add centralized metrics
This commit adds support for centralized metrics.
There are two providers as of now, and we haven't quite decided which
one to go for, so for the time being both are supported.
It also introduces a new endpoint InitializeApplication that replaces
OpenAccounts
2024-07-11 10:05:31 +01:00
Jonathan Rainville 11fcec2109
fix(messenger)_: make sure display name is legit before sending (#5496)
FIxes https://github.com/status-im/status-desktop/issues/15284

Somehow, the display name could get messed up and when it happened, no message could be received, because we also validate the display name on reception.

I think the problem for the particular user happened because the special display name was added before we enforced it, or through the sync.
2024-07-09 15:22:59 -04:00
Mykhailo Prakhov 7ec5b18642 fix(CommunitySharedAddresses)_:
- TokenMaster request shared addresses on restoring from a backup
- Fixes sharing members revealed adresses
- Filter out outdated ApplicationMetadataMessage_COMMUNITY_PRIVILEGED_USER_SYNC_MESSAGE messages
2024-07-09 18:19:40 +02:00
Mykhailo Prakhov 8f2ef400d1 fix(TestUtils)_: remove hardcoded CommunityPermissions_AUTO_ACCEPT for createCommunityConfigurable Membership 2024-07-09 18:19:40 +02:00
Mykhailo Prakhov 3f756a211f fix(TokenBalanceMock)_: mocked GetBalancesByChain returns all known balances, but not for certain accounts and chain ids 2024-07-09 18:19:40 +02:00
Mykhailo Prakhov 243ff6799d fix(reevaluateMembers)_: changing privileged permissions (TM -> admin, admin -> TM) 2024-07-09 18:19:40 +02:00
Mykhailo Prakhov 6333e2a053 fix(CommunityMember)_: update LastUpdateClock 2024-07-09 18:19:40 +02:00
Michal Iskierko 3145ab05ff feat(community tokens)_: Upgrade ERC721 contract to enable batch transfers
Add version field to proto and database.

Issue #4947
2024-07-08 11:30:51 +02:00
Jonathan Rainville 2458a8b657
fix(search)_: search now works with Discord import and bridged messages (#5489)
Fixes https://github.com/status-im/status-desktop/issues/8721
2024-07-05 13:33:14 -04:00
Mykhailo Prakhov fc401bc8a7
fix(communities)_: kick AC notification after control node device change (#5472)
fix(communities)_: kick AC notification after control node device change
2024-07-05 10:38:12 +02:00
Patryk Osmaczko cb20c4c64a feat(communities)_: introduce bloom filter members list
iterates: status-im/status-desktop#15064
2024-07-04 17:54:29 +02:00
Andrea Maria Piana d69b3e5cc9 chore_: limit max number of ephemeral keys to 3
This commit limits the number of ephemeral keys used by the push
notification client to 3, as it was noticed that it would greatly
increase the number of filters installed and was unbound.
2024-07-04 15:23:25 +01:00
Jakub Sokołowski 0a6b76643e fix(integration-tests)_: add missing HTTPVirtualHosts
And set it to `*` for tests to avoid RPC access issues.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-07-04 16:14:02 +02:00
Ivan Belyakov 3983114ae5 test(wallet)_: add unit tests for balance fetcher
replace types with interfaces where necessary to allow mocking
implement fake eth scanner and erc20 contracts
2024-07-04 09:29:49 +02:00
Prem Chaitanya Prathi 437f830b51
feat_: aggregate filter subscriptions to do bulk subs with peer (#5440)
* feat_: aggregate filter subscriptions to do bulk subs with peer

* chore_: take possible deadlock fix in go-waku

* fix_: don't resubscribe filters unless there is a change in shard for community (#5467)
2024-07-04 10:34:53 +05:30
Andrey Bocharnikov d5acf01291 fix(unfurl)_: The application crashes when generating status user profile link preview
* It happened because the contact and the error were both nil

fixes status-im/status-desktop#15297
2024-07-01 21:57:18 +07:00
Arseniy Klempner 5934233266
feat_: call telemetry upon error pushing envelope (#5430)
* feat_: call telemetry upon error pushing envelope

* feat_: call telemetry upon error pushing envelope

---------

Co-authored-by: Václav Pavlín <vaclav.pavlin@gmail.com>
2024-06-28 13:24:04 +03:00
Patryk Osmaczko 89e7e7f24b refactor(communities)_: expand `channelEncrypted` usage 2024-06-27 20:15:42 +02:00
Andrea Maria Piana 2bc2099d55 chore(performance)!: Remove member list in non-encrypted channels
This commit removes the list of members from non token gated channels.
Unfortunately is a breaking change. I could make it non-breaking, but
we would lose any performance benefit.

For clients, the pseudo code for checking the member list of a channel
is:

```
members := channel.TokenGated ? channel.Members : community.Members
```
2024-06-27 10:44:49 +01:00
kaichao d8a49c538b
Reset MVDS epoch after peer is online (#5349)
* feat_: reset epoch for online peer

* chore_: fix

* chore_: refactor

* chore_: update mvds

* chore_: fix lint

* chore_: update mvds

* chore_: make vendor

* chore_: fix tst

* chore_: tuning store query hash parameter

* chore_: non-blocking mvds status change channel
2024-06-27 09:54:31 +08:00
richΛrd 7731f56b17
feat(waku2)_: check for missing messages (#5281) 2024-06-26 14:25:44 -04:00
Mikhail Rogachev 1ba4b86c7e
feat_: Add WS settings to the node config (#5346)
* feat_: add ability to enable http and ws connections from the client app
* feat_: add websocket option for api config
* fix_: use new api options in statusd
* chore_: add test for `overrideApiConfig`
2024-06-26 16:33:22 +02:00
Pablo Lopez 8480429cbb
fix_: force process online/offline state hanlding after computer back from sleep (#5422)
* fix_: force process online/offline state hanlding after computer back from sleep

* fix_: naming variables
2024-06-26 16:03:44 +03:00
Igor Sirotin 49eaabaca5
feat: adapt create/restore/login endpoints for keycard usage (#5311)
* chore_: remove duplicated `StartNodeWithKey`

* feat(KeycardPairing)_: added GetPairings method

* chore_: simplify startNode... methods

* chore_: added encryption path to be derived

* fix_: error handling in StartNodeWithKey

* feat_: added keycard properties to CreateAccount

* feat_: moved KeycardWhisperPrivateKey to LoginAccount

* fix_: LoginAccount during local pairing

* feat_: added chat key handling to loginAccount

* chore_: struct response from generateOrImportAccount

* fix_: do not store keycard account to keystore

* feat_: added Mnemonic parameter to LoginAccount

* chore_: wrap loginAccount errors

* feat_: RestoreKeycardAccountAndLogin endpoint

* chore_: merge RestoreKeycardAccountRequest into RestoreAccountRequest

* fix_: TestRestoreKeycardAccountAndLogin

* fix_: MessengerRawMessageResendTest

* chore_: cleanup

* chore_: cleanup according to pr comments

* chore_: better doc for Login.Mnemonic

* chore_: add/fix comments

* fix_: lint
2024-06-26 13:14:27 +02:00
Jonathan Rainville d942ad1a1f
fix(manager)_: make sure createCommunityPermission schedules the reeval (#5404)
Fixes https://github.com/status-im/status-desktop/issues/15175

The problem was that we used StartMembersReevaluaitonLoop in createCommunityPermission, in case the loop was never started. Indeed it worked if it was the first ever permission, because the loop would then start and members would be re-evaluated.

However, if the loop was already started, in the case where there were previous permissions, the call would just early exit, because it was already started.

The solution here is to use `ScheduleMembersReevaluaiton` like other permission functions use. To make sure a first permission still works, we call startLoop in schedule if the task doesn't exist.
2024-06-25 14:46:29 -04:00
Mikhail Rogachev 1362d10620
feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
Andrea Maria Piana 5cfaa00195 chore_: Add script for extracting logs 2024-06-24 11:56:57 +01:00
frank e0673ad1ff
feat(community)_: Move images from community data to MediaServer (#5336)
* feat(community)_: Move images from community data to MediaServer

* test_: fix lint issue

* test_: add more test statements

* feat_: deprecate old API

* test_: addressed review feedback from Icaro

* fix_: addressed review feedback from Jonathan

* chore_:wrap image url in an object
2024-06-24 17:37:44 +08:00
Pablo Lopez 39dffd8b70
fix_: logging cli join group, small logging issue missing id, init online state to current state (#5407) 2024-06-24 10:16:05 +03:00
Patryk Osmaczko 0995802428 fix(communities)_: ensure community sync doesn't override joined state
potentially fixes: status-im/status-desktop#15009
2024-06-20 15:37:20 +02:00
Patryk Osmaczko 88c671fcf0 fix(communities)_: correct >1 NFT token requirement evaluation
Fixed logic to respect specified NFT quantities. Previously, holding one
NFT sufficed, regardless of the required count.

fixes: status-im/status-desktop#15122
2024-06-20 15:23:38 +02:00
Ivan Belyakov bd816f1e29 chore(wallet)_: tests for wallet.Reader fetching balances
chore(wallet)_: split getWalletTokenBalances into multiple functions

Removed some unused balances methods from wallet API

chore(wallet)_: refactored FetchOrGetWalletTokenBalances

- getWalletTokenBalances only returns cached ones
- update of balances is done in a separate method

chore(wallet)_: fix isVisible in getWalletTokenBalances is overwritten

It is overwritten and in some cases its value is desrespected

chore(wallet)_: simplify getWalletTokenBalance even further

chore(wallet)_: remove accountsDB from wallet.Reader

Call GetTestNetworkEnabled from NetworkManager instead

chore(wallet)_: remove rpc.Client from wallet.Reader.

Added GetActiveNetworks() method for NetworkManager
Removed adding native tokens from networks, as this is done already
in NetworkManager

chore(wallet)_: moved Persistence to token package

As it works with token_balances table, moved Persistence to token package.
Fixed TokenManager's Mark/Get previously owned tokens to use persistence
storage instead of direct SQL calls.
Introduced StorageToken that aggregates Token type, because when
Persistence moved to token package, names clash

test(wallet)_: tests for wallet.Reader.FetchorGetCachedBalances
2024-06-19 16:57:50 +01:00
richΛrd a300e12853
feat_: wakuext_enr (#5367) 2024-06-18 15:48:49 -04:00
Igor Sirotin 10cf286208
feat_: added Login request BandwidthStatsEnabled flag (#5369) 2024-06-18 14:36:53 +01:00
richΛrd 83955bbc8a
fix_: ctx not available when starting telemetry client (#5368) 2024-06-17 15:15:11 -04:00
Jonathan Rainville 4a63201a79
fix_: send request for shared addresses when restoring a community (#5314)
* fix_: send request for shared addresses when restoring a community

Needed for https://github.com/status-im/status-desktop/issues/14289

When someone restores a community that they joined, it now sends a message to the control node to get their shared addresses back.

It's lighter that backing up the addresses all the time on waku and should only be needed once.

* fix_: filter communities before to avoid passing `alreadyHandled` parameter to `requestCommunityKeysAndSharedAddresses`

---------

Co-authored-by: Patryk Osmaczko <osmaczkopatryk@gmail.com>
2024-06-14 13:32:55 -04:00
richΛrd 4c090d5699
chore(waku2)_: increase store query pagesize (#5341) 2024-06-14 12:35:16 -04:00