mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-25 17:27:45 +00:00
36ec1d84a1
1) Support a "receipt" push message type. 2) Identify messages by timestamp. 3) Introduce a JobManager to handle the queue for network dependent jobs.
53 lines
1.4 KiB
Protocol Buffer
53 lines
1.4 KiB
Protocol Buffer
package textsecure;
|
|
|
|
option java_package = "org.whispersystems.textsecure.push";
|
|
option java_outer_classname = "PushMessageProtos";
|
|
|
|
message IncomingPushMessageSignal {
|
|
enum Type {
|
|
UNKNOWN = 0;
|
|
CIPHERTEXT = 1;
|
|
KEY_EXCHANGE = 2;
|
|
PREKEY_BUNDLE = 3;
|
|
PLAINTEXT = 4;
|
|
RECEIPT = 5;
|
|
}
|
|
optional Type type = 1;
|
|
optional string source = 2;
|
|
optional uint32 sourceDevice = 7;
|
|
optional string relay = 3;
|
|
optional uint64 timestamp = 5;
|
|
optional bytes message = 6; // Contains an encrypted PushMessageContent
|
|
// repeated string destinations = 4; // No longer supported
|
|
}
|
|
|
|
message PushMessageContent {
|
|
message AttachmentPointer {
|
|
optional fixed64 id = 1;
|
|
optional string contentType = 2;
|
|
optional bytes key = 3;
|
|
}
|
|
|
|
message GroupContext {
|
|
enum Type {
|
|
UNKNOWN = 0;
|
|
UPDATE = 1;
|
|
DELIVER = 2;
|
|
QUIT = 3;
|
|
}
|
|
optional bytes id = 1;
|
|
optional Type type = 2;
|
|
optional string name = 3;
|
|
repeated string members = 4;
|
|
optional AttachmentPointer avatar = 5;
|
|
}
|
|
|
|
enum Flags {
|
|
END_SESSION = 1;
|
|
}
|
|
|
|
optional string body = 1;
|
|
repeated AttachmentPointer attachments = 2;
|
|
optional GroupContext group = 3;
|
|
optional uint32 flags = 4;
|
|
} |