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

View File

@ -1714,7 +1714,17 @@ export default class MessageReceiver
envelope: UnsealedEnvelope,
msg: Proto.IDataMessage
): 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();
// eslint-disable-next-line no-bitwise
const destination = envelope.sourceUuid;
@ -1899,6 +1909,14 @@ export default class MessageReceiver
await this.handleTypingMessage(envelope, content.typingMessage);
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);