refactor(logging): route frontend console calls through the logger

TRACES: | DR-204

484 ungated `console.*` calls across 63 non-test frontend files shipped to
end users with no way to turn them off. Mechanical substitution, no control
flow, error handling or message semantics changed:

  console.log / console.debug -> log.debug
  console.info                -> log.info
  console.warn                -> log.warn
  console.error               -> log.error

Hand-written `"[Scope] …"` prefixes are dropped where the logger's scope
now carries them; scope names that already existed are preserved verbatim
(`[Auth]`, `[VideoPlayer]`, `[PiP]`, …) and inferred from the filename
where a file had none. `src/routes/player/[id]/+page.svelte` keeps its
`NextEpisode` and `AutoPlay` sub-scopes as separate loggers rather than
flattening them into the page scope.

`grep -rn 'console\.' src/` now matches nothing outside the tests and the
facade itself.
This commit is contained in:
2026-08-20 19:29:59 +02:00
parent 4c82a0a025
commit d54d8cc7c4
63 changed files with 686 additions and 490 deletions
+7 -3
View File
@@ -18,6 +18,10 @@
* Unsupported (no-op) on every non-Android platform.
*/
import { createLogger } from "$lib/utils/logger";
const log = createLogger("BgAudio");
interface AndroidBackgroundAudioBridge {
setEnabled(enabled: boolean): void;
}
@@ -44,15 +48,15 @@ export function setBackgroundAudioEnabled(enabled: boolean): boolean {
// before/without the bridge existing. Silently no-oping here leaves the UI
// showing "armed" while native never learns — and the handoff then never
// fires on lock. Report it so callers can retry.
console.warn("[BgAudio] setEnabled: bridge missing, native NOT armed");
log.warn("setEnabled: bridge missing, native NOT armed");
return false;
}
try {
b.setEnabled(enabled);
console.log("[BgAudio] setEnabled ->", enabled);
log.debug("setEnabled ->", enabled);
return true;
} catch (err) {
console.warn("[BgAudio] Failed to set enabled:", err);
log.warn("Failed to set enabled:", err);
return false;
}
}