Show "unplayed" dot on incoming audio messages
This commit is contained in:
parent
9fd191ae00
commit
b0750e5f4e
36 changed files with 812 additions and 175 deletions
|
@ -91,6 +91,7 @@ import {
|
|||
StickerPackEvent,
|
||||
VerifiedEvent,
|
||||
ReadSyncEvent,
|
||||
ViewSyncEvent,
|
||||
ContactEvent,
|
||||
ContactSyncEvent,
|
||||
GroupEvent,
|
||||
|
@ -440,6 +441,11 @@ export default class MessageReceiver
|
|||
handler: (ev: ReadSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
name: 'viewSync',
|
||||
handler: (ev: ViewSyncEvent) => void
|
||||
): void;
|
||||
|
||||
public addEventListener(
|
||||
name: 'contact',
|
||||
handler: (ev: ContactEvent) => void
|
||||
|
@ -2206,6 +2212,9 @@ export default class MessageReceiver
|
|||
if (syncMessage.keys) {
|
||||
return this.handleKeys(envelope, syncMessage.keys);
|
||||
}
|
||||
if (syncMessage.viewed && syncMessage.viewed.length) {
|
||||
return this.handleViewed(envelope, syncMessage.viewed);
|
||||
}
|
||||
|
||||
this.removeFromCache(envelope);
|
||||
window.log.warn(
|
||||
|
@ -2388,6 +2397,32 @@ export default class MessageReceiver
|
|||
await Promise.all(results);
|
||||
}
|
||||
|
||||
private async handleViewed(
|
||||
envelope: ProcessedEnvelope,
|
||||
viewed: ReadonlyArray<Proto.SyncMessage.IViewed>
|
||||
): Promise<void> {
|
||||
window.log.info(
|
||||
'MessageReceiver.handleViewed',
|
||||
this.getEnvelopeId(envelope)
|
||||
);
|
||||
await Promise.all(
|
||||
viewed.map(async ({ timestamp, senderE164, senderUuid }) => {
|
||||
const ev = new ViewSyncEvent(
|
||||
{
|
||||
envelopeTimestamp: envelope.timestamp,
|
||||
timestamp: normalizeNumber(dropNull(timestamp)),
|
||||
senderE164: dropNull(senderE164),
|
||||
senderUuid: senderUuid
|
||||
? normalizeUuid(senderUuid, 'handleViewed.senderUuid')
|
||||
: undefined,
|
||||
},
|
||||
this.removeFromCache.bind(this, envelope)
|
||||
);
|
||||
await this.dispatchAndWait(ev);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
private async handleContacts(
|
||||
envelope: ProcessedEnvelope,
|
||||
contacts: Proto.SyncMessage.IContacts
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue