mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-06-25 04:44:07 +00:00
Some checks are pending
Flutter analyze & test / flutter_analyze_and_test (push) Waiting to run
220 lines
No EOL
6.2 KiB
Protocol Buffer
220 lines
No EOL
6.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
message Message {
|
|
enum Type {
|
|
SENDER_DELIVERY_RECEIPT = 0;
|
|
PLAINTEXT_CONTENT = 1;
|
|
CIPHERTEXT = 2;
|
|
PREKEY_BUNDLE = 3;
|
|
TEST_NOTIFICATION = 4;
|
|
}
|
|
Type type = 1;
|
|
string receipt_id = 2;
|
|
optional bytes encrypted_content = 3;
|
|
optional PlaintextContent plaintext_content = 4;
|
|
}
|
|
|
|
message PlaintextContent {
|
|
optional DecryptionErrorMessage decryption_error_message = 1;
|
|
optional RetryErrorMessage retry_control_error = 2;
|
|
|
|
message RetryErrorMessage { }
|
|
|
|
message DecryptionErrorMessage {
|
|
enum Type {
|
|
UNKNOWN = 0;
|
|
PREKEY_UNKNOWN = 1;
|
|
}
|
|
Type type = 1;
|
|
}
|
|
}
|
|
|
|
message EncryptedContent {
|
|
|
|
optional string group_id = 2;
|
|
optional bool is_direct_chat = 3;
|
|
|
|
/// This can be added, so the receiver can check weather he is up to date with the current profile
|
|
optional int64 sender_profile_counter = 4;
|
|
optional bytes sender_user_discovery_version = 21;
|
|
optional bool ask_for_friend_promotions = 25;
|
|
|
|
optional MessageUpdate message_update = 5;
|
|
optional Media media = 6;
|
|
optional MediaUpdate media_update = 7;
|
|
optional ContactUpdate contact_update = 8;
|
|
optional ContactRequest contact_request = 9;
|
|
optional FlameSync flame_sync = 10;
|
|
optional PushKeys push_keys = 11;
|
|
optional Reaction reaction = 12;
|
|
optional TextMessage text_message = 13;
|
|
optional GroupCreate group_create = 14;
|
|
optional GroupJoin group_join = 15;
|
|
optional GroupUpdate group_update = 16;
|
|
optional ResendGroupPublicKey resend_group_public_key = 17;
|
|
optional ErrorMessages error_messages = 18;
|
|
optional AdditionalDataMessage additional_data_message = 19;
|
|
optional TypingIndicator typing_indicator = 20;
|
|
optional UserDiscoveryRequest user_discovery_request = 22;
|
|
optional UserDiscoveryUpdate user_discovery_update = 23;
|
|
optional KeyVerificationProof key_verification_proof = 24;
|
|
|
|
message ErrorMessages {
|
|
enum Type {
|
|
ERROR_PROCESSING_MESSAGE_CREATED_ACCOUNT_REQUEST_INSTEAD = 0;
|
|
UNKNOWN_MESSAGE_TYPE = 2;
|
|
SESSION_OUT_OF_SYNC = 3;
|
|
GROUP_NOT_FOUND_OR_NOT_A_MEMBER = 4;
|
|
}
|
|
Type type = 1;
|
|
string related_receipt_id = 2;
|
|
}
|
|
|
|
message GroupCreate {
|
|
// key for the state stored on the server
|
|
bytes state_key = 3;
|
|
bytes group_public_key = 4;
|
|
optional string group_name = 5;
|
|
}
|
|
|
|
message GroupJoin {
|
|
// key for the state stored on the server
|
|
bytes group_public_key = 1;
|
|
}
|
|
|
|
message ResendGroupPublicKey {
|
|
|
|
}
|
|
|
|
message GroupUpdate {
|
|
string group_action_type = 1; // GroupActionType.name
|
|
optional int64 affected_contact_id = 2;
|
|
optional string new_group_name = 3;
|
|
optional int64 new_delete_messages_after_milliseconds = 4;
|
|
}
|
|
|
|
message TextMessage {
|
|
string sender_message_id = 1;
|
|
string text = 2;
|
|
int64 timestamp = 3;
|
|
optional string quote_message_id = 4;
|
|
}
|
|
|
|
message AdditionalDataMessage {
|
|
string sender_message_id = 1;
|
|
int64 timestamp = 2;
|
|
string type = 3;
|
|
optional bytes additional_message_data = 4;
|
|
}
|
|
|
|
message Reaction {
|
|
string target_message_id = 1;
|
|
string emoji = 2;
|
|
bool remove = 3;
|
|
}
|
|
|
|
message MessageUpdate {
|
|
enum Type {
|
|
DELETE = 0;
|
|
EDIT_TEXT = 1;
|
|
OPENED = 2;
|
|
}
|
|
Type type = 1;
|
|
optional string sender_message_id = 2;
|
|
repeated string multiple_target_message_ids = 3;
|
|
optional string text = 4;
|
|
int64 timestamp = 5;
|
|
}
|
|
|
|
message Media {
|
|
enum Type {
|
|
REUPLOAD = 0;
|
|
IMAGE = 1;
|
|
VIDEO = 2;
|
|
GIF = 3;
|
|
AUDIO = 4;
|
|
}
|
|
|
|
string sender_message_id = 1;
|
|
Type type = 2;
|
|
optional int64 display_limit_in_milliseconds = 3;
|
|
bool requires_authentication = 4;
|
|
int64 timestamp = 5;
|
|
optional string quote_message_id = 6;
|
|
|
|
optional bytes download_token = 7;
|
|
optional bytes encryption_key = 8;
|
|
optional bytes encryption_mac = 9;
|
|
optional bytes encryption_nonce = 10;
|
|
|
|
optional bytes additional_message_data = 11;
|
|
}
|
|
|
|
message MediaUpdate {
|
|
enum Type {
|
|
REOPENED = 0;
|
|
STORED = 1;
|
|
DECRYPTION_ERROR = 2;
|
|
}
|
|
Type type = 1;
|
|
string target_message_id = 2;
|
|
}
|
|
|
|
message ContactRequest {
|
|
enum Type {
|
|
REQUEST = 0;
|
|
REJECT = 1;
|
|
ACCEPT = 2;
|
|
}
|
|
Type type = 1;
|
|
}
|
|
|
|
message ContactUpdate {
|
|
enum Type {
|
|
REQUEST = 0;
|
|
UPDATE = 1;
|
|
}
|
|
|
|
Type type = 1;
|
|
optional bytes avatar_svg_compressed = 2;
|
|
optional string username = 3;
|
|
optional string display_name = 4;
|
|
}
|
|
|
|
message PushKeys {
|
|
enum Type {
|
|
REQUEST = 0;
|
|
UPDATE = 1;
|
|
}
|
|
|
|
Type type = 1;
|
|
optional int64 key_id = 2;
|
|
optional bytes key = 3;
|
|
optional int64 created_at = 4;
|
|
}
|
|
|
|
message FlameSync {
|
|
int64 flame_counter = 1;
|
|
int64 last_flame_counter_change = 2;
|
|
bool best_friend = 3;
|
|
bool force_update = 4;
|
|
}
|
|
|
|
message TypingIndicator {
|
|
bool is_typing = 1;
|
|
int64 created_at = 2;
|
|
}
|
|
|
|
message UserDiscoveryRequest {
|
|
bytes current_version = 1;
|
|
}
|
|
|
|
message UserDiscoveryUpdate {
|
|
repeated bytes messages = 1;
|
|
}
|
|
|
|
message KeyVerificationProof {
|
|
bytes calculated_mac = 1;
|
|
}
|
|
|
|
} |