Relay is an Electron desktop command center for operations teams managing people, systems, schedules, and incident communications.
- Embedded PocketBase server/client mode with local-first storage and realtime sync
- Typed preload bridge with Zod-validated IPC contracts
- Feature tabs for compose, alerts, on-call, notes, service status, people, and servers
- Sidebar client presence, connect toasts, and a unified connected/cached/offline indicator
- Dynatrace dashboard launcher with Relay-styled popout windows and isolated SSO session storage
- Electron hardening with context isolation, sandboxing, CSP, path validation, and domain-gated external navigation
| Compose | On-Call Board | People Directory |
|---|---|---|
![]() |
![]() |
![]() |
| Servers | Service Status | Settings And Connections |
|---|---|---|
![]() |
![]() |
![]() |
| Data Manager | Notifications | On-Call Popout |
|---|---|---|
![]() |
![]() |
![]() |
- Compose: Build bridge communication lists from contacts and saved groups, then start or schedule the bridge
- On-Call Board: Manage team and role coverage with drag-and-drop scheduling, lock control, export/copy tools, and popout support
- People and Servers: Search large directories, filter operational records, open context actions, and keep entity notes close to the record
- Alerts: Compose styled incident cards, apply severity formatting, schedule reminders, and capture them to disk or clipboard
- Notes: Maintain standalone tagged notes with reorderable cards and adjustable reading density
- Service Status: Monitor provider incident feeds across major cloud and SaaS vendors
- Client Presence: Show connected Relay clients in server mode, list hostnames on hover, and notify when clients connect
- Dynatrace Dashboards: Save Dynatrace dashboard URLs in Settings, launch them from the sidebar, support Microsoft SSO, and clear the dashboard session when needed
- Data Management: Export, import, reset, and restore Relay data from the Settings modal
docs/architecture.md: runtime model, data flow, and subsystem layoutdocs/DEVELOPMENT.md: service patterns, hooks, testing, and contributor conventionsdocs/DESIGN.md: current renderer styling and component conventionsdocs/SECURITY.md: trust boundaries, hardening, validation, and secret handling
npm install
npm run devnpm run typecheck
npm run lint
npm test
npm run test:electron
npm run test:coverage
npm run buildThe README screenshots are generated from the Electron Playwright harness.
npm run build
npx playwright test tests/e2e/redesign-screenshots.spec.ts -c playwright.electron.config.ts
cp tmp/redesign-shots/compose.png docs/screenshots/compose.png
cp tmp/redesign-shots/oncall.png docs/screenshots/oncall.png
cp tmp/redesign-shots/people.png docs/screenshots/people.png
cp tmp/redesign-shots/servers.png docs/screenshots/servers.png
cp tmp/redesign-shots/cloud-status.png docs/screenshots/cloud-status.png
cp tmp/redesign-shots/settings-modal.png docs/screenshots/settings-modal.png
cp tmp/redesign-shots/data-manager.png docs/screenshots/data-manager.png
cp tmp/redesign-shots/toast.png docs/screenshots/toast.png
cp tmp/redesign-shots/popout.png docs/screenshots/oncall-popout.pngsrc/main/: Electron main process, PocketBase bootstrap, IPC handlers, cache, backups, and Dynatrace popout windowssrc/preload/: typedwindow.apibridgesrc/renderer/: React UI, hooks, services, tabs, and stylessrc/shared/: shared types, IPC channel definitions, validation, and utilitiesdocs/: contributor-facing architecture, development, design, and security docs
MIT








