status-go/protocol
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
..
anonmetrics feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
audio
common chore_: limit max number of ephemeral keys to 3 2024-07-04 15:23:25 +01:00
communities test(wallet)_: add unit tests for balance fetcher 2024-07-04 09:29:49 +02:00
datasync Add basic peersyncing 2024-01-23 12:46:17 +00:00
discord feat(discord): Import single channel from discord (#4160) 2023-10-25 12:32:21 -04:00
encryption feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
ens fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
identity chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
internal/sqlite
migrations feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
peersyncing Extend peersyncing to sync 1-to-1 messages (#4962) 2024-05-14 12:20:13 +02:00
protobuf fix_: send request for shared addresses when restoring a community (#5314) 2024-06-14 13:32:55 -04:00
pushnotificationclient chore_: limit max number of ephemeral keys to 3 2024-07-04 15:23:25 +01:00
pushnotificationserver feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
requests fix(integration-tests)_: add missing HTTPVirtualHosts 2024-07-04 16:14:02 +02:00
sqlite Add basic peersyncing 2024-01-23 12:46:17 +00:00
storenodes enable custom community storenodes (#4532) 2024-02-20 17:49:39 +02:00
subscription
transport feat(waku2)_: check for missing messages (#5281) 2024-06-26 14:25:44 -04:00
tt chore: introduce silent test logger config 2024-02-27 11:00:29 +01:00
urls feat: add parsing for new links format (#3665) 2023-07-04 17:48:52 +04:00
v1 Always set PubsubTopic in filters 2023-11-18 02:26:34 +02:00
verification fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
wakusync chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
zaputil
LICENSE
README.md
activity_center.go chore: fix ban/unban flow and delete all messages feature (#4743) 2024-02-22 11:25:13 +01:00
activity_center_persistence.go chore_: bump go to 1.20 (#5027) 2024-04-18 18:48:02 +02:00
activity_center_persistence_test.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
chat.go bug_: fix resend type for private group messages (#5258) 2024-05-30 14:18:54 +02: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 chore(communities)_: cover ERC721 based permissions reevaluation with tests 2024-06-07 23:46:20 +02:00
communities_events_owner_without_community_key_test.go chore(communities)_: cover ERC721 based permissions reevaluation with tests 2024-06-07 23:46:20 +02:00
communities_events_token_master_test.go chore(communities)_: cover ERC721 based permissions reevaluation with tests 2024-06-07 23:46:20 +02:00
communities_events_utils_test.go fix(communities)_: ensure community sync doesn't override joined state 2024-06-20 15:37:20 +02:00
communities_key_distributor.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
communities_messenger_admin_test.go chore(communities)_: cover ERC721 based permissions reevaluation with tests 2024-06-07 23:46:20 +02:00
communities_messenger_helpers_test.go fix(communities)_: correct >1 NFT token requirement evaluation 2024-06-20 15:23:38 +02:00
communities_messenger_signers_test.go feat_: Move community tokens transaction listening to status-go 2024-05-16 16:18:15 +02:00
communities_messenger_test.go feat(community)_: Move images from community data to MediaServer (#5336) 2024-06-24 17:37:44 +08:00
communities_messenger_token_permissions_test.go fix(communities)_: correct >1 NFT token requirement evaluation 2024-06-20 15:23:38 +02:00
contact.go chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
contact_test.go Compute emojiHash on-the-fly 2023-03-06 13:22:40 +02:00
delete_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
edit_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
emoji_reaction.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
errors.go fix(archives): Skip importing the archives for community when user not a member (#4006) 2023-09-15 10:42:28 +03:00
group_chat_invitation.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
group_chat_system_messages.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
identity_images.go feat: Profile showcase data sharing (#4209) 2023-11-09 22:59:01 +04:00
linkpreview_unfurler.go feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
linkpreview_unfurler_image.go fix(ImageUnfurler): set title for image links (#4215) 2023-10-26 17:52:52 +01:00
linkpreview_unfurler_oembed.go feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
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 feat: new deeplink status-im->status-app (#4198) 2023-11-02 13:56:06 +08:00
message_builder.go
message_persistence.go fix_:sync contact request decision (#5130) 2024-05-15 08:01:47 +08:00
message_validator.go fix: validate display name on account creation (#4994) 2024-03-28 16:57:59 +01:00
message_validator_test.go feat(BridgeMessage): Add new type of chat message content: BridgeMessage 2024-01-30 12:14:54 +01:00
messages_iterator.go feat: introduce `MessagesIterator` 2024-02-09 16:02:17 +01:00
messenger.go test(wallet)_: add unit tests for balance fetcher 2024-07-04 09:29:49 +02:00
messenger_activity_center.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_activity_center_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_auto_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_backup.go fix_: fix deleted communities query (#5232) 2024-05-27 10:09:15 -07:00
messenger_backup_handler.go fix(communities)_: ensure community sync doesn't override joined state 2024-06-20 15:37:20 +02:00
messenger_backup_test.go chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
messenger_base_test.go fix: clear waku envelopes cache when deleting a chat (#4621) 2024-01-30 13:43:34 +00:00
messenger_bookmarks.go Sync all devices after initial pairing (#3047) 2023-01-06 20:21:14 +08:00
messenger_bridge_message_test.go feat(BridgeMessage): Add new type of chat message content: BridgeMessage 2024-01-30 12:14:54 +01:00
messenger_browsers.go
messenger_browsers_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_builder_test.go feat_: batch all telemetry data and send request every 10 seconds (#5251) 2024-06-13 15:31:09 -07: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 add image to chat preview (#4888) 2024-04-09 17:39:14 +02:00
messenger_collapsed_community_categories.go Add collapsed community categories 2023-03-14 17:13:21 +00:00
messenger_collapsed_community_categories_test.go Fix collapsed tests 2023-03-16 13:40:20 +00:00
messenger_communities.go feat_: aggregate filter subscriptions to do bulk subs with peer (#5440) 2024-07-04 10:34:53 +05:30
messenger_communities_import_discord.go chore(no-torrent)_: Renamed Torrent to Archive 2024-06-07 13:44:12 +01:00
messenger_communities_sharding_test.go feat_: aggregate filter subscriptions to do bulk subs with peer (#5440) 2024-07-04 10:34:53 +05:30
messenger_community_for_mobile_testing.go feat: New field in TokenCriteria proto 2024-02-27 16:25:26 +01:00
messenger_community_for_mobile_testing_test.go fix: sometimes channels do not randomly appear in test community after its creation (#4669) 2024-02-23 10:16:51 +08:00
messenger_community_metrics.go chore: remove boilerplate check of `communities.GetByID` clients 2024-01-10 18:58:17 +01:00
messenger_community_metrics_test.go refactor: update community access enum naming 2023-10-25 17:34:37 +02:00
messenger_community_shard.go fix: archive decryption fail (#5076) 2024-05-27 13:49:09 +01:00
messenger_community_storenodes.go enable custom community storenodes (#4532) 2024-02-20 17:49:39 +02:00
messenger_config.go feat_: call telemetry upon error pushing envelope (#5430) 2024-06-28 13:24:04 +03:00
messenger_config_test.go feat_: force members reevaluation (#5139) 2024-05-09 22:59:51 +03:00
messenger_contact_requests_test.go feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
messenger_contact_update_test.go feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
messenger_contact_verification.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_contact_verification_test.go fix_: Add contact to removeTrustStatus response (#5058) 2024-04-18 19:28:44 +04:00
messenger_contacts.go fix_:sync contact request decision (#5130) 2024-05-15 08:01:47 +08: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: disable curated communities loop in tests (#4894) 2024-03-09 09:42:06 +00:00
messenger_delete_message_for_everyone_test.go feat(messages)_: enable deleting bridge messages as admin (#5330) 2024-06-14 10:51:56 -04:00
messenger_delete_message_for_me_test.go Revert "Comment out all logged flaky tests" 2024-02-27 11:00:29 +01:00
messenger_delete_messages_test.go feat: get and delete community member messages API (#4932) 2024-03-19 20:44:49 +01:00
messenger_discv5.go
messenger_edit_message_test.go fix: handle bridge message edits 2024-04-07 23:24:46 +02: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_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 chore(no-torrent)_: Renamed Torrent to Archive 2024-06-07 13:44:12 +01:00
messenger_handler_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_handlers.go feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
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_: saving profile image changes ens display name to non-ens (#5156) 2024-05-15 12:37:04 -07:00
messenger_identity_image_test.go Fix contact details large image is always empty (#4864) 2024-03-06 09:25:19 -08:00
messenger_installations_test.go perf(login)!: Set-up messenger filters outside login flow (#5229) 2024-06-10 12:02:42 -03:00
messenger_keycard.go chore: synchronization improvements applied to keycards 2023-07-11 15:14:49 +02:00
messenger_linkpreview.go feat: new `GetTextURLsToUnfurl` endpoint which extends GetURLs (#4294) 2023-11-17 13:32:37 +00:00
messenger_linkpreview_test.go Add favicons to external link previews (#4788) 2024-03-12 22:47:51 +02:00
messenger_mailserver.go Reset MVDS epoch after peer is online (#5349) 2024-06-27 09:54:31 +08:00
messenger_mailserver_cycle.go feat_: hash based query for outgoing messages. (#5217) 2024-06-11 15:45:01 +08:00
messenger_mailserver_processMailserverBatch_test.go chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00:00
messenger_maps.go fix: don't store ourselves as a contact (#3627) 2023-07-12 12:46:56 +03:00
messenger_mention.go [mention] fix relate issues to input segments (#3766) 2023-07-25 16:47:24 +08:00
messenger_mention_test.go [mention] fix relate issues to input segments (#3766) 2023-07-25 16:47:24 +08:00
messenger_messages.go feat(messages)_: enable deleting bridge messages as admin (#5330) 2024-06-14 10:51:56 -04:00
messenger_messages_order_controller_test.go feat: introduce `MessagesOrderController` 2024-02-09 16:02:17 +01:00
messenger_messages_tracking_test.go feat_: hash based query for outgoing messages. (#5217) 2024-06-11 15:45:01 +08:00
messenger_mute_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_offline_test.go chore: faster TestCommunityOfflineEdit (#4800) 2024-02-27 19:38:40 +00:00
messenger_peers.go feat_: wakuext_enr (#5367) 2024-06-18 15:48:49 -04:00
messenger_peersyncing.go feat_: hash based query for outgoing messages. (#5217) 2024-06-11 15:45:01 +08:00
messenger_peersyncing_test.go Extend peersyncing to sync 1-to-1 messages (#4962) 2024-05-14 12:20:13 +02: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 chore(communities)_: cover ERC721 based permissions reevaluation with tests 2024-06-07 23:46:20 +02:00
messenger_raw_message_resend.go feat_: hash based query for outgoing messages. (#5217) 2024-06-11 15:45:01 +08:00
messenger_remove_message_test.go feat: get and delete community member messages API (#4932) 2024-03-19 20:44:49 +01:00
messenger_reply_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_response.go chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
messenger_response_test.go Fix duplicated notifications on receiving contact update 2023-02-14 09:22:37 +00:00
messenger_saved_address.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_send_images_album_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_settings.go fix(config)_: add API calls to set new waku node and max backups 2024-06-04 22:52:18 +07: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 boilerplate check of `communities.GetByID` clients 2024-01-10 18:58:17 +01:00
messenger_share_urls_test.go Fix/community tags indices (#4992) 2024-03-26 20:02:12 +00:00
messenger_status_updates.go Reset MVDS epoch after peer is online (#5349) 2024-06-27 09:54:31 +08:00
messenger_status_updates_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_store_node_request_manager.go fix(unfurl)_: The application crashes when generating status user profile link preview 2024-07-01 21:57:18 +07:00
messenger_store_node_request_manager_config.go fix: remove store node envelopes ordering hotfix (#4622) 2024-01-27 13:02:12 +00:00
messenger_storenode_comunity_test.go chore: skip flaky TestSetStorenodeForCommunity_fetchMessagesFromNewStorenode 2024-03-11 22:02:07 +01:00
messenger_storenode_request_test.go fix(unfurl)_: The application crashes when generating status user profile link preview 2024-07-01 21:57:18 +07:00
messenger_switcher_cards.go Persist switcher cards (#3049) 2023-01-05 21:41:57 +05:30
messenger_sync_activity_center_test.go New way of sharing communities (#4341) 2023-12-15 13:55:32 +02:00
messenger_sync_bookmark_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_sync_chat_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_sync_clear_history_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_sync_contact_request_decision_test.go Fix/duplicate accept cr messages (#4367) 2023-12-05 12:22:20 +08:00
messenger_sync_customization_color_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_sync_keycard_change_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_sync_keycards_state_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_sync_profile_picture_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_sync_raw_messages.go fix(communities)_: ensure community sync doesn't override joined state 2024-06-20 15:37:20 +02:00
messenger_sync_saved_addresses_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
messenger_sync_settings.go fix (@status-go/stickers) Stickers still show in the recent list after being uninstalled (#4474) 2023-12-21 10:05:30 -08:00
messenger_sync_settings_test.go fix: clear waku envelopes cache when deleting a chat (#4621) 2024-01-30 13:43:34 +00:00
messenger_sync_verification_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_sync_wallets_test.go Revert "Comment out all logged flaky tests" 2024-02-27 11:00:29 +01:00
messenger_test.go perf(login)!: Set-up messenger filters outside login flow (#5229) 2024-06-10 12:02:42 -03:00
messenger_testing_utils.go fix: archive decryption fail (#5076) 2024-05-27 13:49:09 +01:00
messenger_unread_test.go feat: Return seen/unseen messages count in MessnegerResponse (#4461) 2023-12-25 13:25:22 +07: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 feat: introduce `testWakuWrapper` and `testPublicWakuAPIWrapper` 2024-02-09 16:02:17 +01:00
messenger_wallet.go feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
messenger_walletconnect.go
messenger_walletconnect_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
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(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
persistence_collapsed_community_categories.go Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08:00
persistence_metrics.go feat: Collecting community messages count metrics (#3802) 2023-08-01 17:08:57 +04:00
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 fix_: add method to retrieve prepared message (#5102) 2024-05-01 09:54:47 +04:00
persistence_test.go chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
push_notification_test.go fix: prevent messenger being started twice 2024-02-27 11:00:29 +01:00
status_update.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
switcher_card.go Persist switcher cards (#3049) 2023-01-05 21:41:57 +05:30
transaction_validator.go
transaction_validator_test.go
waku_builder_test.go feat(waku2)_: allow using an env variable to set the node's key (#5152) 2024-05-15 19:15:22 -04:00

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.