mirror of https://github.com/vector-im/riot-web
Merge pull request #2113 from matrix-org/bwindels/e2e_enc_ll
Lazy loading: fix end-to-end encryption roomspull/21833/head
commit
612077125e
|
@ -84,7 +84,7 @@ ConferenceCall.prototype._getConferenceUserRoom = function() {
|
||||||
preset: "private_chat",
|
preset: "private_chat",
|
||||||
invite: [this.confUserId]
|
invite: [this.confUserId]
|
||||||
}).then(function(res) {
|
}).then(function(res) {
|
||||||
return new Room(res.room_id, client.getUserId());
|
return new Room(res.room_id, null, client.getUserId());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -317,7 +317,7 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
// lazy load members if enabled
|
// lazy load members if enabled
|
||||||
if (SettingsStore.isFeatureEnabled('feature_lazyloading')) {
|
if (SettingsStore.isFeatureEnabled('feature_lazyloading')) {
|
||||||
MatrixClientPeg.get().loadRoomMembersIfNeeded(room.roomId).catch((err) => {
|
room.loadMembersIfNeeded().catch((err) => {
|
||||||
const errorMessage = `Fetching room members for ${this.roomId} failed.` +
|
const errorMessage = `Fetching room members for ${this.roomId} failed.` +
|
||||||
" Room members will appear incomplete.";
|
" Room members will appear incomplete.";
|
||||||
console.error(errorMessage);
|
console.error(errorMessage);
|
||||||
|
|
|
@ -43,11 +43,11 @@ export function markAllDevicesKnown(matrixClient, devices) {
|
||||||
* @return {Promise} A promise which resolves to a map userId->deviceId->{@link
|
* @return {Promise} A promise which resolves to a map userId->deviceId->{@link
|
||||||
* module:crypto~DeviceInfo|DeviceInfo}.
|
* module:crypto~DeviceInfo|DeviceInfo}.
|
||||||
*/
|
*/
|
||||||
export function getUnknownDevicesForRoom(matrixClient, room) {
|
export async function getUnknownDevicesForRoom(matrixClient, room) {
|
||||||
const roomMembers = room.getEncryptionTargetMembers().map((m) => {
|
const roomMembers = await room.getEncryptionTargetMembers().map((m) => {
|
||||||
return m.userId;
|
return m.userId;
|
||||||
});
|
});
|
||||||
return matrixClient.downloadKeys(roomMembers, false).then((devices) => {
|
const devices = await matrixClient.downloadKeys(roomMembers, false);
|
||||||
const unknownDevices = {};
|
const unknownDevices = {};
|
||||||
// This is all devices in this room, so find the unknown ones.
|
// This is all devices in this room, so find the unknown ones.
|
||||||
Object.keys(devices).forEach((userId) => {
|
Object.keys(devices).forEach((userId) => {
|
||||||
|
@ -63,7 +63,6 @@ export function getUnknownDevicesForRoom(matrixClient, room) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return unknownDevices;
|
return unknownDevices;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function focusComposer() {
|
function focusComposer() {
|
||||||
|
|
|
@ -23,7 +23,7 @@ function generateRoomId() {
|
||||||
|
|
||||||
describe('RoomList', () => {
|
describe('RoomList', () => {
|
||||||
function createRoom(opts) {
|
function createRoom(opts) {
|
||||||
const room = new Room(generateRoomId(), client.getUserId());
|
const room = new Room(generateRoomId(), null, client.getUserId());
|
||||||
if (opts) {
|
if (opts) {
|
||||||
Object.assign(room, opts);
|
Object.assign(room, opts);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue