forked from mystiq/hydrogen-web
check algorithm
This commit is contained in:
parent
c5c9505ce2
commit
c5efa582b1
2 changed files with 11 additions and 2 deletions
|
@ -24,6 +24,7 @@ import {Decryption as OlmDecryption} from "./e2ee/olm/Decryption.js";
|
||||||
import {Encryption as OlmEncryption} from "./e2ee/olm/Encryption.js";
|
import {Encryption as OlmEncryption} from "./e2ee/olm/Encryption.js";
|
||||||
import {Decryption as MegOlmDecryption} from "./e2ee/megolm/Decryption.js";
|
import {Decryption as MegOlmDecryption} from "./e2ee/megolm/Decryption.js";
|
||||||
import {Encryption as MegOlmEncryption} from "./e2ee/megolm/Encryption.js";
|
import {Encryption as MegOlmEncryption} from "./e2ee/megolm/Encryption.js";
|
||||||
|
import {MEGOLM_ALGORITHM} from "./e2ee/common.js";
|
||||||
import {RoomEncryption} from "./e2ee/RoomEncryption.js";
|
import {RoomEncryption} from "./e2ee/RoomEncryption.js";
|
||||||
import {DeviceTracker} from "./e2ee/DeviceTracker.js";
|
import {DeviceTracker} from "./e2ee/DeviceTracker.js";
|
||||||
import {LockMap} from "../utils/LockMap.js";
|
import {LockMap} from "../utils/LockMap.js";
|
||||||
|
@ -108,6 +109,10 @@ export class Session {
|
||||||
if (!this._olmEncryption) {
|
if (!this._olmEncryption) {
|
||||||
throw new Error("creating room encryption before encryption got globally enabled");
|
throw new Error("creating room encryption before encryption got globally enabled");
|
||||||
}
|
}
|
||||||
|
// only support megolm
|
||||||
|
if (encryptionParams.algorithm !== MEGOLM_ALGORITHM) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return new RoomEncryption({
|
return new RoomEncryption({
|
||||||
room,
|
room,
|
||||||
deviceTracker: this._deviceTracker,
|
deviceTracker: this._deviceTracker,
|
||||||
|
|
|
@ -88,8 +88,10 @@ export class Room extends EventEmitter {
|
||||||
// encryption got enabled
|
// encryption got enabled
|
||||||
if (!this._summary.encryption && summaryChanges.encryption && !this._roomEncryption) {
|
if (!this._summary.encryption && summaryChanges.encryption && !this._roomEncryption) {
|
||||||
this._roomEncryption = this._createRoomEncryption(this, summaryChanges.encryption);
|
this._roomEncryption = this._createRoomEncryption(this, summaryChanges.encryption);
|
||||||
|
if (this._roomEncryption) {
|
||||||
this._sendQueue.enableEncryption(this._roomEncryption);
|
this._sendQueue.enableEncryption(this._roomEncryption);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (memberChanges.size) {
|
if (memberChanges.size) {
|
||||||
if (this._changedMembersDuringSync) {
|
if (this._changedMembersDuringSync) {
|
||||||
for (const [userId, memberChange] of memberChanges.entries()) {
|
for (const [userId, memberChange] of memberChanges.entries()) {
|
||||||
|
@ -138,8 +140,10 @@ export class Room extends EventEmitter {
|
||||||
this._summary.load(summary);
|
this._summary.load(summary);
|
||||||
if (this._summary.encryption) {
|
if (this._summary.encryption) {
|
||||||
this._roomEncryption = this._createRoomEncryption(this, this._summary.encryption);
|
this._roomEncryption = this._createRoomEncryption(this, this._summary.encryption);
|
||||||
|
if (this._roomEncryption) {
|
||||||
this._sendQueue.enableEncryption(this._roomEncryption);
|
this._sendQueue.enableEncryption(this._roomEncryption);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// need to load members for name?
|
// need to load members for name?
|
||||||
if (this._summary.needsHeroes) {
|
if (this._summary.needsHeroes) {
|
||||||
this._heroes = new Heroes(this._roomId);
|
this._heroes = new Heroes(this._roomId);
|
||||||
|
|
Loading…
Reference in a new issue