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.
1.5 KiB
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.js—logToFile: truezuHOSTER_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.js—shouldLogHosterToFile(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.hosterSettingswird 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).