UI fuer Event-Outbox (Modul 9/16 UI-Backlog) #379

Closed
opened 2026-09-13 22:21:55 +00:00 by Leopoldadmin · 0 comments
Owner

UI-Backlog Modul 9: Outbox

Backend: /api/v1/outbox (7 Ops, alle require_admin): stats, failed (paginiert), replay/{id}, replay-all, consumer-registry, recover-stuck, cleanup-published.

Frontend (Commit 31154b9):

  • api/outbox.ts — 7 TanStack-Hooks (3 Queries mit enabled-Flag, 4 Mutations mit Cache-Invalidierung)
  • pages/Outbox.tsx — Stats-Karten (5 Status + Total), DLQ mit Replay einzeln/alle, Pagination, Wartung (recover-stuck mit Timeout-Input, cleanup-published mit Retention-Input, Modals), Consumer-Registry, Admin-Gate (is_system_admin, Queries disabled für Nicht-Admins)
  • Core-Registrierung: statische Route /outbox (AppShell-Tree) + Sidebar-Eintrag order 93 mit Admin-Filter (analog system-dashboard)
  • i18n de/en: nav.outbox + 30 outbox-Keys
  • Tests: __tests__/pages/Outbox.test.tsx 11/11 (Admin-Gate, Stats, DLQ-Replay, Replay-All, beide Maintenance-Modals, Registry, Empty-States)

Verifikation:

  • tsc --noEmit exit=0
  • Vitest 11/11 passed
  • Production-Build OK
  • Deploy frontend-only ~20s
  • Live-API: stats/failed/consumer-registry HTTP 200 (echte Daten: 158 failed events file.deleted vom 2026-08-27, 20+ registrierte Handler)
  • Nav-Link a[href=/outbox] live gerendert; Outbox-Chunk MD5-identisch deployed
  • Hinweis: Fresh-Context-Suspense-Spinner betrifft ALLE AppShell-Routen inkl. /dashboard (Vorbestand, dokumentierter Incident-Thread — nicht Outbox-spezifisch)

DoD: erfüllt (Tests, tsc, Build, Deploy, Live-Check, Docs).

## UI-Backlog Modul 9: Outbox **Backend:** `/api/v1/outbox` (7 Ops, alle require_admin): stats, failed (paginiert), replay/{id}, replay-all, consumer-registry, recover-stuck, cleanup-published. **Frontend (Commit 31154b9):** - `api/outbox.ts` — 7 TanStack-Hooks (3 Queries mit enabled-Flag, 4 Mutations mit Cache-Invalidierung) - `pages/Outbox.tsx` — Stats-Karten (5 Status + Total), DLQ mit Replay einzeln/alle, Pagination, Wartung (recover-stuck mit Timeout-Input, cleanup-published mit Retention-Input, Modals), Consumer-Registry, Admin-Gate (is_system_admin, Queries disabled für Nicht-Admins) - Core-Registrierung: statische Route `/outbox` (AppShell-Tree) + Sidebar-Eintrag order 93 mit Admin-Filter (analog system-dashboard) - i18n de/en: nav.outbox + 30 outbox-Keys - Tests: `__tests__/pages/Outbox.test.tsx` 11/11 (Admin-Gate, Stats, DLQ-Replay, Replay-All, beide Maintenance-Modals, Registry, Empty-States) **Verifikation:** - tsc --noEmit exit=0 - Vitest 11/11 passed - Production-Build OK - Deploy frontend-only ~20s - Live-API: stats/failed/consumer-registry HTTP 200 (echte Daten: 158 failed events `file.deleted` vom 2026-08-27, 20+ registrierte Handler) - Nav-Link `a[href=/outbox]` live gerendert; Outbox-Chunk MD5-identisch deployed - Hinweis: Fresh-Context-Suspense-Spinner betrifft ALLE AppShell-Routen inkl. /dashboard (Vorbestand, dokumentierter Incident-Thread — nicht Outbox-spezifisch) **DoD:** erfüllt (Tests, tsc, Build, Deploy, Live-Check, Docs).
Leopoldadmin added the task label 2026-09-13 22:21:55 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Leopoldadmin/leocrm#379