forked from mystiq/hydrogen-web
add dispose to room encryption
This commit is contained in:
parent
6c46cc98de
commit
ed913ca24b
4 changed files with 15 additions and 2 deletions
|
@ -80,7 +80,7 @@ export class SessionLoadViewModel extends ViewModel {
|
||||||
async cancel() {
|
async cancel() {
|
||||||
try {
|
try {
|
||||||
if (this._sessionContainer) {
|
if (this._sessionContainer) {
|
||||||
this._sessionContainer.stop();
|
this._sessionContainer.dispose();
|
||||||
if (this._deleteSessionOnCancel) {
|
if (this._deleteSessionOnCancel) {
|
||||||
await this._sessionContainer.deleteSession();
|
await this._sessionContainer.deleteSession();
|
||||||
}
|
}
|
||||||
|
|
|
@ -269,10 +269,13 @@ export class Session {
|
||||||
return this._sendScheduler.isStarted;
|
return this._sendScheduler.isStarted;
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
dispose() {
|
||||||
this._olmWorker?.dispose();
|
this._olmWorker?.dispose();
|
||||||
this._sendScheduler.stop();
|
this._sendScheduler.stop();
|
||||||
this._sessionBackup?.dispose();
|
this._sessionBackup?.dispose();
|
||||||
|
for (const room of this._rooms.values()) {
|
||||||
|
room.dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async start(lastVersionResponse) {
|
async start(lastVersionResponse) {
|
||||||
|
|
|
@ -39,6 +39,7 @@ export class RoomEncryption {
|
||||||
this._storage = storage;
|
this._storage = storage;
|
||||||
this._sessionBackup = sessionBackup;
|
this._sessionBackup = sessionBackup;
|
||||||
this._notifyMissingMegolmSession = notifyMissingMegolmSession;
|
this._notifyMissingMegolmSession = notifyMissingMegolmSession;
|
||||||
|
this._disposed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
async enableSessionBackup(sessionBackup) {
|
async enableSessionBackup(sessionBackup) {
|
||||||
|
@ -322,6 +323,10 @@ export class RoomEncryption {
|
||||||
const txnId = makeTxnId();
|
const txnId = makeTxnId();
|
||||||
await hsApi.sendToDevice(type, payload, txnId).response();
|
await hsApi.sendToDevice(type, payload, txnId).response();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dispose() {
|
||||||
|
this._disposed = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -529,6 +529,11 @@ export class Room extends EventEmitter {
|
||||||
applyIsTrackingMembersChanges(changes) {
|
applyIsTrackingMembersChanges(changes) {
|
||||||
this._summary.applyChanges(changes);
|
this._summary.applyChanges(changes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dispose() {
|
||||||
|
this._roomEncryption?.dispose();
|
||||||
|
this._timeline?.dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DecryptionRequest {
|
class DecryptionRequest {
|
||||||
|
|
Loading…
Reference in a new issue