status-go/protocol
frank fee033fadb
support mention Non-Latin nickname (#3641)
* support mention non-Latin nickname

* use IndexRune instead of Index

* fix mobile issue #15524

* add another test case
2023-06-21 14:42:14 +08:00
..
anonmetrics
audio
common feat: add images count to reply (#3574) 2023-06-06 15:52:07 +04:00
communities
datasync
discord refactor(import-tool): process import data in chunks 2023-01-30 12:23:56 +01:00
encryption
ens Add permission checks for ENS token permissions 2023-06-05 13:10:48 +02:00
identity fix: profile social links updated 2023-06-06 09:59:12 +02:00
internal/sqlite
linkpreview Support unfurling more websites (#3530) 2023-06-05 07:46:17 -03:00
migrations feat(communities): Adds muting interval to community (#3549) 2023-06-17 11:19:05 +03:00
protobuf feat(communities): Adds muting interval to community (#3549) 2023-06-17 11:19:05 +03:00
pushnotificationclient
pushnotificationserver
requests feat: introduce `CheckAllCommunityChannelsPermissions()` API 2023-06-20 10:06:44 +02:00
sqlite chore(upgradeSQLCipher): Upgrading SQLCipher to version 5.4.5 (#3559) 2023-06-07 08:58:01 +03:00
subscription
transport feat(communities): Adds muting interval to community (#3549) 2023-06-17 11:19:05 +03:00
tt
urls
v1
verification
wakusync
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
activity_center_persistence_test.go
chat.go feat(categories): Add muted type to category muting shortcut (#3534) 2023-06-02 14:25:32 +03:00
chat_group_proxy.go
chat_test.go
communities_messenger_admin_test.go
communities_messenger_test.go
contact.go
contact_test.go
delete_message.go
edit_message.go
emoji_reaction.go
errors.go Add ClearHistory & DeactivateChat methods 2021-01-11 13:36:05 +01:00
group_chat_invitation.go
group_chat_system_messages.go
identity_images.go Split clock values for contacts 2023-01-31 15:43:00 +00:00
local_notifications.go
message_builder.go
message_persistence.go
message_validator.go
message_validator_test.go Fix protobuf ImageType change 2020-12-17 14:10:00 +01:00
messenger.go
messenger_activity_center.go
messenger_activity_center_test.go
messenger_auto_message.go
messenger_backup.go
messenger_backup_handler.go
messenger_backup_test.go
messenger_base_test.go
messenger_bookmarks.go
messenger_browsers.go Issue 13813 -- Use messenger ns for browser CRUD (#2801) 2022-08-24 16:05:35 +02:00
messenger_browsers_test.go
messenger_chats.go
messenger_collapsed_community_categories.go
messenger_collapsed_community_categories_test.go
messenger_communities.go
messenger_config.go fix: save revealed accounts regardless of permissions granted (#3609) 2023-06-16 11:10:32 +04:00
messenger_contact_requests_test.go
messenger_contact_update_test.go
messenger_contact_verification.go
messenger_contact_verification_test.go Add system message for mutual contact state updates (#3519) 2023-06-08 16:00:19 +04:00
messenger_contacts.go
messenger_delete_message_for_everyone_test.go
messenger_delete_message_for_me_test.go
messenger_delete_message_test.go
messenger_discv5.go feat: Add DiscV5 to Waku2 (#2434) 2021-11-22 09:40:14 -04:00
messenger_edit_message_test.go fix(mentions): deleting or editing a mention should remove the mention (#3421) 2023-04-27 10:22:26 -04:00
messenger_emoji_test.go
messenger_ens.go
messenger_group_chat.go
messenger_group_chat_test.go
messenger_handler.go
messenger_handler_test.go
messenger_identity.go
messenger_identity_display_name_test.go
messenger_identity_image_test.go Add spiff workflow cmd 2023-03-16 14:31:34 +00:00
messenger_identity_social_links_test.go
messenger_installations_test.go
messenger_keycard.go
messenger_mailserver.go chore: `forceFetchingBackup` param added to `RequestAllHistoricMessages` and `RequestAllHistoricMessagesWithRetries` functions 2023-06-09 17:42:11 +02:00
messenger_mailserver_cycle.go
messenger_mailserver_processMailserverBatch_test.go
messenger_maps.go Tests and linting 2021-09-30 13:02:41 +01:00
messenger_mention.go
messenger_mention_test.go
messenger_messages.go
messenger_mute_test.go
messenger_peers.go
messenger_pin_message_test.go
messenger_pin_messages.go
messenger_reply_test.go fix(reply-test): fix reply test because msgs could come out of order 2023-01-11 16:24:42 -05:00
messenger_response.go
messenger_response_test.go
messenger_saved_address.go
messenger_send_images_album_test.go
messenger_share_image_test.go
messenger_status_updates.go
messenger_status_updates_test.go
messenger_switcher_cards.go
messenger_sync_activity_notification_test.go
messenger_sync_bookmark_test.go
messenger_sync_chat_test.go
messenger_sync_clear_history_test.go
messenger_sync_keycard_change_test.go
messenger_sync_keycards_state_test.go
messenger_sync_profile_picture_test.go
messenger_sync_raw_messages.go fix: profile social links updated 2023-06-06 09:59:12 +02:00
messenger_sync_saved_addresses_test.go feat: Update saved addresses DB to store ENS, isTest flag and chains (#3183) 2023-03-06 16:26:46 +03:00
messenger_sync_settings.go
messenger_sync_settings_test.go
messenger_sync_verification_test.go
messenger_sync_wallets_test.go
messenger_test.go
messenger_wallet.go
messenger_walletconnect.go Implement wallet connect session CRUD API 2022-08-19 12:32:00 +01:00
messenger_walletconnect_test.go
persistence.go
persistence_collapsed_community_categories.go
persistence_test.go
push_notification_test.go
status_update.go
switcher_card.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.