Our upgrade handler on the shared httpServer was destroying every socket that wasn't for /ws/runs, which silently killed Next's own dev-mode HMR websocket (/_next/hmr) too - breaking hot reload with no useful error, just a failed WebSocket connection in the browser console. Delegate to app.getUpgradeHandler() instead, which must be called after prepare(). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TriggerShell web app
This is the Next.js app that TriggerShell's Python CLI (triggershell dev / triggershell start)
launches — it's not meant to be run standalone with next dev/next start since it needs a
custom server (server.ts) for the WebSocket endpoint.
See the repo root README for how to run TriggerShell end-to-end, and
../docs/ARCHITECTURE.md for how this app is put together.
pnpm install
pnpm dev # tsx watch server.ts - reads TRIGGERSHELL_CONFIG_PATH from the environment
pnpm lint
pnpm typecheck
pnpm db:studio # browse the SQLite database