Multi-Hoster-Upload/tasks/todo.md
Administrator 57f8f0876e feat(log): per-hoster toggle for writing links to fileuploader.log
New per-hoster setting "Links in Log schreiben" (logToFile, default
on). When unchecked for a hoster, that hoster's successful upload
links are no longer written to fileuploader.log — other hosters keep
logging independently.

- lib/config-store.js: logToFile: true added to HOSTER_SETTINGS_DEFAULTS;
  merge-on-load gives every hoster the key (old configs included).
- renderer/app.js: checkbox per hoster panel + collection loop now
  handles type=checkbox (boolean) alongside the numeric fields. The
  autosave bind already special-cased checkboxes (change event).
- lib/log-policy.js (new): hosterLogToFileEnabled() — pure, opt-out
  semantics. Only an explicit logToFile===false disables; missing/
  malformed/non-true values all default ON so links are never
  silently dropped.
- main.js: shouldLogHosterToFile() reads the LIVE uploadManager
  .hosterSettings (so a mid-batch toggle takes effect at once), falls
  back to persisted config, then to enabled. Guards appendUploadLog
  in the done handler; skipped writes get a debugLog line.

Tests: 8 log-policy (defaults, opt-out, per-hoster independence,
malformed input) + 2 config-store (default true, persisted false
survives reload). 147/147 green, eslint clean.
2026-05-23 15:29:25 +02:00

1.5 KiB

Feature: Per-Hoster Toggle "Links in fileuploader.log schreiben"

Goal

Pro Hoster ein-/ausschaltbar machen ob dessen erfolgreiche Upload-Links in die fileuploader.log geschrieben werden.

Plan

  • lib/config-store.jslogToFile: true zu HOSTER_SETTINGS_DEFAULTS (default an).
  • renderer/app.js renderSettings — Checkbox "Links in Log schreiben" pro Hoster-Panel (data-hs="logToFile", type=checkbox).
  • renderer/app.js saveSettings — collection-loop erweitert: checkbox → boolean.
  • lib/log-policy.js (neu, testbar) — hosterLogToFileEnabled(hosterSettings, hoster), opt-out semantics.
  • main.jsshouldLogHosterToFile(hoster) liest live uploadManager.hosterSettings, fallback configStore, dann default true. Guard vor appendUploadLog im done-handler.
  • Tests: 8 log-policy + 2 config-store (default true, persist false). 147/147 grün.
  • ESLint clean. Backup-Import robust (default-true bei fehlendem key).

Verifikation

  • logToFile default true → bestehendes Verhalten unverändert für alle die's nicht togglen.
  • Toggle off für Hoster X → uploads von X werden NICHT geloggt, andere Hoster weiter schon.
  • Live-Wirkung: uploadManager.hosterSettings wird via updateSettings aktualisiert → greift auch mid-batch nach save.

Seiteneffekte zu prüfen

  • Backup-Import/Export: hosterSettings inkl. logToFile mitnehmen (sollte automatisch da generisches Objekt).
  • Settings-autosave (checkbox change-event ist bereits gehandhabt in der bind-loop).