Merge pull request #5005 from matrix-org/travis/room-list/log-debug
Convert room list log setting to a real setting
This commit is contained in:
commit
ddb5c7fb24
7 changed files with 58 additions and 39 deletions
3
src/@types/global.d.ts
vendored
3
src/@types/global.d.ts
vendored
|
@ -39,9 +39,6 @@ declare global {
|
||||||
mx_RoomListStore2: RoomListStore2;
|
mx_RoomListStore2: RoomListStore2;
|
||||||
mx_RoomListLayoutStore: RoomListLayoutStore;
|
mx_RoomListLayoutStore: RoomListLayoutStore;
|
||||||
mxPlatformPeg: PlatformPeg;
|
mxPlatformPeg: PlatformPeg;
|
||||||
|
|
||||||
// TODO: Remove flag before launch: https://github.com/vector-im/riot-web/issues/14231
|
|
||||||
mx_LoudRoomListLogging: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// workaround for https://github.com/microsoft/TypeScript/issues/30933
|
// workaround for https://github.com/microsoft/TypeScript/issues/30933
|
||||||
|
|
|
@ -40,6 +40,7 @@ import { NotificationColor } from "../../../stores/notifications/NotificationCol
|
||||||
import { Action } from "../../../dispatcher/actions";
|
import { Action } from "../../../dispatcher/actions";
|
||||||
import { ViewRoomDeltaPayload } from "../../../dispatcher/payloads/ViewRoomDeltaPayload";
|
import { ViewRoomDeltaPayload } from "../../../dispatcher/payloads/ViewRoomDeltaPayload";
|
||||||
import { RoomNotificationStateStore } from "../../../stores/notifications/RoomNotificationStateStore";
|
import { RoomNotificationStateStore } from "../../../stores/notifications/RoomNotificationStateStore";
|
||||||
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
|
|
||||||
// TODO: Rename on launch: https://github.com/vector-im/riot-web/issues/14367
|
// TODO: Rename on launch: https://github.com/vector-im/riot-web/issues/14367
|
||||||
|
|
||||||
|
@ -210,7 +211,7 @@ export default class RoomList2 extends React.Component<IProps, IState> {
|
||||||
|
|
||||||
private updateLists = () => {
|
private updateLists = () => {
|
||||||
const newLists = RoomListStore.instance.orderedLists;
|
const newLists = RoomListStore.instance.orderedLists;
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log("new lists", newLists);
|
console.log("new lists", newLists);
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ export default class LabsUserSettingsTab extends React.Component {
|
||||||
<SettingsFlag name={"showHiddenEventsInTimeline"} level={SettingLevel.DEVICE} />
|
<SettingsFlag name={"showHiddenEventsInTimeline"} level={SettingLevel.DEVICE} />
|
||||||
<SettingsFlag name={"lowBandwidth"} level={SettingLevel.DEVICE} />
|
<SettingsFlag name={"lowBandwidth"} level={SettingLevel.DEVICE} />
|
||||||
<SettingsFlag name={"sendReadReceipts"} level={SettingLevel.ACCOUNT} />
|
<SettingsFlag name={"sendReadReceipts"} level={SettingLevel.ACCOUNT} />
|
||||||
|
<SettingsFlag name={"advancedRoomListLogging"} level={SettingLevel.DEVICE} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -492,6 +492,7 @@
|
||||||
"Try out new ways to ignore people (experimental)": "Try out new ways to ignore people (experimental)",
|
"Try out new ways to ignore people (experimental)": "Try out new ways to ignore people (experimental)",
|
||||||
"Use the improved room list (will refresh to apply changes)": "Use the improved room list (will refresh to apply changes)",
|
"Use the improved room list (will refresh to apply changes)": "Use the improved room list (will refresh to apply changes)",
|
||||||
"Support adding custom themes": "Support adding custom themes",
|
"Support adding custom themes": "Support adding custom themes",
|
||||||
|
"Enable advanced debugging for the room list": "Enable advanced debugging for the room list",
|
||||||
"Show info about bridges in room settings": "Show info about bridges in room settings",
|
"Show info about bridges in room settings": "Show info about bridges in room settings",
|
||||||
"Font size": "Font size",
|
"Font size": "Font size",
|
||||||
"Use custom size": "Use custom size",
|
"Use custom size": "Use custom size",
|
||||||
|
|
|
@ -154,6 +154,12 @@ export const SETTINGS = {
|
||||||
supportedLevels: LEVELS_FEATURE,
|
supportedLevels: LEVELS_FEATURE,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
"advancedRoomListLogging": {
|
||||||
|
// TODO: Remove flag before launch: https://github.com/vector-im/riot-web/issues/14231
|
||||||
|
displayName: _td("Enable advanced debugging for the room list"),
|
||||||
|
supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
"mjolnirRooms": {
|
"mjolnirRooms": {
|
||||||
supportedLevels: ['account'],
|
supportedLevels: ['account'],
|
||||||
default: [],
|
default: [],
|
||||||
|
|
|
@ -60,6 +60,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
|
|
||||||
private readonly watchedSettings = [
|
private readonly watchedSettings = [
|
||||||
'feature_custom_tags',
|
'feature_custom_tags',
|
||||||
|
'advancedRoomListLogging', // TODO: Remove watch: https://github.com/vector-im/riot-web/issues/14367
|
||||||
];
|
];
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@ -126,6 +127,9 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
if (this.enabled) {
|
if (this.enabled) {
|
||||||
console.log("⚡ new room list store engaged");
|
console.log("⚡ new room list store engaged");
|
||||||
}
|
}
|
||||||
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
|
console.warn("Advanced room list logging is enabled");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async readAndCacheSettingsFromStore() {
|
private async readAndCacheSettingsFromStore() {
|
||||||
|
@ -154,7 +158,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
console.warn(`${activeRoomId} is current in RVS but missing from client - clearing sticky room`);
|
console.warn(`${activeRoomId} is current in RVS but missing from client - clearing sticky room`);
|
||||||
await this.algorithm.setStickyRoom(null);
|
await this.algorithm.setStickyRoom(null);
|
||||||
} else if (activeRoom !== this.algorithm.stickyRoom) {
|
} else if (activeRoom !== this.algorithm.stickyRoom) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Changing sticky room to ${activeRoomId}`);
|
console.log(`Changing sticky room to ${activeRoomId}`);
|
||||||
}
|
}
|
||||||
|
@ -196,6 +200,14 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
|
|
||||||
if (payload.action === 'setting_updated') {
|
if (payload.action === 'setting_updated') {
|
||||||
if (this.watchedSettings.includes(payload.settingName)) {
|
if (this.watchedSettings.includes(payload.settingName)) {
|
||||||
|
// TODO: Remove with https://github.com/vector-im/riot-web/issues/14367
|
||||||
|
if (payload.settingName === "advancedRoomListLogging") {
|
||||||
|
// Log when the setting changes so we know when it was turned on in the rageshake
|
||||||
|
const enabled = SettingsStore.getValue("advancedRoomListLogging");
|
||||||
|
console.warn("Advanced room list logging is enabled? " + enabled);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
console.log("Regenerating room lists: Settings changed");
|
console.log("Regenerating room lists: Settings changed");
|
||||||
await this.readAndCacheSettingsFromStore();
|
await this.readAndCacheSettingsFromStore();
|
||||||
|
|
||||||
|
@ -218,7 +230,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
console.warn(`Own read receipt was in unknown room ${room.roomId}`);
|
console.warn(`Own read receipt was in unknown room ${room.roomId}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Got own read receipt in ${room.roomId}`);
|
console.log(`[RoomListDebug] Got own read receipt in ${room.roomId}`);
|
||||||
}
|
}
|
||||||
|
@ -228,7 +240,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
}
|
}
|
||||||
} else if (payload.action === 'MatrixActions.Room.tags') {
|
} else if (payload.action === 'MatrixActions.Room.tags') {
|
||||||
const roomPayload = (<any>payload); // TODO: Type out the dispatcher types
|
const roomPayload = (<any>payload); // TODO: Type out the dispatcher types
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Got tag change in ${roomPayload.room.roomId}`);
|
console.log(`[RoomListDebug] Got tag change in ${roomPayload.room.roomId}`);
|
||||||
}
|
}
|
||||||
|
@ -243,13 +255,13 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
const roomId = eventPayload.event.getRoomId();
|
const roomId = eventPayload.event.getRoomId();
|
||||||
const room = this.matrixClient.getRoom(roomId);
|
const room = this.matrixClient.getRoom(roomId);
|
||||||
const tryUpdate = async (updatedRoom: Room) => {
|
const tryUpdate = async (updatedRoom: Room) => {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Live timeline event ${eventPayload.event.getId()}` +
|
console.log(`[RoomListDebug] Live timeline event ${eventPayload.event.getId()}` +
|
||||||
` in ${updatedRoom.roomId}`);
|
` in ${updatedRoom.roomId}`);
|
||||||
}
|
}
|
||||||
if (eventPayload.event.getType() === 'm.room.tombstone' && eventPayload.event.getStateKey() === '') {
|
if (eventPayload.event.getType() === 'm.room.tombstone' && eventPayload.event.getStateKey() === '') {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Got tombstone event - trying to remove now-dead room`);
|
console.log(`[RoomListDebug] Got tombstone event - trying to remove now-dead room`);
|
||||||
}
|
}
|
||||||
|
@ -282,7 +294,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
console.warn(`Event ${eventPayload.event.getId()} was decrypted in an unknown room ${roomId}`);
|
console.warn(`Event ${eventPayload.event.getId()} was decrypted in an unknown room ${roomId}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Decrypted timeline event ${eventPayload.event.getId()} in ${roomId}`);
|
console.log(`[RoomListDebug] Decrypted timeline event ${eventPayload.event.getId()} in ${roomId}`);
|
||||||
}
|
}
|
||||||
|
@ -290,7 +302,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
this.updateFn.trigger();
|
this.updateFn.trigger();
|
||||||
} else if (payload.action === 'MatrixActions.accountData' && payload.event_type === 'm.direct') {
|
} else if (payload.action === 'MatrixActions.accountData' && payload.event_type === 'm.direct') {
|
||||||
const eventPayload = (<any>payload); // TODO: Type out the dispatcher types
|
const eventPayload = (<any>payload); // TODO: Type out the dispatcher types
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Received updated DM map`);
|
console.log(`[RoomListDebug] Received updated DM map`);
|
||||||
}
|
}
|
||||||
|
@ -317,7 +329,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
const oldMembership = getEffectiveMembership(membershipPayload.oldMembership);
|
const oldMembership = getEffectiveMembership(membershipPayload.oldMembership);
|
||||||
const newMembership = getEffectiveMembership(membershipPayload.membership);
|
const newMembership = getEffectiveMembership(membershipPayload.membership);
|
||||||
if (oldMembership !== EffectiveMembership.Join && newMembership === EffectiveMembership.Join) {
|
if (oldMembership !== EffectiveMembership.Join && newMembership === EffectiveMembership.Join) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Handling new room ${membershipPayload.room.roomId}`);
|
console.log(`[RoomListDebug] Handling new room ${membershipPayload.room.roomId}`);
|
||||||
}
|
}
|
||||||
|
@ -326,7 +338,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
// the dead room in the list.
|
// the dead room in the list.
|
||||||
const createEvent = membershipPayload.room.currentState.getStateEvents("m.room.create", "");
|
const createEvent = membershipPayload.room.currentState.getStateEvents("m.room.create", "");
|
||||||
if (createEvent && createEvent.getContent()['predecessor']) {
|
if (createEvent && createEvent.getContent()['predecessor']) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Room has a predecessor`);
|
console.log(`[RoomListDebug] Room has a predecessor`);
|
||||||
}
|
}
|
||||||
|
@ -334,7 +346,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
if (prevRoom) {
|
if (prevRoom) {
|
||||||
const isSticky = this.algorithm.stickyRoom === prevRoom;
|
const isSticky = this.algorithm.stickyRoom === prevRoom;
|
||||||
if (isSticky) {
|
if (isSticky) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Clearing sticky room due to room upgrade`);
|
console.log(`[RoomListDebug] Clearing sticky room due to room upgrade`);
|
||||||
}
|
}
|
||||||
|
@ -343,7 +355,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
|
|
||||||
// Note: we hit the algorithm instead of our handleRoomUpdate() function to
|
// Note: we hit the algorithm instead of our handleRoomUpdate() function to
|
||||||
// avoid redundant updates.
|
// avoid redundant updates.
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Removing previous room from room list`);
|
console.log(`[RoomListDebug] Removing previous room from room list`);
|
||||||
}
|
}
|
||||||
|
@ -351,7 +363,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Adding new room to room list`);
|
console.log(`[RoomListDebug] Adding new room to room list`);
|
||||||
}
|
}
|
||||||
|
@ -361,7 +373,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oldMembership !== EffectiveMembership.Invite && newMembership === EffectiveMembership.Invite) {
|
if (oldMembership !== EffectiveMembership.Invite && newMembership === EffectiveMembership.Invite) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Handling invite to ${membershipPayload.room.roomId}`);
|
console.log(`[RoomListDebug] Handling invite to ${membershipPayload.room.roomId}`);
|
||||||
}
|
}
|
||||||
|
@ -372,7 +384,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
|
|
||||||
// If it's not a join, it's transitioning into a different list (possibly historical)
|
// If it's not a join, it's transitioning into a different list (possibly historical)
|
||||||
if (oldMembership !== newMembership) {
|
if (oldMembership !== newMembership) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Handling membership change in ${membershipPayload.room.roomId}`);
|
console.log(`[RoomListDebug] Handling membership change in ${membershipPayload.room.roomId}`);
|
||||||
}
|
}
|
||||||
|
@ -386,7 +398,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
private async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<any> {
|
private async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<any> {
|
||||||
const shouldUpdate = await this.algorithm.handleRoomUpdate(room, cause);
|
const shouldUpdate = await this.algorithm.handleRoomUpdate(room, cause);
|
||||||
if (shouldUpdate) {
|
if (shouldUpdate) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[DEBUG] Room "${room.name}" (${room.roomId}) triggered by ${cause} requires list update`);
|
console.log(`[DEBUG] Room "${room.name}" (${room.roomId}) triggered by ${cause} requires list update`);
|
||||||
}
|
}
|
||||||
|
@ -509,7 +521,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private onAlgorithmListUpdated = () => {
|
private onAlgorithmListUpdated = () => {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log("Underlying algorithm has triggered a list update - marking");
|
console.log("Underlying algorithm has triggered a list update - marking");
|
||||||
}
|
}
|
||||||
|
@ -559,7 +571,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public addFilter(filter: IFilterCondition): void {
|
public addFilter(filter: IFilterCondition): void {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log("Adding filter condition:", filter);
|
console.log("Adding filter condition:", filter);
|
||||||
}
|
}
|
||||||
|
@ -571,7 +583,7 @@ export class RoomListStore2 extends AsyncStoreWithClient<ActionPayload> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public removeFilter(filter: IFilterCondition): void {
|
public removeFilter(filter: IFilterCondition): void {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log("Removing filter condition:", filter);
|
console.log("Removing filter condition:", filter);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ import { FILTER_CHANGED, FilterPriority, IFilterCondition } from "../filters/IFi
|
||||||
import { EffectiveMembership, getEffectiveMembership, splitRoomsByMembership } from "../../../utils/membership";
|
import { EffectiveMembership, getEffectiveMembership, splitRoomsByMembership } from "../../../utils/membership";
|
||||||
import { OrderingAlgorithm } from "./list-ordering/OrderingAlgorithm";
|
import { OrderingAlgorithm } from "./list-ordering/OrderingAlgorithm";
|
||||||
import { getListAlgorithmInstance } from "./list-ordering";
|
import { getListAlgorithmInstance } from "./list-ordering";
|
||||||
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fired when the Algorithm has determined a list has been updated.
|
* Fired when the Algorithm has determined a list has been updated.
|
||||||
|
@ -321,7 +322,7 @@ export class Algorithm extends EventEmitter {
|
||||||
}
|
}
|
||||||
newMap[tagId] = allowedRoomsInThisTag;
|
newMap[tagId] = allowedRoomsInThisTag;
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[DEBUG] ${newMap[tagId].length}/${rooms.length} rooms filtered into ${tagId}`);
|
console.log(`[DEBUG] ${newMap[tagId].length}/${rooms.length} rooms filtered into ${tagId}`);
|
||||||
}
|
}
|
||||||
|
@ -336,7 +337,7 @@ export class Algorithm extends EventEmitter {
|
||||||
protected recalculateFilteredRoomsForTag(tagId: TagID): void {
|
protected recalculateFilteredRoomsForTag(tagId: TagID): void {
|
||||||
if (!this.hasFilters) return; // don't bother doing work if there's nothing to do
|
if (!this.hasFilters) return; // don't bother doing work if there's nothing to do
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Recalculating filtered rooms for ${tagId}`);
|
console.log(`Recalculating filtered rooms for ${tagId}`);
|
||||||
}
|
}
|
||||||
|
@ -348,7 +349,7 @@ export class Algorithm extends EventEmitter {
|
||||||
this.filteredRooms[tagId] = filteredRooms;
|
this.filteredRooms[tagId] = filteredRooms;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[DEBUG] ${filteredRooms.length}/${rooms.length} rooms filtered into ${tagId}`);
|
console.log(`[DEBUG] ${filteredRooms.length}/${rooms.length} rooms filtered into ${tagId}`);
|
||||||
}
|
}
|
||||||
|
@ -390,7 +391,7 @@ export class Algorithm extends EventEmitter {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this._cachedStickyRooms || !updatedTag) {
|
if (!this._cachedStickyRooms || !updatedTag) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Generating clone of cached rooms for sticky room handling`);
|
console.log(`Generating clone of cached rooms for sticky room handling`);
|
||||||
}
|
}
|
||||||
|
@ -404,7 +405,7 @@ export class Algorithm extends EventEmitter {
|
||||||
if (updatedTag) {
|
if (updatedTag) {
|
||||||
// Update the tag indicated by the caller, if possible. This is mostly to ensure
|
// Update the tag indicated by the caller, if possible. This is mostly to ensure
|
||||||
// our cache is up to date.
|
// our cache is up to date.
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Replacing cached sticky rooms for ${updatedTag}`);
|
console.log(`Replacing cached sticky rooms for ${updatedTag}`);
|
||||||
}
|
}
|
||||||
|
@ -416,7 +417,7 @@ export class Algorithm extends EventEmitter {
|
||||||
// we might have updated from the cache is also our sticky room.
|
// we might have updated from the cache is also our sticky room.
|
||||||
const sticky = this._stickyRoom;
|
const sticky = this._stickyRoom;
|
||||||
if (!updatedTag || updatedTag === sticky.tag) {
|
if (!updatedTag || updatedTag === sticky.tag) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Inserting sticky room ${sticky.room.roomId} at position ${sticky.position} in ${sticky.tag}`);
|
console.log(`Inserting sticky room ${sticky.room.roomId} at position ${sticky.position} in ${sticky.tag}`);
|
||||||
}
|
}
|
||||||
|
@ -644,7 +645,7 @@ export class Algorithm extends EventEmitter {
|
||||||
* processing.
|
* processing.
|
||||||
*/
|
*/
|
||||||
public async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<boolean> {
|
public async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<boolean> {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Handle room update for ${room.roomId} called with cause ${cause}`);
|
console.log(`Handle room update for ${room.roomId} called with cause ${cause}`);
|
||||||
}
|
}
|
||||||
|
@ -704,7 +705,7 @@ export class Algorithm extends EventEmitter {
|
||||||
const diff = arrayDiff(oldTags, newTags);
|
const diff = arrayDiff(oldTags, newTags);
|
||||||
if (diff.removed.length > 0 || diff.added.length > 0) {
|
if (diff.removed.length > 0 || diff.added.length > 0) {
|
||||||
for (const rmTag of diff.removed) {
|
for (const rmTag of diff.removed) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Removing ${room.roomId} from ${rmTag}`);
|
console.log(`Removing ${room.roomId} from ${rmTag}`);
|
||||||
}
|
}
|
||||||
|
@ -714,7 +715,7 @@ export class Algorithm extends EventEmitter {
|
||||||
this.cachedRooms[rmTag] = algorithm.orderedRooms;
|
this.cachedRooms[rmTag] = algorithm.orderedRooms;
|
||||||
}
|
}
|
||||||
for (const addTag of diff.added) {
|
for (const addTag of diff.added) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Adding ${room.roomId} to ${addTag}`);
|
console.log(`Adding ${room.roomId} to ${addTag}`);
|
||||||
}
|
}
|
||||||
|
@ -727,14 +728,14 @@ export class Algorithm extends EventEmitter {
|
||||||
// Update the tag map so we don't regen it in a moment
|
// Update the tag map so we don't regen it in a moment
|
||||||
this.roomIdsToTags[room.roomId] = newTags;
|
this.roomIdsToTags[room.roomId] = newTags;
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Changing update cause for ${room.roomId} to Timeline to sort rooms`);
|
console.log(`Changing update cause for ${room.roomId} to Timeline to sort rooms`);
|
||||||
}
|
}
|
||||||
cause = RoomUpdateCause.Timeline;
|
cause = RoomUpdateCause.Timeline;
|
||||||
didTagChange = true;
|
didTagChange = true;
|
||||||
} else {
|
} else {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`Received no-op update for ${room.roomId} - changing to Timeline update`);
|
console.log(`Received no-op update for ${room.roomId} - changing to Timeline update`);
|
||||||
}
|
}
|
||||||
|
@ -763,7 +764,7 @@ export class Algorithm extends EventEmitter {
|
||||||
// as the sticky room relies on this.
|
// as the sticky room relies on this.
|
||||||
if (cause !== RoomUpdateCause.NewRoom && cause !== RoomUpdateCause.RoomRemoved) {
|
if (cause !== RoomUpdateCause.NewRoom && cause !== RoomUpdateCause.RoomRemoved) {
|
||||||
if (this.stickyRoom === room) {
|
if (this.stickyRoom === room) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.warn(`[RoomListDebug] Received ${cause} update for sticky room ${room.roomId} - ignoring`);
|
console.warn(`[RoomListDebug] Received ${cause} update for sticky room ${room.roomId} - ignoring`);
|
||||||
}
|
}
|
||||||
|
@ -773,14 +774,14 @@ export class Algorithm extends EventEmitter {
|
||||||
|
|
||||||
if (!this.roomIdsToTags[room.roomId]) {
|
if (!this.roomIdsToTags[room.roomId]) {
|
||||||
if (CAUSES_REQUIRING_ROOM.includes(cause)) {
|
if (CAUSES_REQUIRING_ROOM.includes(cause)) {
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.warn(`Skipping tag update for ${room.roomId} because we don't know about the room`);
|
console.warn(`Skipping tag update for ${room.roomId} because we don't know about the room`);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Updating tags for room ${room.roomId} (${room.name})`);
|
console.log(`[RoomListDebug] Updating tags for room ${room.roomId} (${room.name})`);
|
||||||
}
|
}
|
||||||
|
@ -794,13 +795,13 @@ export class Algorithm extends EventEmitter {
|
||||||
|
|
||||||
this.roomIdsToTags[room.roomId] = roomTags;
|
this.roomIdsToTags[room.roomId] = roomTags;
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Updated tags for ${room.roomId}:`, roomTags);
|
console.log(`[RoomListDebug] Updated tags for ${room.roomId}:`, roomTags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Reached algorithmic handling for ${room.roomId} and cause ${cause}`);
|
console.log(`[RoomListDebug] Reached algorithmic handling for ${room.roomId} and cause ${cause}`);
|
||||||
}
|
}
|
||||||
|
@ -825,7 +826,7 @@ export class Algorithm extends EventEmitter {
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.mx_LoudRoomListLogging) {
|
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||||
console.log(`[RoomListDebug] Finished handling ${room.roomId} with cause ${cause} (changed=${changed})`);
|
console.log(`[RoomListDebug] Finished handling ${room.roomId} with cause ${cause} (changed=${changed})`);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue