Update protos with planned changes for stories

This commit is contained in:
Scott Nonnenberg 2021-11-15 17:20:09 -08:00 committed by GitHub
parent 1982d5c8db
commit e45b3e97d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 1 deletions

View file

@ -44,6 +44,7 @@ message Content {
optional TypingMessage typingMessage = 6; optional TypingMessage typingMessage = 6;
optional bytes senderKeyDistributionMessage = 7; optional bytes senderKeyDistributionMessage = 7;
optional bytes decryptionErrorMessage = 8; optional bytes decryptionErrorMessage = 8;
optional StoryMessage storyMessage = 9;
} }
// Everything in CallingMessage must be kept in sync with RingRTC (ringrtc-node). // Everything in CallingMessage must be kept in sync with RingRTC (ringrtc-node).
@ -249,6 +250,11 @@ message DataMessage {
optional string eraId = 1; optional string eraId = 1;
} }
message StoryContext {
optional string authorUuid = 1;
optional uint64 sentTimestamp = 2;
}
enum ProtocolVersion { enum ProtocolVersion {
option allow_alias = true; option allow_alias = true;
@ -281,6 +287,8 @@ message DataMessage {
optional Delete delete = 17; optional Delete delete = 17;
repeated BodyRange bodyRanges = 18; repeated BodyRange bodyRanges = 18;
optional GroupCallUpdate groupCallUpdate = 19; optional GroupCallUpdate groupCallUpdate = 19;
reserved /* Payment payment */ 20;
optional StoryContext storyContext = 21;
} }
message NullMessage { message NullMessage {
@ -309,6 +317,12 @@ message TypingMessage {
optional bytes groupId = 3; optional bytes groupId = 3;
} }
message StoryMessage {
optional bytes profileKey = 1;
optional GroupContextV2 group = 2;
optional AttachmentPointer attachment = 3;
}
message Verified { message Verified {
enum State { enum State {
DEFAULT = 0; DEFAULT = 0;

View file

@ -1714,7 +1714,17 @@ export default class MessageReceiver
envelope: UnsealedEnvelope, envelope: UnsealedEnvelope,
msg: Proto.IDataMessage msg: Proto.IDataMessage
): Promise<void> { ): Promise<void> {
log.info('MessageReceiver.handleDataMessage', this.getEnvelopeId(envelope)); const logId = this.getEnvelopeId(envelope);
log.info('MessageReceiver.handleDataMessage', logId);
if (msg.storyContext) {
log.info(
`MessageReceiver.handleDataMessage/${logId}: Dropping incoming dataMessage with storyContext field`
);
this.removeFromCache(envelope);
return undefined;
}
let p: Promise<void> = Promise.resolve(); let p: Promise<void> = Promise.resolve();
// eslint-disable-next-line no-bitwise // eslint-disable-next-line no-bitwise
const destination = envelope.sourceUuid; const destination = envelope.sourceUuid;
@ -1899,6 +1909,14 @@ export default class MessageReceiver
await this.handleTypingMessage(envelope, content.typingMessage); await this.handleTypingMessage(envelope, content.typingMessage);
return; return;
} }
if (content.storyMessage) {
const logId = this.getEnvelopeId(envelope);
log.info(
`innerHandleContentMessage/${logId}: Dropping incoming message with storyMessage field`
);
this.removeFromCache(envelope);
return;
}
this.removeFromCache(envelope); this.removeFromCache(envelope);