Commit Graph

53 Commits

Author SHA1 Message Date
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
c5672e57bd cleanup 2026-02-17 14:47:47 -08:00
96083b640f all apps are http apps 2026-02-16 13:25:24 -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
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
c10ebe3c98 kill old processes on boot 2026-02-13 09:59:20 -08:00
Chris Wanstrath
4a31d7bb69 tunnels 2026-02-12 16:24:45 -08: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
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
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
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
Chris Wanstrath
52bfa783e1 install current symlink automatically from git 2026-02-02 16:03:32 -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
1fbc7a9858 TOES_URL 2026-02-01 09:09:57 -08:00
a56af4ed47 versions, rollback, clean 2026-01-30 22:13:34 -08:00
a25088e723 /tool redirects 2026-01-30 20:39:01 -08:00
ae38084440 fix iframes, maybe 2026-01-30 18:46:08 -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
769b564d20 monster features 2026-01-30 00:05:02 -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
dd56dc0df6 new app 2026-01-29 21:24:07 -08:00
Chris Wanstrath
776b77c14f tweak logging 2026-01-29 13:20:29 -08:00
2d544e9bd3 new coding guidelines 2026-01-28 22:21:03 -08:00
2c8fff85f4 partial updating 2026-01-28 21:33:49 -08:00
5d898ac485 fix dir mk/rm 2026-01-28 20:44:34 -08:00
47e5a57806 don't let hype apps pick their own port 2026-01-28 11:08:52 -08:00
9b84714623 pick emoji 2026-01-28 08:11:11 -08:00
79b64d80b5 j'emoji 2026-01-27 22:56:01 -08:00
06bcfc5f35 themes + emoji 2026-01-27 22:27:08 -08:00
d76d5ed50d logs 2026-01-27 21:52:30 -08:00
5aca98fc58 ssr => spa 2026-01-27 21:42:33 -08:00
048b0af34e gotcha 2026-01-27 21:20:01 -08:00
04de9541b7 down with the sickness 2026-01-27 21:18:47 -08:00