Commit Graph

26 Commits

Author SHA1 Message Date
1b563106fe max versions, remove old node_modules 2026-02-13 20:34:20 -08:00
720c0e76fb dashboard 2026-02-13 09:02:21 -08:00
Claude
50e5c97beb
Add system vitals gauges and unified log stream to dashboard
- Add /api/system endpoints for CPU, RAM, and disk metrics (SSE stream)
- Add /api/system/logs for unified log stream from all apps (SSE stream)
- Create Vitals component with three gauges: arc (CPU), bar (RAM), circular (Disk)
- Create UnifiedLogs component with real-time scrolling logs and status highlighting
- Update DashboardLanding with stats, vitals, and activity sections

Design follows Dieter Rams / Teenage Engineering aesthetic with neutral palette.

https://claude.ai/code/session_013L9HKHxMEoub76B1zuKive
2026-02-13 16:41:21 +00:00
Chris Wanstrath
4a31d7bb69 tunnels 2026-02-12 16:24:45 -08:00
Chris Wanstrath
ee9c4a1d0a
Merge pull request #12 from defunkt/claude/auto-start-app-on-push-zklQA
Add app startup handling in activate endpoint
2026-02-12 08:46:10 -08:00
Claude
a7d4e210c2
Auto-start stopped/errored apps on push activate
Previously, pushing a new version would only restart apps that were
already running. Apps in stopped or invalid state (e.g. due to a
previous startup error) were left unchanged, requiring a manual start.

Now the activate endpoint calls startApp() for stopped/invalid apps,
so pushing a code fix automatically attempts to start the app.

https://claude.ai/code/session_014UvBEvHbnhaoMLebdRFzm6
2026-02-12 16:17:45 +00:00
Claude
2f4d609290
Fix app rename failing with "port is taken" error
renameApp() killed the old process with .kill() but didn't wait for it
to actually exit before restarting on the same port. The OS still had
the port bound, causing the new process to fail with "port is taken".

Additionally, the old process's exit handler would fire after the rename
and corrupt the app's state—releasing the new process's port, setting
state to 'invalid', and nullifying the proc reference.

Fix by:
- Making renameApp async and awaiting proc.exited before proceeding
- Guarding the exit handler to bail out when a newer process has taken over

https://claude.ai/code/session_01W9GF8Cy7T6V2rnVcoNd1Nc
2026-02-12 16:13:59 +00:00
b6e9ec73de .toes 2026-02-11 19:13:34 -08:00
Chris Wanstrath
d94a4421f9 integrated cron logs, cron cli 2026-02-10 11:12:57 -08:00
bffa4236e7 detect renames 2026-02-09 22:03:49 -08:00
79a0471383 toes history 2026-02-09 21:42:40 -08:00
1685cc135d show cron errors 2026-02-09 20:36:46 -08:00
Chris Wanstrath
d6ae39ac15 global env variables 2026-02-09 10:50:21 -08:00
0d572b4b5d share pids, proxy api 2026-02-04 08:54:35 -08:00
Chris Wanstrath
ed200431f2 skip node_modules when copying 2026-02-02 16:09:55 -08:00
a58c42e0d4 dotenv support 2026-02-01 23:27:22 -08:00
f3040abc5d persistent logs 2026-02-01 22:15:25 -08:00
a81d61f910 simplify server 2026-02-01 21:40:32 -08:00
a56af4ed47 versions, rollback, clean 2026-01-30 22:13:34 -08:00
Chris Wanstrath
bde7a2c287 tools! 2026-01-30 16:59:32 -08:00
Chris Wanstrath
ebf3ffc3af spicy 2026-01-30 16:16:59 -08:00
Chris Wanstrath
557ea669fb fix toes new templates 2026-01-30 15:26:58 -08:00
32e52a030f rename 2026-01-29 23:53:37 -08:00
c4af302d9d toes sync and friends 2026-01-29 23:21:44 -08:00
b7bda052e9 new and create (push) 2026-01-29 19:52:42 -08:00
714ed14581 split up some modules 2026-01-29 18:15:55 -08:00