Commit Graph

1665 Commits

Author SHA1 Message Date
Jonathan Rainville 5f4aab3121
feat(community)_: send signals about member reevaluation in progress (#5120)
Needed for https://github.com/status-im/status-desktop/issues/14378
2024-05-08 15:55:30 -04:00
Jonathan Rainville db0cc10a73
fix(permisisons)_: private permisisons shouldn't affect the check (#5116)
Fixes https://github.com/status-im/status-desktop/issues/14608
2024-05-08 14:45:58 -04:00
Igor Sirotin 3e4367a7cf
fix_: community members reevaluation fixes (#5117)
* fix_: prevent publishing older community description

* fix_: schedule member reevaluation instead of reevaluating in parallel

* fix_: lock community on members reevaluation

* fix(TestJoinCommunityAsAdminWithMemberAndAdminPermission)_: setup waitOnCommunitiesEvent in advance

* fix(TestEditSharedAddresses)_: remove redundant community description retrieval
2024-05-08 16:32:46 +01:00
Igor Sirotin 522f3288b0
chore_: uncomment and skip TestBecomeMemberPermissions (#5121) 2024-05-08 15:53:34 +01:00
Igor Sirotin 1c43b7a29b
chore_: better community json log (#5118) 2024-05-08 15:49:41 +01:00
Igor Sirotin 59c6ee5ffe
chore_: disable discv5 in tests (#5119) 2024-05-07 15:06:45 +01:00
Jonathan Rainville 9c2c638aaf
fix(communities)_: fix curated comm fetch not starting for unknown comm (#5110) (#5111) 2024-05-03 13:17:11 -04:00
frank 8c5a735438 feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
Jonathan Rainville 852a5beb39
feat_: limit number of members in a community and number of pending requests (#5107)
* feat(community): limit nb of requests to join and members

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

* chore: simplify TestRequestAccessAgain

* chore: add a test for the member limit
2024-05-01 13:27:31 -04:00
Andrey Bocharnikov 2fb6d615fd
fix_: add method to retrieve prepared message (#5102)
* Add Test_WHEN_MessageContainsImage_THEN_PreparedMessageByIDContainsLink
* Add Messenger.PreparedMessageByID call
fixes #13684
2024-05-01 09:54:47 +04:00
Mikhail Rogachev b5f8f792d5
chore: fix flaky tests in 'TestMessengerProfileShowcase' (#5104)
* chore_: fix flaky tests in 'TestMessengerProfileShowcase'

Close #5100

* chore_: fix flaky `TestShareShowcasePreferences`

Close #4751
2024-04-30 19:46:42 +02:00
Siddarth Kumar 1551c98f96
chore_: override DNS for iOS as well (#5093)
We need to apply the DNS override hack for iOS as well.

This PR -> https://github.com/status-im/status-mobile/pull/19798 in status-mobile fixes the DNS resolution issue for
iOS ARM Simulators and for Android x86 Emulators.
But we still need this change to ensure storenodes are found on real iOS devices and on Android arm Emulators.
2024-04-26 14:14:17 +02:00
Ajay Sivan 0ef4fb8cc7
chore_: log revealed addresses on join/edit (#5073) 2024-04-24 18:54:25 -07:00
Mohsen 70a9996d82
fix_: bio length check (#5074) 2024-04-24 20:41:08 +03:00
Ajay Sivan faf823f62f
fix_: filter private permissions & add Id keys in check_permissions_response (#5059) 2024-04-19 09:23:54 -07:00
Mikhail Rogachev 3baaac3e63
chore_: move grant exiration to a new test (#5078) 2024-04-19 16:23:27 +02:00
Siddarth Kumar d6c4682479
chore_: bump go to 1.20 (#5027)
This commit attempts to upgrade go version to 1.20.12
This commit also removes the following items from lint checks :
* `goconst`
* `structcheck`
* `deadcode`
* `golint`
* `varcheck`

Mobile PR for QA purposes -> https://github.com/status-im/status-mobile/pull/19564
2024-04-18 18:48:02 +02:00
Andrey Bocharnikov 78db9054fc
fix_: Add contact to removeTrustStatus response (#5058)
* Split function for reseting trust status and verification+trust status
* Refactoring: extract setTrustStatusForContact, setContactVerificationStatus functions
* Tests
2024-04-18 19:28:44 +04:00
Patryk Osmaczko 9e5462eb9e feat_: introduce forward error correction in segmentation layer
closes: #4330
2024-04-17 22:05:53 +02:00
Patryk Osmaczko bd91f5ab49 fix_: keep community locks map unreleased when Manager stops
`ReevaluateMembers` is run as a separate goroutine and sometimes it is
executed after `Manager` has been stopped. It tries to use the lock and
in consequence, it panics. Ensuring the map is still there prevents that.

^Happened in test: `TestCreateTokenPermission`.
2024-04-17 17:31:38 +02:00
Patryk Osmaczko 9d309886f7 fix_: mitigate race conditions on community
mitigates: status-im/status-desktop#14432
2024-04-17 17:31:38 +02:00
Mikhail Rogachev 6da423fc71
feat: Add an expiration and periodical publishing for community grants (#5024)
* feat_: add periodical publishing for community grants
feat_: Validate grant when receiving it
feat_: add expiration for grants
feat_: add test for grants expiration
fix_: move grants test to profile showcase, fix a few bugs
* feat_: use one group mesage to update grants
* chore_: review fixes
2024-04-17 16:53:51 +02:00
Mikhail Rogachev 1211b86151
chore_: update pb.go files according protoc version from nix (#5052) 2024-04-12 19:04:00 +02:00
Andrea Maria Piana 116fda7461 fix_: Remove rpc client from push notification servers and avoid panic 2024-04-11 17:12:14 +01:00
Godfrain Jacques e6fee1a84e
fix_: token-permitted channel input not locked (#5046)
Issue #14117
2024-04-10 10:51:58 -07:00
Patryk Osmaczko 21eba9928c chore_: bump `hash_ratchet_encrypted_messages_key_id` migration
This is to ensure proper migration from release branch.
2024-04-10 16:40:57 +02:00
Patryk Osmaczko dcf3ed2388 fix_: improve performance of `GetHashRatchetMessages`
This time with proper migration timestamp.

part of: #5036
2024-04-10 14:27:14 +02:00
Ibrahem Khalil 18cc3a16d5
Return request to join acceptance notifications (#4909) 2024-04-09 21:32:03 +02:00
kaichao e2a4a22896
chore: refactor status cli (#5010)
* chore: remove opts when create account

* chore: namings and better logging

* chore: config api modules with flag.

* chore: renaming

* chore: use methods on object

* fix: allow less characters for name

* fix: display name unit test

* chore: revert display name check.

* chore: change simulate display name.
2024-04-09 18:44:43 +03:00
flexsurfer 69326767d8
add image to chat preview (#4888) 2024-04-09 17:39:14 +02:00
Michal Iskierko c921079761 fix: handle bridge message edits
Issue #14044
2024-04-07 23:24:46 +02:00
Jonathan Rainville 6c82a6c2be fix(manager): make both perms satisfied if viewAndPost is satisfied
Fixes https://github.com/status-im/status-desktop/issues/14209
2024-04-04 14:34:59 -04:00
Patryk Osmaczko 107d7a9822 fix: increase mute interval check
Each 3 seconds is much too frequent, it leads to all communities being
read from the database and as a consequence to extensive memory
consumption (most likely garbage collector was not fast enough to
cleanup allocated memory).

mitigates: status-im/status-desktop#14281
2024-04-04 10:59:47 -04:00
yqrashawn aa73a0512c
feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
Mykhailo Prakhov 3c76fdc626
fix: crash in dbRecordBundleToCommunity if event was signed not by a control node (#5009) 2024-04-03 14:51:28 +02:00
Igor Sirotin 3bd00cb416
chore: log incorrect amountInWeis (#5005) 2024-04-02 14:54:24 +01:00
Mikhail Rogachev 30e143ca40
Fix(Profile): Remove profile showcase from general response via signal (#4982)
* Fix(Profile): Remove profile showcase from general responce via signal

* Fix(Profile): Restore community membership validation for the prodile showcase

* feat: Make profile validation optional

* fix: review fixes
2024-03-29 11:22:44 +01:00
Mykhailo Prakhov e4c1abb5ce
fix: validate display name on account creation (#4994) 2024-03-28 16:57:59 +01:00
Igor Sirotin 223a1d759e
Login endpoints improvements (#4980) 2024-03-28 15:01:44 +00:00
Ivan Belyakov c21e6430a2 fix(wallet): cleanup token_balances table on account removed
Updates #4937
2024-03-27 14:54:30 +01:00
Patryk Osmaczko 5b7910ae5a fix: validate community events read from database
Despite the expectation that only validated events are stored in the
database, instances have been identified where invalid events are saved.
This can lead to unexpected behavior or crashes.

This commit adds validation for community events read from the database
to prevent such cases.

**NOTE**: this fix does not address the root cause, which involves
invalid events being saved to the database. The exact scenario leading
to this issue has yet to be identified.

mitigates: status-im/status-desktop#14106
2024-03-27 14:31:03 +01:00
Igor Sirotin 1a2880b365
Fix/community tags indices (#4992)
* fix: strict order of community tags

* make tags containers private

* fix RandomCommunityTags implementation
2024-03-26 20:02:12 +00:00
Igor Sirotin edcb8ba3b8
fix: sync pending contacts (#4986) 2024-03-26 13:47:12 +00:00
Mohamed Javid 1886dc3360
[Feature] Allow setting TestNetworksEnabled in Create/Restore Account (#4971)
This commit adds the ability to set the "TestNetworksEnabled" flag while creating an account.

Function affected: "generateOrImportAccount"

This helps Dev/E2E/PR builds to enable Test Networks by default and disable them on release/nightly builds.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-03-26 17:08:16 +05:30
Igor Sirotin 0d9b6138d6
fix: race condition with empty PreferredName (status-desktop/14053) (#4981) 2024-03-25 15:43:45 +00:00
Patryk Osmaczko 7f44d4d12a refactor: remove unused `COMMUNITY_EVENTS_MESSAGE_REJECTED` 2024-03-25 13:18:20 +01:00
Mikhail Rogachev e878f89b65
fix: Remove proof of membership for the profile showcase communities (#4961)
https://github.com/status-im/status-desktop/issues/14084
2024-03-22 21:50:15 +01:00
Mykhailo Prakhov b931a75bd8
fix: crash on control node side dutring handling edited shared address from the member who left the community (#4967) 2024-03-22 15:25:37 +01:00
Mikhail Rogachev c7e7445f5c
Fix: ignore nil contact 'IsDisplayNameDupeOfCommunityMember' (#4956) 2024-03-21 20:43:51 +01:00
Patryk Osmaczko 0aed93ff04 fix: encrypt community's Categories and ActiveMembersCount
fixes: #4943
fixes: #4944
2024-03-20 18:41:07 -04:00
Andrea Maria Piana 894eb5758e Add canView to chat & fix admin role 2024-03-20 16:48:07 -04:00
Igor Sirotin c85bf76f21
fix: Update and improve `TestFetchRealCommunity` (#4949) 2024-03-20 18:10:02 +00:00
Mykhailo Prakhov ad342c8887
feat: get and delete community member messages API (#4932) 2024-03-19 20:44:49 +01:00
Sean Hagstrom b911297a3d
Feature: store and retrieve a contact's bio (#4916)
* chore: create migration for adding bio field to contacts table

* feature: update contact persistence to save and query contact bio

* test: ensure that the protocol can store and retrieve contact bio data
2024-03-19 18:09:13 +00:00
Pablo Lopez 78bf40994a
remove confusing debug log (#4948) 2024-03-19 19:11:18 +02:00
Mykhailo Prakhov a1033f466a
feat: add new CommunityMemberState - CommunityMemberBanWithAllMessagesDelete (#4941) 2024-03-19 14:40:23 +01:00
kaichao f0d6a4f64f
Send direct message using CLI (#4913)
* feat: send dm with cli

* fix: send contact request works

* feat: accept contact request

* feat: send dm

* fix: log

* feat: more dm

* fix: lint

* refactor: fix comments

* fix: more refactor

* fix: refoctor more

* fix: more refacotr

* fix: refactor dm

* fix: context from cli

* fix: add light mode flag

* fix: remove sleep when start node

* fix: better log

* fix: better logger

* fix: lint

* fix: comments

* fix: const flags

* fix: named logger

* feat: inteactive mode

* fix: send message in loop

* fix: better context manage

* feat: cli serve

* fix: readme

* extract to multi files

* fix: status cli rpc

* feat: create and login account

* fix: missing messagess

* fix: missing messages because data sync is not started.

* feat: start http service

* fix: lint

* fix: more build instructions.

* fix: review comments
2024-03-19 08:31:35 +08:00
Patryk Osmaczko 17c5ab414b fix: ensure `CommunityDescription` reprocessing on decryption failure
Previously, `CommunityDescription` instances failing partial decryption
were not reprocessed due to duplicate message check. This commit fixes
the issue by bypassing the check for such descriptions, allowing their
reprocessing upon receiving missing encryption key.

fixes: status-im/status-desktop#13647
2024-03-18 22:24:24 +01:00
Igor Sirotin b9d9938209 make generate 2024-03-18 15:01:29 +01:00
Michal Iskierko 8bf03609fc feat: Add HideIfPermissionsNotMet to CommunityChat struct
Issue #13291
2024-03-18 15:01:29 +01:00
Mikhail Rogachev 0aa1fb9eff
Fix: handle accepted contact verifaction if persistedVR is null (#4918) 2024-03-14 20:56:26 +01:00
Andrea Maria Piana 2311da2475 Port back migrations from release branch 2024-03-14 13:27:12 +00:00
Mikhail Rogachev b987e8d6f5
Fix: the validation of collectibles should not be dependent on capitalization (#4917) 2024-03-13 15:19:33 +01:00
Michal Iskierko 9db149d4f6 feat: handling replies for bridged messages
BridgeMessage struct has MessageID and ParentMessageID.
MessageID keeps the original Discord message ID.
ParentMessageID keeps the original Discord parent message ID (response_to).
When the new bridge message is received, corresponding status message response_to field is updated.

Issue #13258
2024-03-13 12:50:15 +01:00
Andrea Maria Piana 67dfff2324 Add index to hash ratchet & cache processed description 2024-03-13 11:35:11 +00:00
Ibrahem Khalil 8c0e24dc26
Add favicons to external link previews (#4788) 2024-03-12 22:47:51 +02:00
Jonathan Rainville 3f1547fc63 chore: add test that validates that the member role gets updated 2024-03-12 11:04:45 -04:00
Jonathan Rainville 6f119b9c53 fix(community): fix member role not being updated 2024-03-12 11:04:45 -04:00
Jonathan Rainville 605e3a4ed0 fix(community): fix editing a community channel loses the members 2024-03-12 11:04:45 -04:00
Jonathan Rainville e3810148d8 feat: add ViewersCanPostReactions to Chat object
Needed https://github.com/status-im/status-desktop/issues/13523
2024-03-12 11:04:45 -04:00
Patryk Osmaczko b02e3b19e2 feat: add permissions reevaluation request
Token master can't manage members directly, so it must request
reevaluation from the control node.

fixes: status-im/status-desktop#13778
2024-03-12 14:15:01 +01:00
Patryk Osmaczko 1de61d1933 fix: channel members evaluation on request acceptance
If there is only `viewAndPost` permission set on a channel, members who
don't satisfy the criteria shouldn't be able to view the channel.
2024-03-12 14:15:01 +01:00
Patryk Osmaczko 2995518939 chore: skip flaky TestSetStorenodeForCommunity_fetchMessagesFromNewStorenode 2024-03-11 22:02:07 +01:00
Igor Sirotin c8044bf400
chore: disable curated communities loop in tests (#4894) 2024-03-09 09:42:06 +00:00
Mikhail Rogachev 6522d52016
Feat: Simplify profile showcase preferences (#4854)
* Feat: simplify profile showcase preferences

* Feat: remove old profile showcase preferences on save

* Feat: add getters for showcase entries limits
2024-03-08 17:20:23 +01:00
Igor Sirotin 5a54d703c7
fix: flaky test request profile info (#4895) 2024-03-08 15:50:46 +00:00
Igor Sirotin c3e7d3823f
fix: process empty albumId in albumMessages (#4874) (#4898)
* fix: process empty albumId in albumMessages
* fix: right `prepareMessage` for empty album
2024-03-08 13:48:22 +00:00
Igor Sirotin 7f671f7632
chore: make generate with custom `-modtime` (#4896) 2024-03-08 09:25:17 +00:00
frank deb56c2c81 fix: race condition on updating account.Name during handle BackupData 2024-03-07 20:18:50 +08:00
Godfrain Jacques 0e37ec2058
Fix contact details large image is always empty (#4864)
fixes #13563 contact details largeImage is always empty
2024-03-06 09:25:19 -08:00
Patryk Osmaczko 67fd2ce93e chore: skip TestBackupSettings 2024-03-06 18:05:40 +01:00
Patryk Osmaczko e9f0d7f597 chore: skip TestMessengerPeersyncingSuite 2024-03-06 18:05:40 +01:00
Alexander 26bc564b38
Peer syncing toggle (#4758)
* Peer syncing toggle

* bindata.go
2024-03-05 11:44:09 +01:00
Igor Sirotin c217692c76
chore: improve StoreNodeRequestManager for community custom storenodes (#4860) 2024-03-04 20:46:25 +00:00
Igor Sirotin bdb2b261a6
feature: view only channel reactions (#4820)
* CommunityMember channel role

* make generate
2024-03-01 17:15:38 +00:00
Mykhailo Prakhov 84713384bb
fix: TestAdminBanMemberWithDeletingAllMessages test fix (#4855) 2024-03-01 17:37:20 +01:00
Igor Sirotin 571f30777e
chore: make generate with nix-shell (#4853) 2024-03-01 13:58:24 +00:00
Mikhail Rogachev 5d29c20f94
Feat: Add 'IsDisplayNameDupeOfCommunityMember' endpoint (#4839)
* feat: Add 'TestScanCommunitiesMembersForName' endpoint

* feat: validate display name amoung community members
2024-03-01 15:46:48 +03:00
Sale Djenic e87e9b6f81 fix: recovering/migrating keypairs fixes
- fixed issue with displaying 3 words name on the login screen after recovering from waku
- fixed inability to delete account after recovering from waku
2024-03-01 11:11:16 +01:00
Jonathan Rainville 390d706b3f
fix: fix permission criteria being empty (#4841)
Fixes https://github.com/status-im/status-desktop/issues/13775
2024-02-29 16:25:34 -05:00
Patryk Osmaczko ff2eaf58e8 chore: unskip flaky tests 2024-02-29 21:58:36 +01:00
Mykhailo Prakhov 77214dcb5d
feat: admins can delete all members messages during the ban (#4834) 2024-02-29 18:54:17 +01:00
Mikhail Rogachev 577db512c6
Feat: add endpoint for getting latest pending CR for a contact (#4819) 2024-02-28 23:00:35 +03:00
Igor Sirotin f0dcc60a17
fix: check nil pointer in saveProfileShowcasePreferencesProto (#4821) 2024-02-28 11:36:13 +00:00
Igor Sirotin 168398d7a5
chore: faster TestCommunityOfflineEdit (#4800)
* chore: faster TestCommunityOfflineEdit
* chore: enable debug logs in TestSyncDeviceSuite
2024-02-27 19:38:40 +00:00
Igor Sirotin 9fa396e797
chore: nix-shell make generate (#4824) 2024-02-27 19:35:43 +00:00
Michal Iskierko df930b1d73 feat: New field in TokenCriteria proto
AmountInWei will have a wei-like units.
Amount field becomes deprecated because it kept string with float value.

Comparison (in case of Decimals == 5):
Amount (deprecated) = "1.2"
AmountInWei = "120000"

Issue #11588
2024-02-27 16:25:26 +01:00
Patryk Osmaczko 34fd0e87e4 chore: skip failing tests 2024-02-27 11:00:29 +01:00
Patryk Osmaczko 1f42f2582a Revert "Comment out all logged flaky tests"
This reverts commit 0bd4a06edc.
2024-02-27 11:00:29 +01:00
Patryk Osmaczko 0a1a66afa7 fix: prevent messenger being started twice
Previously, Messenger was `Start`ed multiple times, which resulted in
the shutdown process not being invoked on previously initialized
Messenger's sub-instances. This led to the failure of MVDS instance
shutdown causing massive error logs due to the attempts to read from a
closed database.
2024-02-27 11:00:29 +01:00