From 18ac7c668567e11e2a0c76dc7f194d7f41d508c4 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Tue, 2 Jan 2024 10:23:48 +0100 Subject: [PATCH] fix(tracker): rewrite logs to use tracker logger instead of plain console --- tracker/tracker-assist/src/Assist.ts | 4 ++-- tracker/tracker-assist/src/CallWindow.ts | 2 +- tracker/tracker-assist/src/Canvas.ts | 7 ++++--- tracker/tracker/src/main/app/canvas.ts | 10 ++++------ tracker/tracker/src/main/app/index.ts | 9 +++++---- .../tracker/src/main/app/observer/iframe_observer.ts | 2 +- .../src/main/app/observer/shadow_root_observer.ts | 2 +- tracker/tracker/src/webworker/index.ts | 8 ++++---- 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/tracker/tracker-assist/src/Assist.ts b/tracker/tracker-assist/src/Assist.ts index b095f004f..b72058015 100644 --- a/tracker/tracker-assist/src/Assist.ts +++ b/tracker/tracker-assist/src/Assist.ts @@ -535,7 +535,7 @@ export default class Assist { } if (!callUI) { - callUI = new CallWindow(console.log, this.options.callUITemplate) + callUI = new CallWindow(app.debug.error, this.options.callUITemplate) callUI.setVideoToggleCallback(updateVideoFeed) } callUI.showControls(initiateCallEnd) @@ -583,7 +583,6 @@ export default class Assist { sessionStorage.setItem(this.options.session_calling_peer_key, JSON.stringify(callingPeerIds)) this.emit('UPDATE_SESSION', { agentIds: callingPeerIds, isCallActive: true, }) }).catch(reason => { // in case of Confirm.remove() without user answer (not a error) - console.log(reason) app.debug.log(reason) }) }) @@ -615,6 +614,7 @@ export default class Assist { } }) }, + app.debug.error, ) this.canvasMap.set(id, canvasHandler) } diff --git a/tracker/tracker-assist/src/CallWindow.ts b/tracker/tracker-assist/src/CallWindow.ts index 74c6392b1..699ffeaff 100644 --- a/tracker/tracker-assist/src/CallWindow.ts +++ b/tracker/tracker-assist/src/CallWindow.ts @@ -42,7 +42,7 @@ export default class CallWindow { const doc = iframe.contentDocument if (!doc) { - console.error('OpenReplay: CallWindow iframe document is not reachable.') + app.debug.error('OpenReplay: CallWindow iframe document is not reachable.') return } diff --git a/tracker/tracker-assist/src/Canvas.ts b/tracker/tracker-assist/src/Canvas.ts index 2faba0a09..068ecaa26 100644 --- a/tracker/tracker-assist/src/Canvas.ts +++ b/tracker/tracker-assist/src/Canvas.ts @@ -6,7 +6,8 @@ export default class CanvasRecorder { private readonly canvas: HTMLCanvasElement, private readonly canvasId: number, private readonly fps: number, - private readonly onStream: (stream: MediaStream) => void + private readonly onStream: (stream: MediaStream) => void, + private readonly logError: (...args: any[]) => void, ) { this.canvas.getContext('2d', { alpha: true, }) const stream = this.canvas.captureStream(this.fps) @@ -39,7 +40,7 @@ export default class CanvasRecorder { void video.play() video.addEventListener('error', (e) => { - console.error('Video error:', e) + this.logError('Video error:', e) }) } @@ -50,7 +51,7 @@ export default class CanvasRecorder { if (this.stream) { this.onStream(this.stream) } else { - console.error('no stream for canvas', this.canvasId) + this.logError('no stream for canvas', this.canvasId) } } diff --git a/tracker/tracker/src/main/app/canvas.ts b/tracker/tracker/src/main/app/canvas.ts index 3163ea097..0ea6aa49c 100644 --- a/tracker/tracker/src/main/app/canvas.ts +++ b/tracker/tracker/src/main/app/canvas.ts @@ -41,7 +41,7 @@ class CanvasRecorder { const cid = this.app.nodes.getID(node) const canvas = cid ? this.app.nodes.getNode(cid) : undefined if (!canvas || !hasTag(canvas, 'canvas') || canvas !== node) { - console.log('Canvas element not in sync') + this.app.debug.log('Canvas element not in sync') clearInterval(int) } else { const snapshot = captureSnapshot(canvas, this.options.quality) @@ -58,7 +58,6 @@ class CanvasRecorder { sendSnaps(images: { data: string; id: number }[], canvasId: number, createdAt: number) { if (Object.keys(this.snapshots).length === 0) { - console.log(this.snapshots) return } const formData = new FormData() @@ -75,16 +74,15 @@ class CanvasRecorder { }, body: formData, }) - .then((r) => { - console.log('done', r) + .then(() => { + return true }) .catch((e) => { - console.error('error saving canvas', e) + this.app.debug.error('error saving canvas', e) }) } clear() { - console.log('cleaning up') this.intervals.forEach((int) => clearInterval(int)) this.snapshots = {} } diff --git a/tracker/tracker/src/main/app/index.ts b/tracker/tracker/src/main/app/index.ts index fc4b47205..8565b2696 100644 --- a/tracker/tracker/src/main/app/index.ts +++ b/tracker/tracker/src/main/app/index.ts @@ -236,9 +236,10 @@ export default class App { this.stop(false) void this.start({}, true) } else if (data === 'not_init') { - console.warn('WebWorker: writer not initialised. Restarting tracker') + this.debug.warn('OR WebWorker: writer not initialised. Restarting tracker') } else if (data.type === 'failure') { this.stop(false) + this.debug.error('worker_failed', data.reason) this._debug('worker_failed', data.reason) } else if (data.type === 'compress') { const batch = data.batch @@ -246,7 +247,7 @@ export default class App { if (batchSize > this.compressionThreshold) { gzip(data.batch, { mtime: 0 }, (err, result) => { if (err) { - console.error('Openreplay compression error:', err) + this.debug.error('Openreplay compression error:', err) this.stop(false) if (this.restartAttempts < 3) { this.restartAttempts += 1 @@ -595,7 +596,7 @@ export default class App { const sessionToken = this.session.getSessionToken() const isNewSession = needNewSessionID || !sessionToken - console.log( + this.debug.log( 'OpenReplay: starting session; need new session id?', needNewSessionID, 'session token: ', @@ -682,7 +683,7 @@ export default class App { projectID, }) if (!isNewSession && token === sessionToken) { - console.log('continuing session on new tab', this.session.getTabId()) + this.debug.log('continuing session on new tab', this.session.getTabId()) // eslint-disable-next-line @typescript-eslint/no-unsafe-argument this.send(TabChange(this.session.getTabId())) } diff --git a/tracker/tracker/src/main/app/observer/iframe_observer.ts b/tracker/tracker/src/main/app/observer/iframe_observer.ts index 05df1fe54..2b73fa0f6 100644 --- a/tracker/tracker/src/main/app/observer/iframe_observer.ts +++ b/tracker/tracker/src/main/app/observer/iframe_observer.ts @@ -12,7 +12,7 @@ export default class IFrameObserver extends Observer { this.observeRoot(doc, (docID) => { //MBTODO: do not send if empty (send on load? it might be in-place iframe, like our replayer, which does not get loaded) if (docID === undefined) { - console.log('OpenReplay: Iframe document not bound') + this.app.debug.log('OpenReplay: Iframe document not bound') return } this.app.send(CreateIFrameDocument(hostID, docID)) diff --git a/tracker/tracker/src/main/app/observer/shadow_root_observer.ts b/tracker/tracker/src/main/app/observer/shadow_root_observer.ts index 36dcb3215..652b44416 100644 --- a/tracker/tracker/src/main/app/observer/shadow_root_observer.ts +++ b/tracker/tracker/src/main/app/observer/shadow_root_observer.ts @@ -10,7 +10,7 @@ export default class ShadowRootObserver extends Observer { } // log this.observeRoot(shRoot, (rootID) => { if (rootID === undefined) { - console.log('OpenReplay: Shadow Root was not bound') + this.app.debug.error('OpenReplay: Shadow Root was not bound') return } this.app.send(CreateIFrameDocument(hostID, rootID)) diff --git a/tracker/tracker/src/webworker/index.ts b/tracker/tracker/src/webworker/index.ts index 7e4d09352..d70ccde48 100644 --- a/tracker/tracker/src/webworker/index.ts +++ b/tracker/tracker/src/webworker/index.ts @@ -115,7 +115,7 @@ self.onmessage = ({ data }: { data: ToWorkerData }): any => { if (data.type === 'compressed') { if (!sender) { - console.debug('WebWorker: sender not initialised. Compressed batch.') + console.debug('OR WebWorker: sender not initialised. Compressed batch.') initiateRestart() return } @@ -123,7 +123,7 @@ self.onmessage = ({ data }: { data: ToWorkerData }): any => { } if (data.type === 'uncompressed') { if (!sender) { - console.debug('WebWorker: sender not initialised. Uncompressed batch.') + console.debug('OR WebWorker: sender not initialised. Uncompressed batch.') initiateRestart() return } @@ -163,13 +163,13 @@ self.onmessage = ({ data }: { data: ToWorkerData }): any => { if (data.type === 'auth') { if (!sender) { - console.debug('WebWorker: sender not initialised. Received auth.') + console.debug('OR WebWorker: sender not initialised. Received auth.') initiateRestart() return } if (!writer) { - console.debug('WebWorker: writer not initialised. Received auth.') + console.debug('OR WebWorker: writer not initialised. Received auth.') initiateRestart() return }