--- context: default phase: quick-auftraege-1.5.x (keine GSD-Phase) task: 4 total_tasks: 4 status: in_progress last_updated: 2026-09-28T21:22:36.713Z --- # BLOCKING CONSTRAINTS — Read Before Anything Else - [ ] CONSTRAINT: "Eigene Module" NICHT pushen — User hat ausdruecklich "pushe aber noch nicht" gesagt. Nur lokal committen. - [ ] CONSTRAINT: Browser-Pruefungen im Dunkelmodus (Theme-Knopf der Kopfzeile, nicht classList). **Do not proceed until all boxes are checked.** ## Critical Anti-Patterns | Pattern | Description | Severity | Prevention Mechanism | |---------|-------------|----------|---------------------| | Alpha ohne Neuerstellung | `pull` allein startet die Container nicht neu; alpha nutzt `docker-compose.prod.yml` | advisory | User den Befehl mit `-f docker-compose.prod.yml ... up -d --force-recreate web api` geben; Version per `ssh root@192.168.13.12 curl localhost:3001/health/version` pruefen | | Playwright-Klick direkt nach Laden | erster Klick auf den Stift in der Kopfzeile griff nicht (Hydration) | advisory | nach dem Laden kurz warten bzw. Klick wiederholen und per Zustand pruefen | Drei Freigaben heute: v1.5.0 (Design Mosaik + Hintergrund in DB), v1.5.1 (Dashboard-Aktionen in der App-Leiste), v1.5.2 (Widget-Titel ausblendbar, Seitenleiste gegliedert). main = live = 12eea33, Arbeitsbaum sauber. Beim Pausieren liefen CI 434-439 (1.5.1 + 1.5.2), noch nicht bestaetigt. Naechster Auftrag "Eigene Module" noch nicht begonnen (Planner vor dem Schreiben gestoppt). - 260928-ujj: Design Mosaik gemergt (9fa0a3f), User.dashboardBackground + PATCH /users/me/dashboard-background, CHANGELOG/Doku, v1.5.0 (03026d6), CI 431-433 gruen, Live bestaetigt v1.5.0 - v1.5.1 (bdaa3c8): HEADER_ACTIONS_SLOT_ID, Dashboard-Aktionen per Portal in die Kopfzeile, .btn-appbar - v1.5.2 (12eea33): hideTitle je Widget (Schalter neben Griff, setWidgetConfig im Store, CSS data-hide-title), Seitenleiste Kategorien text-sm/h-8, Module 13px/h-8; web 955 Tests gruen - CI 434-439 pruefen, User melden -> alpha/live ziehen - Eigene Module (quick 260928-wg3, nicht pushen): Admin-Verwaltung (Name, https-URL, Kategorie), Prisma-Modell CustomModule + Migration mit RLS (Muster DashboardImage/ProxmoxServer, RLS-Inventartest + docs/mandantentrennung-zugriffsklassifikation.md), GET fuer alle, POST/PATCH/DELETE Admin, Seitenleisten-Eintrag unter Kategorie, Seite /modules/custom/[id] mit Vollbild-iframe wie XFrame + "In neuem Tab oeffnen", de/en-Texte, CHANGELOG "Unveröffentlicht" -> Neu, Tests, Dunkelmodus-Browserpruefung - Offene Frage an User: Klon ~/projects/tessera-design und Stack Port 3100 aufraeumen? - Eigene Module sichtbar fuer alle; Gruppenbeschraenkung nur bei geringem Aufwand - hideTitle nur in der Ansicht wirksam - Seitenleisten-Aenderung ungefragt in 1.5.2 mitgenommen (klein) CI-Status holen (Gitea-API localhost:3002, Token aus pushurl, nie ausgeben), dann /gsd-quick "Eigene Module ..." starten.