status-go/protocol
Parvesh Monu 54b35b0510
fix activity center unique constraint error (#2524)
2022-02-09 18:45:57 +05:30
..
anonmetrics Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
audio
common feat: desktop mailserver cycle (#2481) 2022-01-12 12:02:01 -04:00
communities fix: error reordering chats when destination category position is the same as original chatId position (#2448) 2021-11-30 10:26:17 -04:00
datasync
encryption Add nil check for DirectMessageProtocol object 2021-12-02 15:42:33 +02:00
ens
identity
images Resolved linting issues 2020-12-17 14:10:00 +01:00
internal/sqlite
migrations Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
protobuf Sync activity center (#2443) 2021-12-02 17:23:02 +03:00
pushnotificationclient Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
pushnotificationserver Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
requests
sqlite
subscription
transport [#12783] Improve order of mailserver requests 2022-02-02 09:38:30 +02:00
tt
urls
v1 Sync activity center (#2443) 2021-12-02 17:23:02 +03:00
zaputil
LICENSE
README.md Added basic history of the protocol package (#1984) 2020-06-04 11:23:09 +01:00
activity_center.go
activity_center_persistence.go Fix notification query 2021-12-10 15:36:59 +00:00
anon_metrics_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
chat.go Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
chat_group_proxy.go
chat_test.go
communities_messenger_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
contact.go
delete_message.go
edit_message.go
emoji_reaction.go
errors.go
group_chat_invitation.go
group_chat_system_messages.go
identity_images.go
local_notifications.go
message_builder.go
message_persistence.go Mark history as fully synced on clearing chat history 2022-02-08 13:15:52 +02:00
message_validator.go
message_validator_test.go
messenger.go [#12783] Improve order of mailserver requests 2022-02-02 09:38:30 +02:00
messenger_activity_center.go fix activity center unique constraint error (#2524) 2022-02-09 18:45:57 +05:30
messenger_activity_center_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_auto_message.go feat: auto message (#2441) 2021-11-29 14:11:55 +01:00
messenger_backup.go feat: auto message (#2441) 2021-11-29 14:11:55 +01:00
messenger_backup_test.go Fix flaky test for backup 2022-01-10 10:46:37 +00:00
messenger_chats.go Set joined=message.clock on syncing pubchat creation 2021-12-24 16:47:28 +02:00
messenger_communities.go fix membership requests on synced devices (#2477) 2022-01-10 17:34:52 +05:30
messenger_config.go feat: desktop mailserver cycle (#2481) 2022-01-12 12:02:01 -04:00
messenger_contact_update_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_contacts.go Set joined=message.clock on syncing pubchat creation 2021-12-24 16:47:28 +02:00
messenger_delete_message_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_discv5.go
messenger_edit_message_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_emoji_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_ens.go
messenger_handler.go Set joined=message.clock on syncing pubchat creation 2021-12-24 16:47:28 +02:00
messenger_handler_test.go
messenger_identity_image_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_installations_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_mailserver.go [#12783] fix index out of range when there are no filters 2022-02-02 16:52:50 +02:00
messenger_mailserver_cycle.go feat: verify if mailserver is pinned in cycle (#2489) 2022-01-19 08:35:19 -04:00
messenger_maps.go
messenger_messages.go
messenger_mute_test.go
messenger_peers.go
messenger_pin_message_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_pin_messages.go
messenger_response.go Sync activity center (#2443) 2021-12-02 17:23:02 +03:00
messenger_response_test.go feat: desktop mailserver cycle (#2481) 2022-01-12 12:02:01 -04:00
messenger_status_updates.go fix: only broadcast status once we are connected (#2456) 2021-12-09 09:50:58 +01:00
messenger_sync_chat_test.go Set joined=message.clock on syncing pubchat creation 2021-12-24 16:47:28 +02:00
messenger_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
persistence.go Fetch synced_from and synced_to from db to avoid resetting values to zero 2021-12-17 12:30:35 +02:00
persistence_test.go Fix notification query 2021-12-10 15:36:59 +00:00
push_notification_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
status_update.go
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.