From 3cc396f42c25f3c1c2f69cf66612c39b1c4b8e56 Mon Sep 17 00:00:00 2001 From: "Timo K." Date: Tue, 7 Jul 2026 19:05:10 +0200 Subject: [PATCH] fix getChild before rageshake setup --- sdk/helper.ts | 2 +- sdk/main.ts | 4 +++- src/e2ee/matrixKeyProvider.ts | 10 +++++----- src/livekit/MatrixAudioRenderer.tsx | 2 +- src/settings/rageshake.ts | 5 +++-- src/state/CallViewModel/CallViewModel.ts | 3 ++- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/sdk/helper.ts b/sdk/helper.ts index 47de4a939..c3f0c13c2 100644 --- a/sdk/helper.ts +++ b/sdk/helper.ts @@ -15,9 +15,9 @@ import { scan } from "rxjs"; import { type WidgetHelpers } from "../src/widget"; import { type LivekitRoomItem } from "../src/state/CallViewModel/CallViewModel"; -export const logger = rootLogger.getChild("[MatrixRTCSdk]"); export const tryMakeSticky = (widget: WidgetHelpers): void => { + const logger = rootLogger.getChild("[MatrixRTCSdk]"); logger.info("try making sticky MatrixRTCSdk"); void widget.api .setAlwaysOnScreen(true) diff --git a/sdk/main.ts b/sdk/main.ts index b94a7eb51..6e558fc94 100644 --- a/sdk/main.ts +++ b/sdk/main.ts @@ -52,7 +52,8 @@ import { getUrlParams } from "../src/UrlParams"; import { MuteStates } from "../src/state/MuteStates"; import { MediaDevices } from "../src/state/MediaDevices"; import { E2eeType } from "../src/e2ee/e2eeType"; -import { currentAndPrev, logger, TEXT_LK_TOPIC, tryMakeSticky } from "./helper"; +import { currentAndPrev, TEXT_LK_TOPIC, tryMakeSticky } from "./helper"; +import {logger as rootLogger} from "matrix-js-sdk/lib/logger" import { ElementWidgetActions, widget as _widget, @@ -104,6 +105,7 @@ export async function createMatrixRTCSdk( id: string = "", sticky: boolean = false, ): Promise { + const logger = rootLogger.getChild("[MatrixRTCSdk]"); const scope = new ObservableScope(); // widget client diff --git a/src/e2ee/matrixKeyProvider.ts b/src/e2ee/matrixKeyProvider.ts index 63a96755f..f1a66a28a 100644 --- a/src/e2ee/matrixKeyProvider.ts +++ b/src/e2ee/matrixKeyProvider.ts @@ -10,15 +10,15 @@ import { type MatrixRTCSession, MatrixRTCSessionEvent, } from "matrix-js-sdk/lib/matrixrtc"; -import { logger as rootLogger } from "matrix-js-sdk/lib/logger"; +import { logger as rootLogger, type Logger } from "matrix-js-sdk/lib/logger"; import { type CallMembershipIdentityParts } from "matrix-js-sdk/lib/matrixrtc/EncryptionManager"; -const logger = rootLogger.getChild("[MatrixKeyProvider]"); export class MatrixKeyProvider extends BaseKeyProvider { private rtcSession?: MatrixRTCSession; - + private logger: Logger; public constructor() { super({ ratchetWindowSize: 10, keyringSize: 256 }); + this.logger = rootLogger.getChild("[MatrixKeyProvider]"); } public setRTCSession(rtcSession: MatrixRTCSession): void { @@ -60,12 +60,12 @@ export class MatrixKeyProvider extends BaseKeyProvider { encryptionKeyIndex, ); - logger.debug( + this.logger.debug( `Sent new key to livekit room=${this.rtcSession?.room.roomId} participantId=${rtcBackendIdentity} (before hash: ${membershipParts.userId}:${membershipParts.deviceId}) encryptionKeyIndex=${encryptionKeyIndex}`, ); }, (e) => { - logger.error( + this.logger.error( `Failed to create key material from buffer for livekit room=${this.rtcSession?.room.roomId} participantId before hash=${membershipParts.userId}:${membershipParts.deviceId} encryptionKeyIndex=${encryptionKeyIndex}`, e, ); diff --git a/src/livekit/MatrixAudioRenderer.tsx b/src/livekit/MatrixAudioRenderer.tsx index 10579c1b9..316294dac 100644 --- a/src/livekit/MatrixAudioRenderer.tsx +++ b/src/livekit/MatrixAudioRenderer.tsx @@ -40,7 +40,6 @@ export interface MatrixAudioRendererProps { muted?: boolean; } -const prefixedLogger = logger.getChild("[MatrixAudioRenderer]"); /** * Takes care of handling remote participants’ audio tracks and makes sure that microphones and screen share are audible. * @@ -60,6 +59,7 @@ export function LivekitRoomAudioRenderer({ validIdentities, muted, }: MatrixAudioRendererProps): ReactNode { + const prefixedLogger = logger.getChild("[MatrixAudioRenderer]"); const tracks = useTracks( [ Track.Source.Microphone, diff --git a/src/settings/rageshake.ts b/src/settings/rageshake.ts index bf534671d..b9ecbff50 100644 --- a/src/settings/rageshake.ts +++ b/src/settings/rageshake.ts @@ -467,7 +467,7 @@ declare global { // eslint-disable-next-line no-var, camelcase var mx_rage_initStoragePromise: Promise | undefined; } - +export let rageshakeLogger: Logger; /** * Configure rage shaking support for sending bug reports. * Modifies globals. @@ -477,7 +477,8 @@ export async function init(): Promise { global.mx_rage_logger = new ConsoleLogger(); // configure loglevel based loggers: - setLogExtension(logger, global.mx_rage_logger.log); + rageshakeLogger = logger; + setLogExtension(rageshakeLogger, global.mx_rage_logger.log); // intercept console logging so that we can get matrix_sdk logs: // this is nasty, but no logging hooks are provided diff --git a/src/state/CallViewModel/CallViewModel.ts b/src/state/CallViewModel/CallViewModel.ts index 27676cb50..f992d542b 100644 --- a/src/state/CallViewModel/CallViewModel.ts +++ b/src/state/CallViewModel/CallViewModel.ts @@ -157,7 +157,7 @@ import { } from "../media/RingingMediaViewModel.ts"; import { type GridTileViewModel } from "../TileViewModel.ts"; -const logger = rootLogger.getChild("[CallViewModel]"); + //TODO // Larger rename // member,membership -> rtcMember @@ -411,6 +411,7 @@ export function createCallViewModel$( reactionsSubject$: Observable>, trackProcessorState$: Behavior, ): CallViewModel { + const logger = rootLogger.getChild("[CallViewModel]"); const client = matrixRoom.client; const userId = client.getUserId(); const deviceId = client.getDeviceId();