NAV-01: mail_postfach-Registry-Eintrag + Modul-Navigation ergaenzt
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s

web/mail-postfach (UX-01/UX-02 Postfach-/Ordneransicht mit Thread) hatte
bisher gar keinen MODULE_REGISTRY-Eintrag und keine ModuleNavShell-Einbindung
-- einzige der 4 "Doppel-Apps" (ai/mail/workflow/connect haben je zwei
unabhaengige Apps, aber nur eine mit Registry-Slot), bei der das
zugrunde liegende Recht bereits real UND durchgesetzt ist
(mail.message.read, mail/internal/mailapi/mailapi.go:120-121).

ai-search-chat/workflow-tasks/connect-setup bewusst NICHT ergaenzt:
deren Backends haben aktuell ueberhaupt keine RBAC-Pruefung (kein
requirePermission-Aufruf), ein Registry-Eintrag wuerde eine Berechtigung
vortaeuschen, die serverseitig nicht durchgesetzt wird. Eigenes Ticket noetig.

npx vitest run: web/shl (61/61), web/portal (15/15), web/mail-postfach
(82/82) gruen, next build sauber, auf Testhost 131 verifiziert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
patrickandClaude Sonnet 5 committed 2026-10-19 13:40:59 +02:00
1 parent 78ab9a1300
commit b83f5c327a
2 files changed
+9 -3

No files matched your search

+5 -3
View File
@@ -1,5 +1,5 @@
import Script from "next/script";
import { ThemeProvider, I18nProvider, ToastProvider, typography, themeInitScript, focusVisibleStyles } from "@nexarch/shl";
import { ThemeProvider, I18nProvider, ToastProvider, ModuleNavShell, typography, themeInitScript, focusVisibleStyles } from "@nexarch/shl";
import "../lib/messages";
import { ThemeToggle } from "../components/ThemeToggle";
import "./responsive.css";
@@ -34,8 +34,10 @@ export default function RootLayout({
<ThemeProvider>
<I18nProvider initialLocale={locale}>
<ToastProvider>
<ThemeToggle />
{children}
<ModuleNavShell activeKey="mail_postfach">
<ThemeToggle />
{children}
</ModuleNavShell>
</ToastProvider>
</I18nProvider>
</ThemeProvider>
+4
View File
@@ -38,6 +38,10 @@ export const MODULE_REGISTRY: ModuleRegistryEntry[] = [
key: "mail", label: "Postfach", href: "http://localhost:3102",
description: "E-Mails durchsuchen und verwalten.", permission: "mail.message.read",
},
{
key: "mail_postfach", label: "Postfach (Ordneransicht)", href: "http://localhost:3114",
description: "Postfach- und Ordneransicht mit Thread-Darstellung (UX-01/UX-02).", permission: "mail.message.read",
},
{
key: "workflow", label: "Aufgaben & Freigaben", href: "http://localhost:3103",
description: "Freigaben bearbeiten, Akten einsehen, Aufgaben verwalten.", permission: "workflow.approval.read",