Relay is an Electron desktop command center for operations teams managing contacts, systems, on-call schedules, service health, and incident communications.
Relay releases are distributed for Windows. macOS remains supported as a local development host.
Download the latest Windows release. Each release includes the Windows x64 installer and its SHA-256 checksum. Relay builds that include the manual updater can guide you through separate Download, Install, and Restart actions for future immutable releases; older builds must install the first updater-capable release from GitHub.
Release executables are not currently Windows publisher-signed. The in-app flow verifies the fixed GitHub repository, immutable release metadata, GitHub's asset digest, and the published checksum, but that trust model is not a substitute for Authenticode publisher identity.
- Embedded PocketBase server/client mode with local-first storage and realtime sync
- Typed preload bridge with Zod-validated IPC contracts
- Seven top-level workspaces: Compose, Alerts, On-Call, Knowledge, Service Status, Dynatrace Problems, and Dispatcher Radar
- Wiki, Contacts, and Servers grouped as retained destinations inside Knowledge
- Sidebar client presence, connect toasts, and a unified connected/cached/offline indicator
- LAN/VPN-only browser backup for desktop Chrome, Edge, and Safari
- 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 | Alerts | On-Call |
|---|---|---|
![]() |
![]() |
![]() |
| Knowledge | Service Status | Dispatcher Radar |
|---|---|---|
![]() |
![]() |
![]() |
- Compose: Build bridge recipient lists from contacts and saved groups, then copy recipients, prepare a Teams meeting draft, or create a calendar invite
- Alerts: Compose styled incident cards, apply severity formatting, schedule reminders, and capture them to disk or clipboard
- On-Call Board: Manage team and role coverage with drag-and-drop scheduling, lock control, export/copy tools, and popout support
- Knowledge: Browse the shared Wiki, Contacts, and Servers from one workspace; search server-managed PDF guides and cache opened documents for desktop offline reading
- Service Status: Monitor provider incident feeds across major cloud and SaaS vendors
- Dynatrace Problems: Review synchronized Problems, scope the feed with selected alerting profiles or a complete custom DQL expression, record local dispositions and ticket references, and open the source Problem in Dynatrace
- Dispatcher Radar: Review the Relay server's validated dispatch, queue, service, and dashboard-timing snapshot without exposing the CW Dashboard session to clients
- Relay Web Backup: Use the shared Relay workspace from a supported desktop browser on the trusted LAN or VPN
- 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 page
Wiki reading is available during ordinary Relay use. An Owner or Administrator creates and assigns the single protected Publisher account under Settings → Administration → Accounts & roles. Owners, Administrators, and the assigned Publisher can open Manage Wiki on the server, a paired Relay Desktop client, or Relay Web.
See Wiki administration for publishing, links, queue recovery, retention, and the unique-filename rule.
- Documentation index: living guides and supporting assets
- Architecture: runtime model, data flow, and subsystem layout
- Development: service patterns, hooks, testing, and contributor conventions
- Design: current renderer styling and component conventions
- Wiki administration: Publisher workflow, document linking, retention, and recovery
- Relay Web: browser support, setup, feature boundaries, notifications, and network safety
- Security: trust boundaries, hardening, validation, and secret handling
Requires Node.js 22 and npm.
npm ci
npm run devnpm run typecheck
npm run lint
npm test
npm run test:electron
npm run test:web
npm run test:coverage
npm run buildThe README screenshots are generated from the Electron Playwright harness.
npm run build
RELAY_CAPTURE_SCREENSHOTS=1 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/alerts.png docs/screenshots/alerts.png
cp tmp/redesign-shots/oncall.png docs/screenshots/oncall.png
cp tmp/redesign-shots/knowledge.png docs/screenshots/knowledge.png
cp tmp/redesign-shots/cloud-status.png docs/screenshots/cloud-status.png
cp tmp/redesign-shots/radar.png docs/screenshots/radar.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





