status-go/protocol
Andrea Maria Piana 071c431606 [Fixes: #4088] Fix pending notification test
There were 2 issues:

1) We hard delete requests, that means that on retransmission they will
be recreated, the test has been changed to accommodate this behavior
2) We always used time.now when updating timestamp in notification,
   sometimes time is the same so the notification is not updated, we
   changed to use what essentially is a clock value
2023-11-03 14:12:35 +00:00
..
anonmetrics remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
audio
common Delete processed messages & add tests 2023-10-30 14:11:29 +00:00
communities chore: populate Community with PubsubTopicPrivateKey 2023-11-03 11:27:43 +01:00
datasync
discord feat(discord): Import single channel from discord (#4160) 2023-10-25 12:32:21 -04:00
encryption remove sync AC state (#4241) 2023-11-02 23:07:03 +08: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
migrations remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
protobuf remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
pushnotificationclient remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
pushnotificationserver remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
requests feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
sqlite fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
subscription
transport remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
tt
urls feat: add parsing for new links format (#3665) 2023-07-04 17:48:52 +04:00
v1 fix: publish group member info (#4184) 2023-10-25 21:11:04 +03: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 [Fixes: #4088] Fix pending notification test 2023-11-03 14:12:35 +00:00
activity_center_persistence.go fix: sync decision on join community request (#4190) 2023-10-26 12:17:18 +08: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 Add queue for processing community description & configurable control node 2023-10-17 21:00:24 +01:00
communities_events_token_master_test.go Add queue for processing community description & configurable control node 2023-10-17 21:00:24 +01:00
communities_events_utils_test.go feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
communities_key_distributor.go chore: enable community rekey loop 2023-10-27 16:29:26 +02:00
communities_messenger_admin_test.go refactor: update community access enum naming 2023-10-25 17:34:37 +02:00
communities_messenger_helpers_test.go feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
communities_messenger_signers_test.go feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
communities_messenger_test.go [Fixes: #4088] Fix pending notification test 2023-11-03 14:12:35 +00:00
communities_messenger_token_permissions_test.go feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +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 Split clock values for contacts 2023-01-31 15:43:00 +00: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 feat: new configurable endpoint RequestCommunityInfoFromMailserverV2 (#4238) 2023-11-03 10:30:24 +00: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 only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08: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: non protected pubsub topic for communities 2023-10-30 15:47:32 -04:00
messenger_activity_center.go remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
messenger_activity_center_test.go feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
messenger_auto_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_backup.go feat: ensure unique control node across devices 2023-10-22 21:50:41 +02: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 keycard test 2023-11-03 10:43:59 +00:00
messenger_base_test.go feat: url unfurling settings (#4128) 2023-10-13 15:31:56 +01:00
messenger_bookmarks.go Sync all devices after initial pairing (#3047) 2023-01-06 20:21:14 +08:00
messenger_browsers.go
messenger_browsers_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_chats.go feat(pairing): sync 1-1 chats and groups on pairing devices (#4102) 2023-10-17 09:24:15 -04: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 [Fixes: #4088] Fix pending notification test 2023-11-03 14:12:35 +00: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 feat(Collectibles): Change Collectibles service name to CommunityTokens. 2023-08-29 11:01:01 +02:00
messenger_contact_requests_test.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
messenger_contact_update_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03: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 Run tests separately, make sure messenger is shutdown, fix torrent test 2023-06-23 11:30:04 +01:00
messenger_contacts.go fix: shared links and link previews contain full self information (#4169) 2023-10-24 11:15:32 +01:00
messenger_contacts_test.go fix: shared links and link previews contain full self information (#4169) 2023-10-24 11:15:32 +01:00
messenger_delete_message_for_everyone_test.go feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
messenger_delete_message_for_me_test.go [status-mobile-16467] Fix delete for me on receiver side using wrong chatID (#3732) 2023-07-10 22:26:32 +03:00
messenger_delete_message_test.go Hotfix: mark `Chat` and `Pin` archive messages as seen (#3992) (#3999) 2023-09-07 13:33:20 +03:00
messenger_discv5.go
messenger_edit_message_test.go feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
messenger_emoji_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_ens.go
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 feat: kick all members after ownership change and auto-accept after sharing the address (#4187) 2023-10-31 15:20:40 +01:00
messenger_handler_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_handlers.go remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
messenger_identity.go fix: shared links and link previews contain full self information (#4169) 2023-10-24 11:15:32 +01: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 Add spiff workflow cmd 2023-03-16 14:31:34 +00:00
messenger_identity_social_links_test.go fix: profile social links updated 2023-06-06 09:59:12 +02:00
messenger_installations_test.go feat(pairing): sync 1-1 chats and groups on pairing devices (#4102) 2023-10-17 09:24:15 -04:00
messenger_keycard.go chore: synchronization improvements applied to keycards 2023-07-11 15:14:49 +02:00
messenger_linkpreview.go make lint-fix ignore for messenger_handlers.go (#4181) 2023-10-24 11:42:56 +08:00
messenger_linkpreview_test.go fix(ImageUnfurler): set title for image links (#4215) 2023-10-26 17:52:52 +01:00
messenger_mailserver.go fix: set pubsubTopic in request community info from mailserver (#4194) 2023-10-25 11:13:35 +01:00
messenger_mailserver_cycle.go chore: `forceFetchingBackup` param added to `RequestAllHistoricMessages` and `RequestAllHistoricMessagesWithRetries` functions 2023-06-09 17:42:11 +02: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 feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
messenger_mute_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_peers.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_pin_message_test.go Hotfix: mark `Chat` and `Pin` archive messages as seen (#3992) (#3999) 2023-09-07 13:33:20 +03: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 backend (#4005) 2023-10-24 14:43:18 +04:00
messenger_profile_showcase_test.go feat: Profile showcase backend (#4005) 2023-10-24 14:43:18 +04:00
messenger_reply_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_response.go chore: populate Community with PubsubTopicPrivateKey 2023-11-03 11:27:43 +01:00
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 feat: support signing of a join/edit community request from within the app or keycard 2023-11-03 07:49:01 +01:00
messenger_share_image_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_share_urls.go feat: new deeplink status-im->status-app (#4198) 2023-11-02 13:56:06 +08:00
messenger_share_urls_test.go refactor: update community access enum naming 2023-10-25 17:34:37 +02:00
messenger_status_updates.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_status_updates_test.go
messenger_switcher_cards.go Persist switcher cards (#3049) 2023-01-05 21:41:57 +05:30
messenger_sync_activity_center_test.go fix flaky test `TestSyncCommunityRequestDecisionAccept` (#4257) 2023-11-03 18:55:44 +08:00
messenger_sync_bookmark_test.go support local pairing after logged in as receiver; pair installation;(#3202) 2023-02-28 20:32:45 +08:00
messenger_sync_chat_test.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
messenger_sync_clear_history_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_sync_customization_color_test.go fix: Extract `PairDevices` func (#3857) 2023-08-10 16:57:52 +03:00
messenger_sync_keycard_change_test.go fix: review comments applied 2023-07-25 18:11:05 +02:00
messenger_sync_keycards_state_test.go fix: review comments applied 2023-07-25 18:11:05 +02: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(pairing): sync 1-1 chats and groups on pairing devices (#4102) 2023-10-17 09:24:15 -04:00
messenger_sync_saved_addresses_test.go Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
messenger_sync_settings.go fix: shared links and link previews contain full self information (#4169) 2023-10-24 11:15:32 +01:00
messenger_sync_settings_test.go feat: url unfurling settings (#4128) 2023-10-13 15:31:56 +01:00
messenger_sync_verification_test.go support local pairing after logged in as receiver; pair installation;(#3202) 2023-02-28 20:32:45 +08:00
messenger_sync_wallets_test.go fix: function name change 2023-07-26 08:23:55 +02:00
messenger_test.go only sync decisions/state of AC notifications (#3979) 2023-10-22 17:41:20 +08:00
messenger_testing_utils.go fix: shared links and link previews contain full self information (#4169) 2023-10-24 11:15:32 +01:00
messenger_wallet.go feat: register and maintain keycard local pairing file by `status-go` 2023-09-13 17:15:32 +02:00
messenger_walletconnect.go
messenger_walletconnect_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
persistence.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01: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 backend (#4005) 2023-10-24 14:43:18 +04:00
persistence_test.go Delete processed messages & add tests 2023-10-30 14:11:29 +00:00
push_notification_test.go refactor: update community access enum naming 2023-10-25 17:34:37 +02: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

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.