4917 Commits

Author SHA1 Message Date
Patryk Osmaczko
709d75d69c fix_: flaky testReevaluateMemberPrivilegedRoleInClosedCommunity
`waitOnCommunitiesEvent` must be invoked before action that triggers
the event.

fixes: #4578
fixes: #4761
2024-05-23 20:15:36 +02:00
Mykhailo Prakhov
d80db940d7
chore_: 'CheckAllChannelsPermissions' fn optimization (#5196) 2024-05-23 19:06:50 +02:00
Sale Djenic
534c756bf5 fix_: re-trying http requests up to the predefined max retries
This commit should fix the issue with Cryptocompare and CoinGecko providers down.
Often happens that the first request fails and because of that:
- the Router cannot complete calculation successfully
- some tests are failing
- some users very often see a red banner line saying the providers are down
2024-05-23 16:28:50 +02:00
Sale Djenic
dcef87af3f fix_: token store clearing
This commit fixes issue with having a multiple contract addresses for the same symbols at the same networks.
An issue we had with this was that when we're searching for a token by symbol, always the first one from the
list was returned. That thing may result later in not having enough balance for that token on certain network,
even the user actually has it.
2024-05-23 14:39:46 +02:00
Vaclav Pavlin
d31200e55b
fix(waku)_: only use requestId in store query if defined (#5211) 2024-05-23 08:26:21 -04:00
Patryk Osmaczko
cec5985066 chore(communities)_: separate changes application in reevaluateMembers
This avoids locking of the community until the end of reevaluation.

There is no special handling for community changes while reevaluation is
ongoing. If members are added or removed, the function will behave
correctly. If permissions are changed, they will be accommodated in the
next reevaluation.

fixes: status-im/status-desktop#14775
2024-05-23 09:52:38 +02:00
Arseniy Klempner
ad4fb204ef
chore_: add telemetry url flag to status cli (#5201)
This commit adds a TelemetryUrl param to request for creating
account and to the WakuV2Config. Adds a flag to the cli for
passing in the telemetry server url.
2024-05-22 15:01:54 -07:00
Mikhail Rogachev
c8dfbe682d
fix(communities)_: spectated communities new channels member list (#5190) 2024-05-22 21:43:06 +02:00
Patryk Osmaczko
97af3f7e52 fix_: flaky TestJoinCommunityAsMemberWithMemberAndAdminPermission
`waitOnCommunitiesEvent` must be invoked before action that triggers
the event.

fixes: #4760
2024-05-22 20:42:52 +02:00
Patryk Osmaczko
568e07d2eb chore(scripts)_: add HEAD logging to run_unit_tests.sh
To check if #4993 is really resolved.
2024-05-22 19:44:25 +02:00
Mykhailo Prakhov
6fbf2cf17f
chore(tests)_: createCommunityConfigurable creates only one chat (#5204) 2024-05-22 15:08:44 +02:00
Godfrain Jacques
133ad0946b
fix_: persist left communities even for restored account (#5174)
This PR fixes #7858 by making sure left persisted communities are
restored during the backup restore flow
2024-05-21 14:01:14 -07:00
richΛrd
0937850268
chore: use custom logger for message timestamps and log query duration (#5199)
* chore_: use custom logger for message timestamps
* chore_: log store query duration
2024-05-21 13:29:29 -04:00
Jonathan Rainville
af66f517f5
fix_: fill missing community tokens in controlled communities (#5154) (#5188)
Needed for https://github.com/status-im/status-desktop/issues/14679

On app start, fills controlled communities with missing deployed community tokens if there are.
2024-05-21 12:00:32 -04:00
Michal Iskierko
6f1b82966a feat_: light, no-network versions of permission checking functions
Light functions are based on the fact that permissions are met if the user is on community/channel member list.
If the user is not on the list, permissions will not be met and the client is responsible to use regular permissions-check functions.
For all permissions-check functions, corresponding light versions are added: CheckAllChannelsPermissionsLight,
CheckChannelPermissionsLight, CheckPermissionToJoinLight.

Issue #14220
2024-05-20 14:17:40 +02:00
Vitaly Vlasov
20d3a7b69b fix_: Use UnixMilli() 2024-05-20 14:39:46 +03:00
Igor Sirotin
d8a5665871 fix_: encryption.GetCurrentTime implementation 2024-05-20 14:39:46 +03:00
Igor Sirotin
da12c52596 fix_: loading hash_ratchet_encryption from database checks group_id 2024-05-20 14:39:46 +03:00
292070a854
feat(spiff-workflow)_: support metrics endpoint
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:26:53 +02:00
2e0773d793
fix(spiff-workflow)_: use shards.test fleet by default
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:52 +02:00
8c940bcfb0
fix(spiff-workflow)_: set NoDiscovery=true
To avoid errors like this:
```
NoDiscovery is false, but ClusterConfig.BootNodes is empty
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:51 +02:00
9f1c0a27b7
fix(config)_: KeycardPairingDataFile is not required
Without this change `cmd/spiff-workflow` fails to start with:
```
INFO [05-14|19:08:39.025|github.com/status-im/status-go/api/geth_backend.go:786]  failed to start node                     package=status-go/api.GethStatusBackend
ERROR[05-14|17:00:04.279|spiff-workflow/main.go:125] failed import account                       package=status-go/cmd/statusd err="Key: 'NodeConfig.KeycardPairingDataFile' Error:Field validation for 'KeycardPairingDataFile' failed on the 'required' tag"
```
The alternative is to set `KeycardPairingDataFile` to any value:
```
	nodeConfig.KeycardPairingDataFile = "STUPID_BEYOND_BELIEF"
```
Which is even worse.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:50 +02:00
9ad8829ce0
fix(ci)_: lock Go at 1.20 and Alpine at 3.18
Otherwise builds fail with:
```
sqlite3.c:37493:42: error: 'pread64' undeclared here (not in a function); did you mean 'pread'?
37493 |   { "pread64",      (sqlite3_syscall_ptr)pread64,    0  },
      |                                          ^~~~~~~
      |                                          pread
sqlite3.c:37511:42: error: 'pwrite64' undeclared here (not in a function); did you mean 'pwrite'?
37511 |   { "pwrite64",     (sqlite3_syscall_ptr)pwrite64,   0  },
      |                                          ^~~~~~~~
      |                                          pwrite
sqlite3.c: In function 'seekAndRead':
sqlite3.c:37497:49: error: unknown type name 'off64_t'; did you mean 'off_t'?
37497 | #define osPread64 ((ssize_t(*)(int,void*,size_t,off64_t))aSyscall[10].pCurrent)
      |                                                 ^~~~~~~
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:49 +02:00
Ivan Belyakov
16171c9dc8 fix(wallet)_: fix crash on cbridge fee calculation 2024-05-20 06:38:35 +02:00
Sale Djenic
4a1a29b6a5 chore_: checks per sending type added (part3) 2024-05-18 00:00:23 +02:00
Sale Djenic
7a016d0859 chore_: router moved to router package (part2) 2024-05-18 00:00:23 +02:00
Sale Djenic
4894808839 chore_: review comments applied (part1) 2024-05-18 00:00:23 +02:00
Sale Djenic
08fef4afde chore_: the router implementation simplification 2024-05-18 00:00:23 +02:00
Sale Djenic
437ad499c8 chore_: SendType moved to another file 2024-05-18 00:00:23 +02:00
c7397e18dd
chore(all)_: remove obsolete eth.staging fleet
And leftovers of `eth.test` fleet which no longer exists.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
v0.179.21
2024-05-17 20:21:00 +02:00
Anton Iakimov
92ef58d420
chore_: drop wakuv2 fleets, use waku fleets
See https://github.com/status-im/infra-nim-waku/issues/91 for details.

Mostly done automatically. Some parts manually.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
v0.179.20
2024-05-17 18:53:40 +02:00
Mykhailo Prakhov
77541725aa
chore(community)_: reevaluateMembers optimization (#5169)
* chore(community)_: reevaluateMembers optinizations
2024-05-17 18:15:39 +02:00
osmaczko
948e09af03
fix(communities)_: ensure ScheduleMembersReevaluation is non-blocking (#5176) 2024-05-17 15:06:33 +02:00
Michal Iskierko
c3ab8bd658 feat_: add l1 transaction fee to community token contracts operations
Move estimation funtions to a estimations.go
Compute gas, suggested fees and l1 fee in one status-go call

Issue #14166
2024-05-17 09:57:03 +02:00
Jonathan Rainville
ae08ba6ad1
feat(search)_: filter out messages from non-viewable channels (#5161)
Fixes https://github.com/status-im/status-desktop/issues/14586
v0.179.19
2024-05-16 12:41:04 -04:00
Michal Iskierko
574450289c feat_: Move community tokens transaction listening to status-go
Use EventWatcher to catch wallet events.
Handling all community tokens wallet events in communitytokens service (database and messenger operations).
Adding new signal to nim: CommunityTokenTransactionSignal, which is emitted everytime when the event is received.

Issue #4351
2024-05-16 16:18:15 +02:00
Patryk Osmaczko
00ee631a22 chore_: cleanup hash_ratchet_encrypted_messages periodically
closes: #5036
2024-05-16 16:15:30 +02:00
Cuteivist
6b680f0722
feat_: Correct opt short names (#5163) 2024-05-16 16:01:30 +02:00
Patryk Osmaczko
0db114f544 fix(communities)_: ensure read-only channels are not encrypted
fixes: status-im/status-desktop#14748
v0.179.18
2024-05-16 11:21:55 +02:00
kaichao
03de0a2c6e
chore_: bump mvds (#5165) 2024-05-16 16:42:32 +08:00
richΛrd
bc8b6d24f0
feat_: shards.staging fleet (#5160) 2024-05-15 20:09:28 -04:00
richΛrd
82ae41f6d5
feat(waku2)_: allow using an env variable to set the node's key (#5152) 2024-05-15 19:15:22 -04:00
richΛrd
9e0fb30f8d
chore_: bump go-waku (#5150) 2024-05-15 19:15:00 -04:00
Jonathan Rainville
5ca1cb0a0f
fix(messenger)_: make sure chats have an unread count of 0 for channels you can't view (#5062)
Fixes https://github.com/status-im/status-desktop/issues/14421

The problem is that you can receive messages to  a channel, then later, before marking them as read, a permission is added to them, so you no longer have access.
Then, you can't even mark it as read if it's hidden.
Here, I fix it by setting the unread count on Init at 0 if the user doesn't have view access to it. And I make sure we update the counts when we are removed from a channel
2024-05-15 15:57:12 -04:00
Godfrain Jacques
bf56cb7ee2
fix_: saving profile image changes ens display name to non-ens (#5156)
When a user updates the preferred name, we should just ignore if the name is an ENS name,
because the ENS name is set only in the ENS popup. But this also means that if a user set
the profile name to an ENS name, this change will also be ignored.
2024-05-15 12:37:04 -07:00
Sale Djenic
c9ee0e04c2 fix_: logic for checking if the route can be established updated 2024-05-15 17:36:28 +02:00
Ivan Belyakov
5be610e653 fix(wallet)_: reduce block range size for eth_getLogs request for
Sepolia
2024-05-15 17:24:06 +02:00
Ivan Belyakov
c0e922f0af fix(wallet)_: fix crash on nil db for statusd if wallet is enabled
Fixed some other issues with prevented startup of statusd:
- ensure paths for DBs are created
- ensure DBs are opened before calling `StartNode`
- ignore error if multiacc database is not available

Updates #14693
2024-05-15 10:19:25 +02:00
Cuteivist
838311e902
fix_: Prioritize tokens on eth platform (#5151) 2024-05-15 07:33:12 +02:00
frank
3b5eab3bf1
fix_:sync contact request decision (#5130)
* fix_:sync contact request decision

* chore_:optimise test

* chore_:address feedback from review
v0.179.17
2024-05-15 08:01:47 +08:00