From cd62de1d38a712df528bddff2bbedf7d1303e872 Mon Sep 17 00:00:00 2001 From: Schalli Date: Wed, 16 Sep 2026 16:13:55 +0200 Subject: [PATCH] docs(18-01): Aktenstand + Fahrplan nach Plan 01 aktualisieren Co-Authored-By: Claude Opus 5 (1M context) --- .planning/ROADMAP.md | 4 ++-- .planning/STATE.md | 16 +++++++++------- .../18-01-SUMMARY.md | 4 ++++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index d085cb3..c0a866b 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -666,12 +666,12 @@ Plans (Wellenstruktur — streng nacheinander, alle drei fassen Schema, Controll 3. Der installierte Client zeigt nach Eingabe der Server-Adresse die Tessera-Anmeldung, laeuft mit Tray/Schliessen-ins-Tray/Autostart wie in Phase 6 und meldet eine neuere Client-Version mit Link zur Download-Seite 4. Anwender- und Betriebshandbuch beschreiben Installation, Erststart, Tray-Verhalten, Pipeline, Release-Dateien und Umgebungsvariablen -**Plans:** 6 plans +**Plans:** 1/6 plans executed Plans: **Wave 1** -- [ ] 18-01-PLAN.md — Tracer (Welle 1): Linux-Strecke lokal durchgehend — desktop-collect.sh (Manifest), API-Modul /desktop/latest + /desktop/download/:platform mit HTTP-Durchstich-Spec, Dockerfile COPY desktop-dist, Beweis im lokalen Docker-Stack; desktop-version.sh + Basislinie 1.1.0 +- [x] 18-01-PLAN.md — Tracer (Welle 1): Linux-Strecke lokal durchgehend — desktop-collect.sh (Manifest), API-Modul /desktop/latest + /desktop/download/:platform mit HTTP-Durchstich-Spec, Dockerfile COPY desktop-dist, Beweis im lokalen Docker-Stack; desktop-version.sh + Basislinie 1.1.0 **Wave 2** *(blocked on Wave 1 completion)* diff --git a/.planning/STATE.md b/.planning/STATE.md index 870134c..223f2b1 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.2 current_phase: 18 current_phase_name: desktop-client-fertigstellen status: verified -stopped_at: "2026-09-16: Version 1.1.0 freigegeben (Tag v1.1.0, live-Abbilder, Gitea-Release von der Pipeline); Beta = main; Mandantenfaehigkeit ruht; Schalter AUS" -last_updated: "2026-09-16T13:56:53.351Z" +stopped_at: Completed 18-01-PLAN.md +last_updated: "2026-09-16T14:13:35.293Z" last_activity: 2026-09-16 last_activity_desc: Quick 260910-jab — drei zu kurz greifende RLS-Regeln geschlossen (GroupMembership beide Seiten, ModuleGrant beide Ziele, TenderRssFeedSource Lese-/Schreibsplit), listForUser gebunden, Aktenstand kohaerent -state_head: 2eb3be8b74b61308a24e6ee4597cc228f5a13f37 +state_head: c721464af24998701df20299f4f799efdfcd309f progress: total_phases: 18 completed_phases: 15 total_plans: 89 - completed_plans: 82 + completed_plans: 83 milestone_name: Plattform-Berechtigungen --- @@ -123,6 +123,7 @@ Progress: [██████████] 100% | Phase quick-260911-nke P01 | 1 Sitzung | 3 tasks | 27 files | | Phase quick-260914-ebg P01 | 6min | 3 tasks | 4 files | | Phase quick-260914-eym P01 | 1 Sitzung | 3 tasks | 29 files | +| Phase 18 P01 | 13min | 2 tasks | 15 files | ## Accumulated Context @@ -307,6 +308,7 @@ Recent decisions affecting current work: - [Phase 17]: 260911-nke: forTenant(prisma, tenantId, userId?) — optionaler dritter Parameter statt Schwesterhelfer, IS-NULL-OR-Form in den Regeln der zehn persoenlichen Tabellen, sechs Loch-Pruefungen umgedreht - [Phase 17]: [quick-260914-ebg]: Zielrollen-Riegel als eigenstaendige Pruefung nach der Mandantengrenze in UserController.update()/remove() eingezogen (Vorlage AuthService.adminResetPassword, T-FH9-04) — WINDOWS #29 geschlossen - [Phase 17]: [quick-260914-eym]: forSystem(prisma) als Schwesterhelfer (eigene Detektor-Erkennungsform, Umkehrung der 3b-Begruendung); system_read_policy FOR SELECT auf fuenf Tabellen, SmtpConfig nicht (Mail-Startpfad entfernt, Transport je Versand nach Mandant); DKV-Planer Auftrag je Mandant (promote); Single-Flight-Riegel bleibt prozessweit -> WINDOWS #37 +- [Phase 18]: [18-01]: DesktopController braucht @Inject(DesktopService) explizit, da Vitest ueber esbuild ohne emitDecoratorMetadata transpiliert (sonst desktopService=undefined im echten NestFactory-HTTP-Durchstich). ### Pitfalls & Anti-Patterns @@ -459,8 +461,8 @@ sind. Kein Anlass, sie vorher erneut vorzulegen. ## Session Continuity -Last session: 2026-09-16T10:15:09.000Z +Last session: 2026-09-16T14:13:35.017Z Resumed: 2026-09-14 — Sitzung ueber /gsd-resume-work fortgesetzt; #29 und 3c als /gsd-quick --validate mit voller Kette durchgefuehrt. -Stopped at: **VERSION 1.1.0 FREIGEGEBEN — 2026-09-16.** CHANGELOG `Unveröffentlicht` -> `1.1.0 – 2026-09-16` (e0d4532), `live` per ff-merge auf e0d4532, Tag `v1.1.0` gepusht; CI (Beta, live-Pruefung, Tag) gruen; Registry traegt `live`/`v1.1.0` (Stempel `v1.1.0 live e0d4532`); **erster echter CI-Beweis des Release-Wegs: Gitea-Release "Tessera 1.1.0" von der Pipeline angelegt** (Body 2146 Zeichen). Der User spielt 1.1.0 auf tessera.ctl.de ein (pull + up -d --force-recreate api web). Inhalt: Dashboard-Umbau + Nachbesserung, Seite "Was ist neu", Uebersetzungs-Fix. Offen ohne Dringlichkeit: Desktop-Client-Todo, Ship Phase 17, Ledger #35/#36/#37. Mandantenfaehigkeit RUHT. Schalter AUS. Einstieg: `/gsd-resume-work`. -Resume file: .planning/HANDOFF.json + .planning/.continue-here.md (2026-09-16T10:28Z) +Stopped at: Completed 18-01-PLAN.md +Resume file: None Last activity: 2026-09-16 - Completed quick task 260916-k2z: Mehrfach-Kreise je Kalender am Tag; Browser-Pruefung + Push ausstehend diff --git a/.planning/phases/18-desktop-client-fertigstellen/18-01-SUMMARY.md b/.planning/phases/18-desktop-client-fertigstellen/18-01-SUMMARY.md index 54f9d5c..01214de 100644 --- a/.planning/phases/18-desktop-client-fertigstellen/18-01-SUMMARY.md +++ b/.planning/phases/18-desktop-client-fertigstellen/18-01-SUMMARY.md @@ -215,3 +215,7 @@ None - no external service configuration required. --- *Phase: 18-desktop-client-fertigstellen* *Completed: 2026-09-16* + +## Self-Check: PASSED + +All created files verified on disk (`.gitea/scripts/desktop-collect.sh`, `.gitea/scripts/desktop-version.sh`, `apps/api/src/desktop/{desktop.module.ts,desktop.controller.ts,desktop.service.ts,desktop.service.spec.ts}`, `desktop-dist/.gitkeep`). All three task/plan commits found in `git log` (`ae8fecb`, `614289a`, plus this SUMMARY's own commit). All plan-level `` items re-run and passing: `pnpm --filter @tessera/api exec vitest run src/desktop` (8/8 green), `pnpm --filter @tessera/api type-check` (clean), `desktop-dist/manifest.json` at `1.1.0`/`Tessera-1.1.0.AppImage` with matching SHA-256, local Docker stack serving `/desktop/latest` and `/desktop/download/linux` (also via `/api-proxy/`), both new scripts pass `sh -n`, `desktop-version.sh` rejects a pre-release tag.