diff --git a/tracker/tracker/src/main/app/sanitizer.ts b/tracker/tracker/src/main/app/sanitizer.ts index b72dae7d8..1d037a51b 100644 --- a/tracker/tracker/src/main/app/sanitizer.ts +++ b/tracker/tracker/src/main/app/sanitizer.ts @@ -41,7 +41,7 @@ export interface Options { export const stringWiper = (input: string) => input .trim() - .replace(/[^\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/g, '*') + .replace(/[^\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff\s]/g, '*') export default class Sanitizer { private readonly obscured: Set = new Set() diff --git a/tracker/tracker/src/main/modules/viewport.ts b/tracker/tracker/src/main/modules/viewport.ts index a17332855..b43306aa1 100644 --- a/tracker/tracker/src/main/modules/viewport.ts +++ b/tracker/tracker/src/main/modules/viewport.ts @@ -1,6 +1,7 @@ import type App from '../app/index.js' import { getTimeOrigin } from '../utils.js' import { SetPageLocation, SetViewportSize, SetPageVisibility } from '../app/messages.gen.js' +import { stringWiper } from '../app/sanitizer.js' export default function (app: App): void { let url: string | null, width: number, height: number @@ -11,7 +12,10 @@ export default function (app: App): void { const { URL } = document if (URL !== url) { url = URL - app.send(SetPageLocation(url, referrer, navigationStart, document.title)) + const safeTitle = app.sanitizer.privateMode ? stringWiper(document.title) : document.title + const safeUrl = app.sanitizer.privateMode ? stringWiper(url) : url + const safeReferrer = app.sanitizer.privateMode ? stringWiper(referrer) : referrer + app.send(SetPageLocation(safeUrl, safeReferrer, navigationStart, safeTitle)) navigationStart = 0 referrer = url }