Commit Graph

437 Commits

Author SHA1 Message Date
df05cbd3aa Add error handling for lsof and pgrep commands 2026-03-23 16:58:44 -07:00
1f0c7bd099 Remove try-catch from perfToggle and fix perf timing flag read
Let errors propagate to the caller instead of catching locally,
simplify the request body construction, and snapshot perf.timing
before the fetch to avoid a TOCTOU race.
2026-03-19 11:50:10 -07:00
4cc0ff2bed Inline PerfState interface and move subscriptions before routes
The PerfState interface was only used twice, so inline it. Move
onChange/onHostLog subscriptions above the route definitions to keep
side-effects grouped. Skip perf.now() in proxy when timing is off.
2026-03-19 11:29:17 -07:00
9a19c0a861 Consolidate perfTiming state into a single perf object
Removes the separate variable and setter in favor of a plain object,
making the mutable state easier to track and eliminating a needless
abstraction.
2026-03-19 11:21:50 -07:00
b9f94a6c98 Move setPerfTiming next to perfTiming and always capture request start time
Colocate the setter with its variable for readability. Remove the
conditional around performance.now() since the call is negligible
and simplifies the timing logic.
2026-03-19 11:09:27 -07:00
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