status-go/protocol
Siddarth Kumar e0bbb7e2ec
fix: send chats along with response after joining (#4416)
When an open community was created by Device A and shared with Device B and when Device B would request to join such a community, the general channel would be forever in loading state.

This happened because as part of messenger response the chatId of general channel was not sent and mobile client would not fetch that chat data.

This commit fixes that issue by sending chatId as part of messenger response right after the request to join community succeeds.
2023-12-07 21:32:37 +05:30
..
anonmetrics fix: link previews public keys (#4272) 2023-11-09 16:24:35 +00:00
audio
common test: request community from storenode (#4364) 2023-11-25 23:24:20 +00:00
communities chore: API for getting all non-approved requests to join for all communities (#4422) 2023-12-05 15:50:45 +01:00
datasync chore: remove message chunking from datasync 2023-11-18 15:37:54 +01:00
discord feat(discord): Import single channel from discord (#4160) 2023-10-25 12:32:21 -04:00
encryption fix: link previews public keys (#4272) 2023-11-09 16:24:35 +00: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 Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
protobuf feat: token order API (#4391) 2023-12-04 11:18:05 +01:00
pushnotificationclient fix: link previews public keys (#4272) 2023-11-09 16:24:35 +00:00
pushnotificationserver fix: link previews public keys (#4272) 2023-11-09 16:24:35 +00:00
requests feat: wallet - emoji and color (#4322) 2023-12-06 14:47:38 +04:00
sqlite fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
subscription
transport test: request community from storenode (#4364) 2023-11-25 23:24:20 +00:00
tt Tests and linting 2021-09-30 13:02:41 +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 Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
zaputil
LICENSE
README.md
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
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: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
communities_events_utils_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
communities_key_distributor.go refactor: extract layers in StatusMessage 2023-11-08 21:46:22 +01:00
communities_messenger_admin_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
communities_messenger_helpers_test.go Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +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: send chats along with response after joining (#4416) 2023-12-07 21:32:37 +05:30
communities_messenger_token_permissions_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +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 Always set PubsubTopic in filters 2023-11-18 02:26:34 +02: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 fix(message_persistence): set from in quoted message even when deleted (#4354) 2023-11-23 13:07:42 -05: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 fix: send chats along with response after joining (#4416) 2023-12-07 21:32:37 +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 fix: 'Join Community' notification is not getting dismissed (#4267) 2023-12-04 14:48:28 +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 feat_: Allow to set custom nodes & log level 2023-11-29 09:31:02 +00: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 chore: API for getting all non-approved requests to join for all communities (#4422) 2023-12-05 15:50:45 +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_config.go Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
messenger_contact_requests_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01: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 Fix/duplicate accept cr messages (#4367) 2023-12-05 12:22:20 +08:00
messenger_contacts_test.go fix: self-contact related flaky tests (#4312) 2023-11-13 20:07:35 +00:00
messenger_curated_communities.go feat: cache curated communities in db 2023-11-16 17:21:28 +01: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 fix: close messenger's databases in tests 2023-11-28 20:59:25 +01: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: send chats along with response after joining (#4416) 2023-12-07 21:32:37 +05:30
messenger_handler_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01:00
messenger_handlers.go feat: token order API (#4391) 2023-12-04 11:18:05 +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 feat_: Allow to set custom nodes & log level 2023-11-29 09:31:02 +00:00
messenger_mailserver_cycle.go refactor: it's not necessary for storenodes to be connected peers 2023-12-05 14:20:17 -04:00
messenger_mailserver_processMailserverBatch_test.go feat: use protected topics for communities 2023-08-23 13:56:00 -04: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 feat: Profile showcase data sharing (#4209) 2023-11-09 22:59:01 +04: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 Always set PubsubTopic in filters 2023-11-18 02:26:34 +02:00
messenger_share_urls_test.go fix: correct parsing shared url without data (#4283) 2023-11-10 16:33:37 +00: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_storenode_request_test.go refactor: it's not necessary for storenodes to be connected peers 2023-12-05 14:20:17 -04:00
messenger_switcher_cards.go Persist switcher cards (#3049) 2023-01-05 21:41:57 +05:30
messenger_sync_activity_center_test.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01: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: self-contact related flaky tests (#4312) 2023-11-13 20:07:35 +00: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 Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
messenger_testing_utils.go fix: close messenger's databases in tests 2023-11-28 20:59:25 +01: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.