Commit Graph

96 Commits

Author SHA1 Message Date
87d0ff50c1 Centralize hostname config in shared module 2026-02-25 12:55:41 -08:00
0499060676 Use dynamic hostname instead of toes.local 2026-02-25 12:11:43 -08:00
51e42dc538 Fix memory usage via /proc/meminfo on Linux 2026-02-24 19:05:04 -08:00
236e8ff38e normalize app names to valid subdomains via toSubdomain utility 2026-02-19 20:04:23 -08:00
4aebd6a087 ensure app data directory exists before spawning process 2026-02-19 19:51:39 -08:00
7ea806b778 Add paw print emoji to install.sh status messages 2026-02-19 19:20:12 -08:00
aaf4660816 Delegate build logic to external script, simplify build target representation 2026-02-19 19:16:12 -08:00
18cf4243fa Build CLI binaries on-demand when requested via /dist/:file endpoint 2026-02-19 13:33:58 -08:00
971ebef21c dashboard 2026-02-19 09:28:15 -08:00
071f1a02b5 install toes cli 2026-02-18 20:46:56 -08:00
c5672e57bd cleanup 2026-02-17 14:47:47 -08:00
888f12a8f1 tweak proxy 2026-02-16 21:04:11 -08:00
96083b640f all apps are http apps 2026-02-16 13:25:24 -08:00
fecc074757 fix proxy bugs 2026-02-16 13:10:04 -08:00
3736202020 again 2026-02-16 09:43:47 -08:00
82ff55ba99 guess and check 2026-02-16 09:36:10 -08:00
1dc7b76b31 proxy fixes 2026-02-16 09:34:19 -08:00
86dacb0a74 subdomains 2026-02-15 17:30:41 -08:00
f085d78fc1 fix starting and restarts 2026-02-15 13:51:58 -08:00
6f2f07059d we handle reconnect elsewhere 2026-02-15 12:16:27 -08:00
6ba3cdaf14 share CLI, persistent tunnels 2026-02-15 10:33:03 -08:00
f3cc26252c better status check 2026-02-15 09:10:04 -08:00
1015e20cf9 [cron] reload jobs on renames/deploys 2026-02-15 08:44:48 -08:00
bf14ba4ba1 new event API 2026-02-15 08:36:58 -08:00
271ff151a1 single out toes logs on dashboard 2026-02-15 07:47:41 -08:00
1b563106fe max versions, remove old node_modules 2026-02-13 20:34:20 -08:00
c10ebe3c98 kill old processes on boot 2026-02-13 09:59: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
543b5d08bc
favicon 2026-02-13 16:41:20 +00:00
Chris Wanstrath
6912bc0cdf bad 2026-02-12 16:30:41 -08: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
c183fe42e9 set TOES_URL 2026-02-11 16:09:14 -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
891b08ecd8 try to better detect failed process start 2026-02-09 21:32:48 -08:00
7c04aceef9 [cron] setup app env properly when running tasks 2026-02-09 21:17:02 -08:00
1685cc135d show cron errors 2026-02-09 20:36:46 -08:00
d4e8975200 fix emoji updating 2026-02-09 19:48:12 -08:00
Chris Wanstrath
a1aa37297f DATA_DIR 2026-02-09 16:08:44 -08:00
Chris Wanstrath
d6ae39ac15 global env variables 2026-02-09 10:50:21 -08:00
Chris Wanstrath
c224dd25a9 ignore health checks in logs 2026-02-04 16:46:53 -08:00
a396f740a5 health checks 2026-02-04 13:35:38 -08:00
2ef00c9d53 /ok 2026-02-04 09:51:29 -08:00
0d572b4b5d share pids, proxy api 2026-02-04 08:54:35 -08:00