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