status-go/protocol
Jonathan Rainville d291204473
chore(block)!: remove desktop BlockContact function for parity (#6172)
Needed for https://github.com/status-im/status-desktop/issues/16640

In Desktop, we still used a "forked" version of the BlockContact function that had as differences that it didn't leave the chat nor delete the messages.

However, we want to have parity now and those features, so it makes no sense to use a different function.

This is a breaking change because it removes an API, but I took care of removing the use of that function in the Desktop app and Mobile never used it, so it's an inoffensive breaking change.

Additionally, I added the notifications to the messenger response.
2024-12-17 12:15:56 -05:00
..
anonmetrics refactor_: remove generated files from source control (#5878) 2024-10-03 20:59:44 +01:00
audio
common feat_: Send payment request data (#6137) 2024-12-03 09:33:40 +01:00
communities feat(community)_: add version to image url to let clients update (#6118) 2024-12-03 14:33:49 -05:00
datasync chore_: increase the mvds resend interval to save bandwidth. 2024-11-28 08:52:05 +01:00
discord chore_: replace geth logger with zap logger (#5962) 2024-10-28 20:54:17 +00:00
encryption feat_: `LogOnPanic` linter (#5969) 2024-10-23 21:33:05 +01:00
ens fix_: remove logging of rpc endpoint (#6195) 2024-12-14 23:00:25 +00:00
identity fix(alias)_: fixed runtime error: slice bounds out of range [2:0] caused crash 2024-12-06 13:35:18 +01:00
migrations/sqlite fix(pins)_: delete pins when the og message is deleted (#6173) 2024-12-12 13:18:40 -05:00
peersyncing Extend peersyncing to sync 1-to-1 messages (#4962) 2024-05-14 12:20:13 +02:00
protobuf feat_: Send payment request data (#6137) 2024-12-03 09:33:40 +01:00
pushnotificationclient refactor_: remove generated files from source control (#5878) 2024-10-03 20:59:44 +01:00
pushnotificationserver fix_: update defaultGorushURL (#6011) 2024-10-29 16:52:34 +00:00
requests feat(logging)_: enable log namespaces configuration (#6161) 2024-12-05 14:19:24 +00:00
sqlite chore_: move/rename files messing generation (#5897) 2024-09-30 19:19:36 +01:00
storenodes feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
subscription
transport feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
tt fix_: enable tests to run with `-count` more than 1 (#5757) 2024-08-23 19:30:58 +00:00
v1 chore_: replace geth logger with zap logger (#5962) 2024-10-28 20:54:17 +00:00
verification
wakusync chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
zaputil fix_: enable tests to run with `-count` more than 1 (#5757) 2024-08-23 19:30:58 +00:00
LICENSE
README.md
activity_center.go feat(sync)!: leftovers work for sync fallback (#5794) 2024-09-19 16:17:46 +08:00
activity_center_persistence.go fix(cr)_: fix dismissing and then sending a CR (#6140) 2024-12-03 15:03:55 -05:00
activity_center_persistence_test.go fix!: ensure deleting message does not accidentally delete unrelated notifications (#5789) 2024-09-03 10:12:44 +01:00
chat.go fix!: move `MuteFor24Hr` to the end of the enum (#5813) 2024-09-10 11:25:40 +01:00
chat_group_proxy.go
chat_test.go bug_: fix resend type for private group messages (#5258) 2024-05-30 14:18:54 +02:00
communities_events_eventual_consistency_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_events_owner_without_community_key_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_events_token_master_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_events_utils_test.go feat_: request to join community message use mvds (#5723) 2024-08-28 22:11:34 +08:00
communities_key_distributor.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
communities_messenger_admin_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_messenger_helpers_test.go chore(wallet)_: transactions/types.go moved to services/wallet/wallettypes 2024-11-22 13:32:49 +01:00
communities_messenger_shared_member_address_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_messenger_signers_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_messenger_test.go fix(communities)_: prevent unsigned `CommunityDescription` persistence 2024-10-11 18:59:58 +02:00
communities_messenger_test_suite_base_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
communities_messenger_token_permissions_test.go refactor_: use concrete datatypes instead of `string` (#5701) 2024-08-16 19:24:21 +01:00
contact.go chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
contact_test.go
delete_message.go
edit_message.go
emoji_reaction.go
errors.go
group_chat_invitation.go
group_chat_system_messages.go
identity_images.go
linkpreview_unfurler.go
linkpreview_unfurler_image.go
linkpreview_unfurler_oembed.go
linkpreview_unfurler_opengraph.go Add favicons to external link previews (#4788) 2024-03-12 22:47:51 +02:00
linkpreview_unfurler_status.go fix(unfurl)_: The application crashes when generating status user profile link preview 2024-07-01 21:57:18 +07:00
local_notifications.go
message_builder.go
message_persistence.go fix(pins)_: delete pins when the og message is deleted (#6173) 2024-12-12 13:18:40 -05:00
message_validator.go fix: validate display name on account creation (#4994) 2024-03-28 16:57:59 +01:00
message_validator_test.go
messages_iterator.go
messenger.go perf!: Optimize Filter Initialization with Concurrent Processing (#6106) 2024-11-28 10:55:02 +00:00
messenger_activity_center.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_activity_center_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_auto_message.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_backup.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_backup_handler.go chore(communities)_: request missing channels' encryption keys in a loop 2024-07-16 16:44:50 +02:00
messenger_backup_test.go fix_: Flaky TestBackupKeypairs test (#5811) 2024-09-09 20:30:05 +05:30
messenger_base_test.go chore_: refactor `TestMessengerCollapsedComunityCategoriesSuite` (#5790) 2024-09-03 12:39:49 +01:00
messenger_bookmarks.go
messenger_bridge_message_test.go fix(search)_: search now works with Discord import and bridged messages (#5489) 2024-07-05 13:33:14 -04:00
messenger_browsers.go
messenger_browsers_test.go
messenger_builder_test.go chore_: refactor `TestMessengerCollapsedComunityCategoriesSuite` (#5790) 2024-09-03 12:39:49 +01:00
messenger_chat_context_test.go Fix contact details large image is always empty (#4864) 2024-03-06 09:25:19 -08:00
messenger_chats.go perf!: Optimize Filter Initialization with Concurrent Processing (#6106) 2024-11-28 10:55:02 +00:00
messenger_collapsed_community_categories.go
messenger_collapsed_community_categories_test.go chore_: refactor `TestMessengerCollapsedComunityCategoriesSuite` (#5790) 2024-09-03 12:39:49 +01:00
messenger_communities.go feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
messenger_communities_import_discord.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_communities_sharding_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_community_for_mobile_testing.go chore_: completely remove goerli from the code 2024-10-21 17:30:51 +02:00
messenger_community_for_mobile_testing_test.go
messenger_community_metrics.go
messenger_community_metrics_test.go
messenger_community_shard.go feat_: rate limit message publishing (#5523) 2024-08-01 14:36:25 -04:00
messenger_community_storenodes.go feat_: rate limit message publishing (#5523) 2024-08-01 14:36:25 -04:00
messenger_config.go fix_: send accounts event on handling backed up accounts (#5739) 2024-08-31 00:58:03 +05:30
messenger_config_test.go refactor: remove wakuv1 code from mailserver cycle and add ENR to list of storenodes (#5753) 2024-09-05 10:25:26 -04:00
messenger_contact_requests_test.go fix(cr)_: fix dismissing and then sending a CR (#6140) 2024-12-03 15:03:55 -05:00
messenger_contact_update_test.go feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
messenger_contact_verification.go fix(contacts)_: fix trust status not being saved to cache when changed (#5965) 2024-10-25 22:28:58 +01:00
messenger_contact_verification_test.go fix(contacts)_: fix trust status not being saved to cache when changed (#5965) 2024-10-25 22:28:58 +01:00
messenger_contacts.go chore(block)!: remove desktop BlockContact function for parity (#6172) 2024-12-17 12:15:56 -05:00
messenger_contacts_test.go chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
messenger_curated_communities.go chore_: completely remove goerli from the code 2024-10-21 17:30:51 +02:00
messenger_delete_message_for_everyone_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_delete_message_for_me_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_delete_messages_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_discv5.go
messenger_edit_message_test.go fix(edit)_: make sure the contentType stays the same after an edit (#6133) 2024-12-03 10:04:21 -05:00
messenger_emoji_reactions.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_emoji_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_ens.go
messenger_filter_init.go perf!: Optimize Filter Initialization with Concurrent Processing (#6106) 2024-11-28 10:55:02 +00:00
messenger_group_chat.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_group_chat_test.go feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
messenger_handler.go fix(cr)_: fix dismissing and then sending a CR (#6140) 2024-12-03 15:03:55 -05:00
messenger_handler_test.go
messenger_identity.go perf(login)!: Set-up messenger filters outside login flow (#5229) 2024-06-10 12:02:42 -03:00
messenger_identity_display_name_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_identity_image_test.go chore_: refactor `TestMessengerCollapsedComunityCategoriesSuite` (#5790) 2024-09-03 12:39:49 +01:00
messenger_installations_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_keycard.go
messenger_linkpreview.go
messenger_linkpreview_test.go Add favicons to external link previews (#4788) 2024-03-12 22:47:51 +02:00
messenger_mailserver.go fix_: nil *MessengerResponse is a valid result (#6175) 2024-12-06 09:16:54 -05:00
messenger_mailserver_cycle.go fix_: ensure storenode requests do not exceed 24h (#6115) 2024-11-28 15:14:29 -05:00
messenger_maps.go
messenger_mention.go fix(mentions)_: add callID for `OnChangeText` (#3806) 2024-09-19 13:03:56 +08:00
messenger_mention_test.go fix(mentions)_: add callID for `OnChangeText` (#3806) 2024-09-19 13:03:56 +08:00
messenger_messages.go fix(edit)_: make sure the contentType stays the same after an edit (#6133) 2024-12-03 10:04:21 -05:00
messenger_messages_order_controller_test.go
messenger_messages_tracking_test.go refactor: only use shards (#5474) 2024-07-15 20:55:12 +05:30
messenger_mute_test.go
messenger_offline_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_pairing_and_syncing.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_pairing_and_syncing_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_peers.go refactor_: use concrete datatypes instead of `string` (#5701) 2024-08-16 19:24:21 +01:00
messenger_peersyncing.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_peersyncing_test.go chore(test_stats)_: better stats, print skipped tests (#5781) 2024-08-29 21:09:26 +01:00
messenger_pin_message_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_pin_messages.go bug_: fix resend type for private group messages (#5258) 2024-05-30 14:18:54 +02:00
messenger_profile_showcase.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_profile_showcase_proto_conversions.go Feat: Simplify profile showcase preferences (#4854) 2024-03-08 17:20:23 +01:00
messenger_profile_showcase_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_raw_message_resend.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_raw_message_resend_test.go feat_: request to join community message use mvds (#5723) 2024-08-28 22:11:34 +08:00
messenger_remove_message_test.go chore(community)_: serialise community jsons with image URLs 2024-07-11 18:55:24 +07:00
messenger_reply_test.go
messenger_response.go feat: fallback pairing seed (#5614) 2024-07-30 17:14:05 +08:00
messenger_response_test.go
messenger_saved_address.go feat_: accounts/saved addresses capacity related api endpoints added 2024-08-06 08:19:33 +02:00
messenger_send_images_album_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_settings.go feat(logging)_: enable log namespaces configuration (#6161) 2024-12-05 14:19:24 +00:00
messenger_settings_test.go feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
messenger_share_image_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_share_urls.go chore: remove urls package (#5810) 2024-09-09 14:45:21 +01:00
messenger_share_urls_test.go chore: remove urls package (#5810) 2024-09-09 14:45:21 +01:00
messenger_status_updates.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_status_updates_test.go
messenger_store_node_request_manager.go fix_: return 0 fee if oracle fails on GetL1Fee (#6138) 2024-11-29 00:28:25 +04:00
messenger_store_node_request_manager_config.go feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
messenger_storenode_comunity_test.go feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
messenger_storenode_request_test.go feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
messenger_sync_activity_center_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
messenger_sync_bookmark_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_chat_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_clear_history_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_contact_request_decision_test.go
messenger_sync_customization_color_test.go
messenger_sync_keycard_change_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_keycards_state_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_profile_picture_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_raw_messages.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_saved_addresses_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_settings.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
messenger_sync_settings_test.go
messenger_sync_verification_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_sync_wallets_test.go fix(sync)_: sync fallback notification (#5888) 2024-10-07 22:05:37 +08:00
messenger_test.go fix_: chats and message history loading after login takes too much time (#5932) 2024-10-18 10:25:34 +08:00
messenger_testing_utils.go feat!: extract storenode cycle to go-waku api 2024-11-25 17:32:16 +01:00
messenger_unread_test.go fix(CommunityMember)_: update LastUpdateClock 2024-07-09 18:19:40 +02:00
messenger_validate_requests_test.go fix(config)_: add API calls to set new waku node and max backups 2024-06-04 22:52:18 +07:00
messenger_waku_wrapper_test.go
messenger_wallet.go fix!: add forceRefresh parameter to FetchOrGetCachedWalletBalances endpoint (#6160) 2024-12-06 09:48:12 -03:00
messenger_wallet_test.go feat_: accounts/saved addresses capacity related api endpoints added 2024-08-06 08:19:33 +02:00
messenger_walletconnect.go
messenger_walletconnect_test.go
node_config_persistence_test.go fix(config)_: add API calls to set new waku node and max backups 2024-06-04 22:52:18 +07:00
persistence.go chore_: Remove switcher cards (#6107) 2024-11-19 13:41:52 +05:30
persistence_collapsed_community_categories.go
persistence_metrics.go
persistence_profile_showcase.go feat: Add an expiration and periodical publishing for community grants (#5024) 2024-04-17 16:53:51 +02:00
persistence_profile_showcase_test.go Feat: Simplify profile showcase preferences (#4854) 2024-03-08 17:20:23 +01:00
persistence_quoted_message_test.go chore(community)_: serialise community jsons with image URLs 2024-07-11 18:55:24 +07:00
persistence_test.go fix(pins)_: delete pins when the og message is deleted (#6173) 2024-12-12 13:18:40 -05:00
push_notification_test.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
status_update.go
transaction_validator.go
transaction_validator_test.go
waku_builder_test.go refactor: only use shards (#5474) 2024-07-15 20:55:12 +05:30

README.md

status-go/protocol

This is an implementation of the secure transport and payloads which are a part of the Status Client specification.

This implementation uses SQLite and SQLCipher for persistent storage.

The payloads are encoded using protocol-buffers.

Content

  • messenger.go is the main file which exports Messenger struct. This is a public API to interact with this implementation of the Status Chat Protocol.
  • protobuf/ contains protobuf files implementing payloads described in the Payloads spec.
  • encryption/ implements the Secure Transport spec.
  • transport/ connects the Status Chat Protocol with a wire-protocol which in our case is either Whisper or Waku.
  • datasync/ is an adapter for MVDS.
  • applicationmetadata/ is an outer layer wrapping a payload with an app-specific metadata like a signature.
  • identity/ implements details related to creating a three-word name and identicon.
  • migrations/ contains implementation specific migrations for the sqlite database which is used by Messenger as a persistent data store.

History

Originally this package was a dedicated repo called status-protocol-go and was migrated into status-go. The new status-go/protocol package maintained its own dependencies until sub modules were removed and the root go.mod file managed all dependencies for the entire status-go repo.