c42c73fe70
Simplify perf toggle by deduplicating branching logic
...
Early-return on invalid input, then unify the GET/POST and display
paths so each concern is handled once instead of per-subcommand.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 11:02:06 -07:00
c3ad78f1be
Add CLI perf command to toggle request timing on proxied apps
2026-03-19 10:50:23 -07:00
1e4d66cbe4
Fix log search filtering to match against plain text instead of ANSI escape codes
...
Move styles array outside the parse loop in ansiToHtml so styles accumulate across sequences, and use stripAnsi when filtering live logs so search matches visible text.
2026-03-18 11:23:06 -07:00
a824d62058
Refactor ANSI parser to support SGR reset (code 39) and bold/dim styles
...
Merge color and style maps into a unified STYLES table, hoist the
regex to module scope, export stripAnsi for use in log parsing, and
handle SGR 39 (default foreground) by removing only color styles
instead of clearing all styles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 11:14:03 -07:00
33d91747af
Combine ANSI style codes into a single span element
...
Multiple SGR parameters in one escape sequence (e.g. bold + color)
were each opening a new span, losing earlier styles. Collect styles
per sequence and emit one span with all of them.
2026-03-18 10:59:07 -07:00
33d21777d3
Add ANSI color code to HTML conversion for log display
...
Terminal color codes were rendering as raw escape sequences in the
web UI, making logs hard to read.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 10:55:31 -07:00
62f936cdef
Merge branch 'switch-kleur-ansis'
2026-03-17 21:35:47 -07:00
3a6ed5d546
Handle -c flag position for both shebang and compiled argv layouts
...
When run via shebang, bun prepends itself so -c appears at argv[2]
instead of argv[1]. Search both positions to support either mode.
2026-03-17 21:35:19 -07:00
3328009af6
Promote status to the primary command over list and info
...
Hide `list` and `info` as aliases so existing scripts keep working
while surfacing `status` as the canonical entry point in help output.
2026-03-17 19:44:57 -07:00
c12d60119f
Add hidden status command for listing and inspecting apps
2026-03-17 19:22:46 -07:00
99a3a25131
Merge branch 'cli'
2026-03-17 19:18:30 -07:00
35a9053308
Reduce nesting in SSH-disabled command setup with early continue
2026-03-17 19:18:26 -07:00
0abf03e64e
Disable shell, get, and open commands for SSH sessions
...
These commands require local access and cannot function when
connected over SSH (USER=cli).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 19:17:12 -07:00
bbed8c49b7
Add .hushlogin creation to setup-ssh script
2026-03-17 17:46:32 -07:00
a9f8a3885d
Remove deploy scripts and npm tasks
2026-03-17 17:42:37 -07:00
21c6c27c92
Add SSH CLI access and update install docs
2026-03-16 16:35:19 -07:00
195be426f1
Convert getAppMetrics to async and replace spawnSync with async Bun.spawn
...
spawnSync blocks the event loop while waiting for ps and du, which
stalls the SSE metrics stream and other requests. Running these
concurrently with async spawn (and Promise.all for du) keeps the
server responsive under load.
2026-03-16 16:32:17 -07:00
926e57e34e
Make install.sh executable
2026-03-16 16:19:11 -07:00
0a7c2b0f1f
Add CLI build and install to deploy, handle SSH login shell commands
...
The deploy script now builds the CLI binary and copies it to /usr/local/bin.
SSH passes commands as `toes -c "command args"`, so parse that form
before falling through to the interactive shell or normal arg handling.
2026-03-16 16:14:31 -07:00
aebafdf496
Remove package.json requirement, auto-deploy bare repos
2026-03-12 14:45:57 -07:00
63b0709649
shout
2026-03-10 15:51:38 -07:00
0471e7b26d
yea
2026-03-10 15:43:31 -07:00
18834fcd2b
Replace kleur with ansis for CLI colors
2026-03-09 18:39:14 -07:00
21e300df90
Show tabs only when both app/tool repos exist
2026-03-09 00:15:57 -07:00
267e4e59f7
Add tabs to separate apps and tool repos
2026-03-09 00:14:58 -07:00
946cdb1794
Show tunnel URL for public repos in git clone hints
2026-03-09 00:08:33 -07:00
0e943bda2a
Use sneaker host header as base URL
2026-03-08 23:49:23 -07:00
eef2fabd71
share
2026-03-08 23:43:30 -07:00
b410a74d15
Refactor app building and simplify gitUrl
2026-03-08 23:38:15 -07:00
d9533032bc
Use git URL from tunnel if available
2026-03-08 23:26:12 -07:00
e0347444aa
Add share field to app type and show share button
2026-03-08 23:17:35 -07:00
423c9588da
gotcha
2026-03-08 23:06:48 -07:00
ecae0b4a5c
0.0.12
2026-03-08 23:03:16 -07:00
f16201114e
Replace EventSource with fetch-based SSE with reconnect
2026-03-08 23:03:00 -07:00
758ad67fd4
ok
2026-03-08 23:01:17 -07:00
711a9db55e
o that
2026-03-08 23:00:13 -07:00
5954959208
0.0.11
2026-03-08 22:59:10 -07:00
0aa375f037
Add ANSI color and styling to shell scripts
2026-03-08 22:18:53 -07:00
98c09dd843
npmrc
2026-03-08 22:05:29 -07:00
26189e9e4d
Bump @because/toes to 0.0.10
2026-03-08 22:04:26 -07:00
d3b6d97bb6
Simplify app git seeding in install.sh
2026-03-05 20:28:00 -08:00
27860c5e32
Init bare git repos for apps on install
2026-03-05 13:09:25 -08:00
0a8287970d
Merge branch 'check-updates'
2026-03-05 13:03:41 -08:00
d2339b8d44
fix update spawn error handling and reset flag
2026-03-05 13:03:35 -08:00
61c0c90695
Delegate update to install/install.sh
2026-03-05 07:58:27 -08:00
08e1df544a
fun
2026-03-05 07:58:02 -08:00
e119aed205
just in case
2026-03-05 07:52:09 -08:00
ad8ef49439
Merge branch 'dots-in-project-name'
2026-03-05 07:46:28 -08:00
fafef70a33
Allow uppercase letters in VALID_NAME regex
2026-03-05 07:46:07 -08:00
0af360cef2
Centralize VALID_NAME regex into shared types
2026-03-05 07:45:19 -08:00