Source-reviewed hardening changes and regression tests. UNBUILT / UNTESTED: not a deployable release. Go formatting, compilation, automated regression tests, full frontend validation and staging acceptance remain required. See docs/hardening/VALIDATION.md. Main remains the original clean snapshot; no upstream Git history imported.
10 lines
299 B
TypeScript
10 lines
299 B
TypeScript
/** Never include WebSocket query parameters, userinfo, or arbitrary close reasons in logs. */
|
|
export function realtimeLogContext(url: string) {
|
|
try {
|
|
const parsed = new URL(url)
|
|
return { origin: parsed.origin, path: parsed.pathname }
|
|
} catch {
|
|
return { origin: "", path: "" }
|
|
}
|
|
}
|