dorfteich/apps/web/src
Claude Fable 5 394d1c811d
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 4m52s
CI / Build container images (pull_request) Successful in 3m54s
CI / Auth e2e pack (pull_request) Successful in 8m4s
CI / Import/export fidelity gate (pull_request) Successful in 56s
CD / Build and push images (push) Successful in 19s
CD / Deploy to Test (push) Successful in 13s
CD / Smoke tests against Test (push) Successful in 1m14s
CD / Promote to Int (push) Successful in 11s
CI / Lint, typecheck, test (push) Successful in 5m0s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 7m41s
CI / Import/export fidelity gate (push) Successful in 56s
#192: deploy-level backup target allowlist
BACKUP_ALLOWED_TARGETS (comma-separated destination hosts) constrains
where backups may go, enforced twice: the api rejects settings writes
and connection tests towards non-allowlisted hosts with admin-visible
error codes and resolves a non-allowlisted configured target to null,
and the sidecar enforces the same policy at the point of egress for the
WebDAV upload and the rsync mirror alike (shared policy helpers in
packages/shared/src/backup-target-policy.ts).

BREAKING: the empty default disables every remote target - backups stay
local only, the VS-NfD reference configuration (ADR 0026). Existing
deployments with a remote target must list its host or uploads and
mirror stop. The admin UI distinguishes unavailable-by-policy from
unconfigured (i18n de+en) and shows the permitted hosts.

Refs #192 (ADR 0026)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0168Ph5uBmHm8X28CSVpbpnJ
2026-07-30 12:17:14 +02:00
..
access Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
api-tokens #168: Formulare — Fehler-Verdrahtung und Namenslücken 2026-07-21 14:26:54 +02:00
auth Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
comments #133 Kommentare fest inline im Lesemodus (Slide-in-Panel ablösen) 2026-07-19 01:22:22 +02:00
components #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
editor #169: Nicht-Text-Inhalte — Task-Checkboxen, Wissensgraph 2026-07-21 14:35:16 +02:00
export Move page actions into the TopBar as self-hosted icon buttons (#101) 2026-07-12 04:39:42 +02:00
favorites Favorites: personal page stars, golden icons, sidebar filter (#132) 2026-07-16 12:03:55 +02:00
files Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
fonts Add per-pond fonts: catalog, build, application, and admin UI (#66) 2026-07-10 11:16:29 +02:00
graph #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
i18n #163: Dokumentsprache und Seitentitel der SPA 2026-07-21 13:52:59 +02:00
import #162: Fokus-Management für Dialoge und Such-Palette 2026-07-21 13:52:59 +02:00
labels Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
layout #182: top-bar theme toggle — cycle light/dark/system without a menu 2026-07-29 08:43:42 +02:00
lib #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
links Offer creating the page on the not-found screen (#115) 2026-07-14 16:45:27 +02:00
members Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
notifications Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
offline Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
pages #192: deploy-level backup target allowlist 2026-07-30 12:17:14 +02:00
plugins draw.io reference plugin: fullscreen editing, inline SVG rendering 2026-07-12 14:15:30 +02:00
ponds Pond lifecycle in the UI: create shared ponds, delete from settings 2026-07-12 19:15:34 +02:00
search #164: ARIA-Semantik — Editorfläche, Autocomplete-Listboxen, Sidebar, Toolbar 2026-07-21 14:04:36 +02:00
setup Add the first-run setup wizard UI (#81) 2026-07-11 16:05:01 +02:00
styles #184: user accent theming — presets and free color as one mechanism 2026-07-29 08:59:27 +02:00
theme #186: pond accent theming — scoped derivation, cascade pond > user > default 2026-07-29 09:09:36 +02:00
watches Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
App.tsx Pond knowledge graph view (#112) 2026-07-14 10:59:07 +02:00
main.tsx #184: user accent theming — presets and free color as one mechanism 2026-07-29 08:59:27 +02:00