mirror of
https://github.com/status-im/status-go.git
synced 2025-01-13 16:16:18 +00:00
89251e8416
* Added community sync protobuf * Updated community sync send logic * Integrated syncCommunity handling * Added synced_at field and tidied up some other logic * persistence testing * Added testing and join functionality * Fixed issue with empty scan params * Finshed persistence tests for new db funcs * Midway debug of description not persisting after sync * Resolved final issues and tidied up * Polish * delint * Fix error not handled on SetPrivateKey * fix infinite loop, again * Added muted option and test fix * Added Muted to syncing functions, not just in persistence * Fix bug introduced with Muted property * Added a couple of notes for future devs * Added most of the sync RequestToJoin functionality Tests need to be completed and tests are giving some errors * Finished tests for getJoinedAndPending * Added note * Resolving lint * Fix of protobuf gen bug * Fixes to community sync tests * Fixes to test * Continued fix of e2e * Final fix to e2e testing * Updated migration position * resolve missing import * Apparently the linter spellchecks * Fix bug from #2276 merge * Bug fix for leaving quirkiness * Addressed superfluous MessengerResponse field * Addressed feedback * VERSION bump
107 lines
2.3 KiB
Protocol Buffer
107 lines
2.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option go_package = "./;protobuf";
|
|
package protobuf;
|
|
|
|
import "enums.proto";
|
|
|
|
message StickerMessage {
|
|
string hash = 1;
|
|
int32 pack = 2;
|
|
}
|
|
|
|
message ImageMessage {
|
|
bytes payload = 1;
|
|
ImageType type = 2;
|
|
}
|
|
|
|
message AudioMessage {
|
|
bytes payload = 1;
|
|
AudioType type = 2;
|
|
uint64 duration_ms = 3;
|
|
enum AudioType {
|
|
UNKNOWN_AUDIO_TYPE = 0;
|
|
AAC = 1;
|
|
AMR = 2;
|
|
}
|
|
}
|
|
|
|
message EditMessage {
|
|
uint64 clock = 1;
|
|
// Text of the message
|
|
string text = 2;
|
|
|
|
string chat_id = 3;
|
|
string message_id = 4;
|
|
|
|
// Grant for community edit messages
|
|
bytes grant = 5;
|
|
|
|
// The type of message (public/one-to-one/private-group-chat)
|
|
MessageType message_type = 6;
|
|
}
|
|
|
|
message DeleteMessage {
|
|
uint64 clock = 1;
|
|
|
|
string chat_id = 2;
|
|
string message_id = 3;
|
|
|
|
// Grant for community delete messages
|
|
bytes grant = 4;
|
|
|
|
// The type of message (public/one-to-one/private-group-chat)
|
|
MessageType message_type = 5;
|
|
}
|
|
|
|
|
|
message ChatMessage {
|
|
// Lamport timestamp of the chat message
|
|
uint64 clock = 1;
|
|
// Unix timestamps in milliseconds, currently not used as we use whisper as more reliable, but here
|
|
// so that we don't rely on it
|
|
uint64 timestamp = 2;
|
|
// Text of the message
|
|
string text = 3;
|
|
// Id of the message that we are replying to
|
|
string response_to = 4;
|
|
// Ens name of the sender
|
|
string ens_name = 5;
|
|
// Chat id, this field is symmetric for public-chats and private group chats,
|
|
// but asymmetric in case of one-to-ones, as the sender will use the chat-id
|
|
// of the received, while the receiver will use the chat-id of the sender.
|
|
// Probably should be the concatenation of sender-pk & receiver-pk in alphabetical order
|
|
string chat_id = 6;
|
|
|
|
// The type of message (public/one-to-one/private-group-chat)
|
|
MessageType message_type = 7;
|
|
// The type of the content of the message
|
|
ContentType content_type = 8;
|
|
|
|
oneof payload {
|
|
StickerMessage sticker = 9;
|
|
ImageMessage image = 10;
|
|
AudioMessage audio = 11;
|
|
bytes community = 12;
|
|
}
|
|
|
|
// Grant for community chat messages
|
|
bytes grant = 13;
|
|
|
|
enum ContentType {
|
|
UNKNOWN_CONTENT_TYPE = 0;
|
|
TEXT_PLAIN = 1;
|
|
STICKER = 2;
|
|
STATUS = 3;
|
|
EMOJI = 4;
|
|
TRANSACTION_COMMAND = 5;
|
|
// Only local
|
|
SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP = 6;
|
|
IMAGE = 7;
|
|
AUDIO = 8;
|
|
COMMUNITY = 9;
|
|
// Only local
|
|
SYSTEM_MESSAGE_GAP = 10;
|
|
}
|
|
}
|