Files
notifkit/dashboard
coo1estguy d439f051a6 fix(metrics): compute true stream backlog via consumer group lag and set retention to 100k
- Cap Redis stream retention at 100,000 messages (down from 10,000,000) in
  src/config/index.ts and .env.example to prevent unbounded memory growth.
- In src/services/api/handlers.ts, update getSystemMetrics to resolve stream
  queue depths using consumer group lag and in-flight pending entries (via
  XINFO GROUPS) instead of raw XLEN. This prevents acknowledged and delivered
  notifications from persisting as ghost backlog in the dashboard.
- Retain XLEN measurement for DEAD_LETTER queue where messages persist until
  replayed or deleted.
- Adjust dashboard capacity scaling to 100,000 items in AnalyticsPage.tsx and
  update backpressure warning threshold to 80,000 in DashboardHeader.tsx.
- Ensure 0-depth queues render empty (0% width) in the backlog gauge meter.
- Update queue test expectations in tests/queue.test.ts and add unit tests
  verifying consumer group lag resolution in tests/api-admin.test.ts.
2026-09-25 12:57:02 +05:30
..
2026-08-19 12:04:44 +05:30

Notifkit Admin & Observability Dashboard

This is the single-page application (SPA) admin console and real-time delivery observability dashboard for Notifkit, built with Vite, React 19, React Router, Tailwind CSS v4, and shadcn/ui.

Development

# Start Vite development server
npm run dev

# Build production bundle to dist/
npm run build

# Preview built production bundle
npm run preview

Features

  • Live Activity Feed: Real-time SSE streaming of delivery statuses and handoffs.
  • Historical Audit Logs: Queryable, paginated notification lifecycle trails and payload inspector.
  • System Health: PostgreSQL and Redis latencies and worker heartbeat monitoring.
  • Analytics & Queues: Real-time Redis Streams queue depth gauges and delivery SLA metrics.
  • Dead Letter Queue (DLQ): Poison message diagnostics with stream replay and purge capabilities.
  • Scheduled Pipeline: Future dispatch scheduling and quiet hours deferrals.
  • Workflows: Multi-step notification sequence diagrams and instance step execution tracing.
  • Templates: Channel bindings, dynamic variables, and prompt previewing.
  • User Directory: Contact channels and opt-out preferences.
  • Projects & API Keys: Tenant workspace configuration and scoped token provisioning.