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
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
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.
* 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
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.
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
* Split function for reseting trust status and verification+trust status
* Refactoring: extract setTrustStatusForContact, setContactVerificationStatus functions
* Tests
`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`.
* 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
* 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.
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
* 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
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
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>
* 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
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
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