Receive support for View Once photos
This commit is contained in:
parent
fccf1eec30
commit
e62a1a7812
38 changed files with 1937 additions and 102 deletions
|
@ -1110,11 +1110,19 @@ MessageReceiver.prototype.extend({
|
|||
return this.handleVerified(envelope, syncMessage.verified);
|
||||
} else if (syncMessage.configuration) {
|
||||
return this.handleConfiguration(envelope, syncMessage.configuration);
|
||||
} else if (syncMessage.stickerPackOperation) {
|
||||
} else if (
|
||||
syncMessage.stickerPackOperation &&
|
||||
syncMessage.stickerPackOperation.length > 0
|
||||
) {
|
||||
return this.handleStickerPackOperation(
|
||||
envelope,
|
||||
syncMessage.stickerPackOperation
|
||||
);
|
||||
} else if (syncMessage.messageTimerRead) {
|
||||
return this.handleMessageTimerRead(
|
||||
envelope,
|
||||
syncMessage.messageTimerRead
|
||||
);
|
||||
}
|
||||
throw new Error('Got empty SyncMessage');
|
||||
},
|
||||
|
@ -1125,6 +1133,17 @@ MessageReceiver.prototype.extend({
|
|||
ev.configuration = configuration;
|
||||
return this.dispatchAndWait(ev);
|
||||
},
|
||||
handleMessageTimerRead(envelope, sync) {
|
||||
window.log.info('got message timer read sync message');
|
||||
|
||||
const ev = new Event('viewSync');
|
||||
ev.confirm = this.removeFromCache.bind(this, envelope);
|
||||
ev.source = sync.sender;
|
||||
ev.timestamp = sync.timestamp ? sync.timestamp.toNumber() : null;
|
||||
ev.viewedAt = envelope.timestamp;
|
||||
|
||||
return this.dispatchAndWait(ev);
|
||||
},
|
||||
handleStickerPackOperation(envelope, operations) {
|
||||
const ENUM = textsecure.protobuf.SyncMessage.StickerPackOperation.Type;
|
||||
window.log.info('got sticker pack operation sync message');
|
||||
|
|
|
@ -750,6 +750,34 @@ MessageSender.prototype = {
|
|||
|
||||
return Promise.resolve();
|
||||
},
|
||||
|
||||
async syncMessageTimerRead(sender, timestamp, options) {
|
||||
const myNumber = textsecure.storage.user.getNumber();
|
||||
const myDevice = textsecure.storage.user.getDeviceId();
|
||||
if (myDevice === 1 || myDevice === '1') {
|
||||
return null;
|
||||
}
|
||||
|
||||
const syncMessage = this.createSyncMessage();
|
||||
|
||||
const messageTimerRead = new textsecure.protobuf.SyncMessage.MessageTimerRead();
|
||||
messageTimerRead.sender = sender;
|
||||
messageTimerRead.timestamp = timestamp;
|
||||
syncMessage.messageTimerRead = messageTimerRead;
|
||||
|
||||
const contentMessage = new textsecure.protobuf.Content();
|
||||
contentMessage.syncMessage = syncMessage;
|
||||
|
||||
const silent = true;
|
||||
return this.sendIndividualProto(
|
||||
myNumber,
|
||||
contentMessage,
|
||||
Date.now(),
|
||||
silent,
|
||||
options
|
||||
);
|
||||
},
|
||||
|
||||
async sendStickerPackSync(operations, options) {
|
||||
const myDevice = textsecure.storage.user.getDeviceId();
|
||||
if (myDevice === 1 || myDevice === '1') {
|
||||
|
@ -1238,6 +1266,7 @@ textsecure.MessageSender = function MessageSenderWrapper(username, password) {
|
|||
this.getSticker = sender.getSticker.bind(sender);
|
||||
this.getStickerPackManifest = sender.getStickerPackManifest.bind(sender);
|
||||
this.sendStickerPackSync = sender.sendStickerPackSync.bind(sender);
|
||||
this.syncMessageTimerRead = sender.syncMessageTimerRead.bind(sender);
|
||||
};
|
||||
|
||||
textsecure.MessageSender.prototype = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue