status-go/protocol
Siddarth Kumar 151185c436
chore: log message contents before being sent (#4494)
When debugging message reliability we often get the number of messages sent and their IDs but we do not know the content of the messages and the type of message sent.

This commit adds debug level logs so that it helps in investigations.

ref : https://github.com/status-im/status-mobile/issues/18031

Closes [#18206](https://github.com/status-im/status-mobile/issues/18206)
2023-12-23 09:42:45 +05:30
..
anonmetrics feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
audio Add audio messages 2020-07-27 17:14:50 +02:00
common feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
communities feat: encrypt `CommunityDescription` fields 2023-12-22 18:17:06 +01:00
datasync Surface acks, offers, requests to messenger 2023-12-18 10:33:05 +00:00
discord feat(discord): Import single channel from discord (#4160) 2023-10-25 12:32:21 -04:00
encryption feat: encrypt `CommunityDescription` fields 2023-12-22 18:17:06 +01:00
ens fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
identity feat: enable passing ring width from mobile (#3903) 2023-09-01 16:17:46 +08:00
internal/sqlite Sync Settings (#2478) 2022-03-23 18:47:00 +00:00
migrations feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
protobuf feat: encrypt `CommunityDescription` fields 2023-12-22 18:17:06 +01:00
pushnotificationclient feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
pushnotificationserver feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
requests fix: add option to preserve history on chat delete (#4324) 2023-12-11 13:29:56 +01:00
sqlite fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
subscription Move to monorepo structure (#1684) 2019-11-21 17:19:22 +01:00
transport feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
tt chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00: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 Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
zaputil Move to monorepo structure (#1684) 2019-11-21 17:19:22 +01:00
LICENSE Move to monorepo structure (#1684) 2019-11-21 17:19:22 +01:00
README.md Added basic history of the protocol package (#1984) 2020-06-04 11:23:09 +01:00
activity_center.go feat: show activity center notification if user must reveal addressed to join/rejoin the community (#4373) 2023-11-27 10:54:46 +01:00
activity_center_persistence.go fix: 'Join Community' notification is not getting dismissed (#4267) 2023-12-04 14:48:28 +03:00
activity_center_persistence_test.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
chat.go feat: new deeplink status-im->status-app (#4198) 2023-11-02 13:56:06 +08:00
chat_group_proxy.go Clean up protocol package (#1890) 2020-03-09 07:19:23 +01:00
chat_test.go feat: new deeplink status-im->status-app (#4198) 2023-11-02 13:56:06 +08:00
communities_events_owner_without_community_key_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
communities_events_token_master_test.go fix: privileged member accepted/rejected request to join action is not approved by the control node after the member leaved and tries to join the community again (#4487) 2023-12-19 14:45:34 +01:00
communities_events_utils_test.go chore: share shard info independently on waku version (#4507) 2023-12-22 17:43:38 +01:00
communities_key_distributor.go feat: encrypt `CommunityDescription` fields 2023-12-22 18:17:06 +01:00
communities_messenger_admin_test.go fix: privileged member accepted/rejected request to join action is not approved by the control node after the member leaved and tries to join the community again (#4487) 2023-12-19 14:45:34 +01:00
communities_messenger_helpers_test.go New way of sharing communities (#4341) 2023-12-15 13:55:32 +02:00
communities_messenger_signers_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
communities_messenger_test.go fix: do not ignore banned list if EventsData is nil (#4473) 2023-12-19 12:00:29 +01:00
communities_messenger_token_permissions_test.go feat: encrypt `CommunityDescription` fields 2023-12-22 18:17:06 +01:00
contact.go fix: shared links and link previews contain full self information (#4169) 2023-10-24 11:15:32 +01: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 feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
linkpreview_unfurler_status.go chore: fetch contact with `StoreNodeRequestManager` (#4484) 2023-12-20 12:49:12 +00:00
local_notifications.go feat: new deeplink status-im->status-app (#4198) 2023-11-02 13:56:06 +08:00
message_builder.go add PinMessage and PinnedMessage (#2180) 2021-05-14 23:22:50 +02:00
message_persistence.go feature(@desktop/chat) Enhance message context menu with mark as unread (#4382) 2023-12-11 02:17:01 -06:00
message_validator.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
message_validator_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger.go chore: log message contents before being sent (#4494) 2023-12-23 09:42:45 +05:30
messenger_activity_center.go fix: 'Join Community' notification is not getting dismissed (#4267) 2023-12-04 14:48:28 +03:00
messenger_activity_center_test.go feat: use media server for community collectible images 2023-12-16 08:49:58 -03:00
messenger_auto_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_backup.go refactor: extract layers in StatusMessage 2023-11-08 21:46:22 +01:00
messenger_backup_handler.go feat(backup): add 1-1 chats and group chats to backup (#4073) 2023-10-12 17:15:05 -04:00
messenger_backup_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_base_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_bookmarks.go Sync all devices after initial pairing (#3047) 2023-01-06 20:21:14 +08:00
messenger_browsers.go Issue 13813 -- Use messenger ns for browser CRUD (#2801) 2022-08-24 16:05:35 +02:00
messenger_browsers_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_chats.go fix: add option to preserve history on chat delete (#4324) 2023-12-11 13:29:56 +01: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: encrypt `CommunityDescription` fields 2023-12-22 18:17:06 +01:00
messenger_communities_import_discord.go Always set PubsubTopic in filters 2023-11-18 02:26:34 +02:00
messenger_community_for_mobile_testing.go refactor: update community access enum naming 2023-10-25 17:34:37 +02:00
messenger_community_metrics.go feat: Collecting community messages count metrics (#3802) 2023-08-01 17:08:57 +04:00
messenger_community_metrics_test.go refactor: update community access enum naming 2023-10-25 17:34:37 +02:00
messenger_community_shard.go chore: share shard info independently on waku version (#4507) 2023-12-22 17:43:38 +01:00
messenger_config.go Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
messenger_contact_requests_test.go Fix: Don't create extra mutual state messages when accepting the CR again (#4488) 2023-12-22 00:38:14 +07:00
messenger_contact_update_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_contact_verification.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
messenger_contact_verification_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_contacts.go chore: fetch contact with `StoreNodeRequestManager` (#4484) 2023-12-20 12:49:12 +00:00
messenger_contacts_test.go fix: self-contact related flaky tests (#4312) 2023-11-13 20:07:35 +00:00
messenger_curated_communities.go chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00:00
messenger_delete_message_for_everyone_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_delete_message_for_me_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_delete_message_test.go feat: use media server for community collectible images 2023-12-16 08:49:58 -03:00
messenger_discv5.go feat: Add DiscV5 to Waku2 (#2434) 2021-11-22 09:40:14 -04:00
messenger_edit_message_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_emoji_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_ens.go Request/Decline access to communities 2021-02-26 15:35:43 +01:00
messenger_group_chat.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
messenger_group_chat_test.go fix: publish group member info (#4184) 2023-10-25 21:11:04 +03:00
messenger_handler.go Fix: Don't create extra mutual state messages when accepting the CR again (#4488) 2023-12-22 00:38:14 +07:00
messenger_handler_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_handlers.go feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
messenger_identity.go fix: self-contact related flaky tests (#4312) 2023-11-13 20:07:35 +00:00
messenger_identity_display_name_test.go fix: converting profile to/from keycard/regular keypair handling 2023-09-07 13:02:25 +02:00
messenger_identity_image_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_identity_social_links_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_installations_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01: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 feat: new `GetTextURLsToUnfurl` endpoint which extends GetURLs (#4294) 2023-11-17 13:32:37 +00:00
messenger_mailserver.go chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00:00
messenger_mailserver_cycle.go fix_: don't start mailserver cycle when no mailservers set (#4457) 2023-12-19 11:58:44 +00: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 fix: edit message even if converting link previews to proto 2023-11-08 18:44:52 +00:00
messenger_messages_tracking_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_mute_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_offline_test.go Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
messenger_peers.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_pin_message_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_pin_messages.go Add TestPinMessageInCommunityChat, adjust pin permissions 2023-10-26 13:22:32 +03:00
messenger_profile_showcase.go hotfix: Update profile showcase proto (#4506) 2023-12-22 22:43:27 +07:00
messenger_profile_showcase_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_reply_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_response.go fix: send chats along with response after joining (#4416) 2023-12-07 21:32:37 +05:30
messenger_response_test.go Fix duplicated notifications on receiving contact update 2023-02-14 09:22:37 +00:00
messenger_saved_address.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_send_images_album_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_settings.go feat_: Allow to set custom nodes & log level 2023-11-29 09:31:02 +00:00
messenger_share_image_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_share_urls.go Fix: Empty community tags in always empty slice, not nil (#4420) 2023-12-08 15:13:36 +07:00
messenger_share_urls_test.go Fix: Empty community tags in always empty slice, not nil (#4420) 2023-12-08 15:13:36 +07:00
messenger_status_updates.go feat: use protected topics for communities 2023-08-23 13:56:00 -04: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 feat: implemented a mechanism to retrieve shard information for a given community ID (#4499) 2023-12-22 13:37:37 +01:00
messenger_storenode_request_test.go chore: test filters are in the right place after store node requests (#4500) 2023-12-22 19:23:39 +00: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: close messenger's databases in tests 2023-11-28 20:59:25 +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: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_sync_keycards_state_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +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 feat: token order API (#4391) 2023-12-04 11:18:05 +01:00
messenger_sync_saved_addresses_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +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: close messenger's databases in tests 2023-11-28 20:59:25 +01: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 fix: function name change 2023-07-26 08:23:55 +02:00
messenger_test.go feat: use media server for community collectible images 2023-12-16 08:49:58 -03:00
messenger_testing_utils.go chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00:00
messenger_unread_test.go New way of sharing communities (#4341) 2023-12-15 13:55:32 +02:00
messenger_wallet.go feat: token order API (#4391) 2023-12-04 11:18:05 +01:00
messenger_walletconnect.go Implement wallet connect session CRUD API 2022-08-19 12:32:00 +01:00
messenger_walletconnect_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
persistence.go Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +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: Profile showcase data sharing (#4209) 2023-11-09 22:59:01 +04:00
persistence_profile_showcase_test.go feat: Profile showcase data sharing (#4209) 2023-11-09 22:59:01 +04:00
persistence_test.go Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
push_notification_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +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 Move message to common namespace 2020-09-09 21:22:12 +02:00
transaction_validator_test.go Move message to common namespace 2020-09-09 21:22:12 +02: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.