You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-23 17:02:25 +03:00
make consistent call event type checks
This commit is contained in:
@@ -92,11 +92,7 @@ export class CallEventHandler {
|
|||||||
private onEvent = (event: MatrixEvent) => {
|
private onEvent = (event: MatrixEvent) => {
|
||||||
this.client.decryptEventIfNeeded(event);
|
this.client.decryptEventIfNeeded(event);
|
||||||
// any call events or ones that might be once they're decrypted
|
// any call events or ones that might be once they're decrypted
|
||||||
if (
|
if (this.eventIsACall(event) || event.isBeingDecrypted()) {
|
||||||
event.getType().indexOf("m.call.") === 0 ||
|
|
||||||
event.getType().indexOf("org.matrix.call.") === 0
|
|
||||||
|| event.isBeingDecrypted()
|
|
||||||
) {
|
|
||||||
// queue up for processing once all events from this sync have been
|
// queue up for processing once all events from this sync have been
|
||||||
// processed (see above).
|
// processed (see above).
|
||||||
this.callEventBuffer.push(event);
|
this.callEventBuffer.push(event);
|
||||||
@@ -105,7 +101,7 @@ export class CallEventHandler {
|
|||||||
if (event.isBeingDecrypted() || event.isDecryptionFailure()) {
|
if (event.isBeingDecrypted() || event.isDecryptionFailure()) {
|
||||||
// add an event listener for once the event is decrypted.
|
// add an event listener for once the event is decrypted.
|
||||||
event.once("Event.decrypted", () => {
|
event.once("Event.decrypted", () => {
|
||||||
if (event.getType().indexOf("m.call.") === -1) return;
|
if (!this.eventIsACall(event)) return;
|
||||||
|
|
||||||
if (this.callEventBuffer.includes(event)) {
|
if (this.callEventBuffer.includes(event)) {
|
||||||
// we were waiting for that event to decrypt, so recheck the buffer
|
// we were waiting for that event to decrypt, so recheck the buffer
|
||||||
@@ -123,6 +119,15 @@ export class CallEventHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private eventIsACall(event: MatrixEvent): boolean {
|
||||||
|
const type = event.getType();
|
||||||
|
/**
|
||||||
|
* Unstable prefixes:
|
||||||
|
* - org.matrix.call. : MSC3086 https://github.com/matrix-org/matrix-doc/pull/3086
|
||||||
|
*/
|
||||||
|
return type.startsWith("m.call.") || type.startsWith("org.matrix.call.");
|
||||||
|
}
|
||||||
|
|
||||||
private handleCallEvent(event: MatrixEvent) {
|
private handleCallEvent(event: MatrixEvent) {
|
||||||
const content = event.getContent();
|
const content = event.getContent();
|
||||||
let call = content.call_id ? this.calls.get(content.call_id) : undefined;
|
let call = content.call_id ? this.calls.get(content.call_id) : undefined;
|
||||||
|
|||||||
Reference in New Issue
Block a user