v0.1.57
Bug Fixes
- fix: SIGABRT crash in bundled macOS app — Redirect stderr to
~/.config/octo/octo-terminal.logat startup soeprintln!from any crate (including dependencies like SurrealDB, axum, tao) never panics on broken stderr fd. Addedsafe_eprintln!macro as additional safety layer. - fix: cloudflared quick tunnel dying immediately (SIGPIPE) — After parsing the tunnel URL from stderr, keep draining stderr in a background task so cloudflared doesn't receive SIGPIPE and exit.
- fix: cloudflared URL detection picking up wrong URL — Previously matched
https://www.cloudflare.com/website-terms/as tunnel URL. Now strictly matches only.trycloudflare.comURLs. - fix: quick tunnel 404 due to config.yml interference — Quick tunnels now use
--config /dev/nullto ignore named tunnel ingress rules that cause catch-all 404. - fix: XTerminal refocus debounce — Debounce focus bouncing (50ms) to prevent cursor jumps in TUI apps like Kimi.
Improvements
- Custom Domain: auto-update cloudflared config.yml — Route DNS now automatically updates
~/.cloudflared/config.ymlwith the correct hostname and port (19980). - Custom Domain: show token URL — Domain Access URL with token is now displayed in the Custom Domain section for easy copy.
- Tunnel URL detection: retry logic for ngrok — ngrok URL polling now retries up to 5 times with 1s intervals.
- Tunnel status: use cached URL — Avoid unnecessary URL re-polling on status check when URL is already known.