Skip to content

Releases: alexchaomander/CloudCode

v0.1.11

09 Apr 00:27
1de1e02

Choose a tag to compare

Added

  • Smart Approval Modals: Automatically detects [y/n] and "Press Enter" prompts in any agent session. A native card slides up from the bottom of the screen with large, tap-friendly Approve and Deny buttons — no keyboard required.
  • Action Timeline: A new Timeline tab intercepts agent tool-use events (Claude tool boxes, generic shell commands) and renders them as collapsible cards with status indicators, timestamps, and tool type icons. Provides a high-signal activity feed easy to skim on mobile.
  • Heuristics Engine: A semantic PTY parser (HeuristicsEngine) runs a headless xterm instance per session to detect prompt boundaries and tool-use events with high precision. Agent-agnostic — works with Claude Code, Gemini CLI, and any CLI tool using standard terminal conventions.

Improved

  • Serial chunk processing: Heuristics engine now queues PTY chunks through a serial promise chain, eliminating potential race conditions when high-frequency output arrives faster than xterm can process it.
  • Resource cleanup: Headless xterm instances are disposed on both WebSocket close and error events, preventing memory leaks in long-running or dropped sessions.
  • Timeline memory cap: Action timeline is capped at 100 entries per session to bound memory growth during extended agent runs.

Fixed

  • Prompt self-dismiss: Approval modal closes immediately on tap without waiting for the next backend event, eliminating UI flicker on slow connections.

v0.1.10

28 Mar 20:10

Choose a tag to compare

Fixed

  • Reliable npm packaging: npm pack and npm publish now build the backend CLI, bundled frontend assets, and cross-platform PTY sidecars automatically during prepack, so the published tarball always includes dist/cli.js and the required runtime files.
  • Version alignment: Root, backend, and frontend package metadata now ship as 0.1.10, avoiding workspace version drift during releases.

Improved

  • Release automation: The tag-driven release workflow now syncs all workspace versions from the tag and publishes GitHub release notes directly from the matching CHANGELOG.md entry, keeping npm and GitHub releases consistent.

v0.1.9 — CLI Power Features & PTY Reliability

27 Mar 23:05

Choose a tag to compare

Added

  • Agent Reflection (cloudcode summary): A new CLI command that pipes the semantic transcript of a past session into a local AI agent (like Claude or Gemini). It automatically spins up a hidden tmux session, injects the transcript as context, and prompts the agent to summarize the architectural decisions and files changed—perfect for generating PR descriptions from your mobile pairing sessions.
  • CLI Power-User Features: New terminal-native commands for managing sessions directly from the workstation:
    • cloudcode status: List all active sessions with agent, path, and uptime.
    • cloudcode attach <id>: Instantly re-enter any session's native tmux environment.
    • cloudcode logs <id>: Stream clean semantic Markdown logs to the terminal. Use -f to follow live.
    • cloudcode stop <id>: Gracefully terminate an active agent session with SIGINT.
    • cloudcode init: New diagnostic tool to verify dependencies (Node, Go, tmux, git) and auto-detect installed agents.

Improved

  • Bit-Perfect PTY Streaming: Refactored the backend bridge to decouple raw binary data from decoded text. The live terminal now receives a bit-perfect stream, eliminating dropped or corrupted multi-byte characters (emojis, complex symbols).
  • Enhanced Transcript Preservation: Refined the Markdown transcript filters to preserve agent reasoning states like "Thinking," "Analyzing," and "Working," providing a more comprehensive history of the agent's thought process.
  • Robust Agent Detection: The init command now uses multiple detection strategies (version check + command -v) to find installed agents even if they don't support standard version flags.

Fixed

  • Transcript Store Deduplication: Resolved a regression where terminal redraws were not being correctly deduplicated in the history view.
  • PTY Bridge Stability: Wrapped decoding logic in robust error handlers to prevent malformed PTY data from crashing the session line-processor.
  • CLI SQL Safety: All new terminal commands use strictly parameterized queries to prevent SQL injection.
  • Log Follow Cleanup: The cloudcode logs -f command now correctly cleans up intervals and event listeners on exit.

v0.1.8

25 Mar 15:36

Choose a tag to compare

CloudCode's WebSocket connection layer has been rebuilt for mobile networks. The terminal now detects and recovers from silent connection failures — phone sleep, Wi-Fi to cellular switches, brief signal loss — in seconds rather than minutes.

What's new

Connection resilience for mobile

Standard WebSocket over TCP has the same silent-failure problem as SSH: a network change kills the socket without either side knowing, and recovery waits on TCP's own timeout (which can take several minutes). This release adds a layered detection system:

Server-side heartbeat — the server sends a ping every 15 seconds. If no pong arrives before the next interval, the connection is declared dead and closed immediately. Dead connections are now detected in under 20 seconds.

Client-side ping watchdog — the client tracks the last server ping timestamp. If no ping arrives for 35 seconds, the client force-closes the socket and reconnects. This catches the mirror case: server is alive, but the client's TCP socket went stale after a NAT table expiry (common after phone sleep).

Network-aware reconnect — the browser's online event fires when a new network interface becomes available. CloudCode now listens for this and immediately opens a fresh WebSocket, bypassing the exponential backoff queue. On a typical Wi-Fi to cellular switch, the terminal is back live in under two seconds.

Wake-from-sleep recovery — the page-visibility handler now detects sockets stuck in CONNECTING state (a common artifact of waking a phone mid-handshake) and replaces them immediately rather than waiting for the attempt to time out.

Session ended indicator — the terminal header now shows "Ended" (gray dot) when the PTY has exited, cleanly distinguishing a terminated session from an active reconnect ("Syncing").

Bug fix

  • Heartbeat timer is now correctly cleaned up when a WebSocket connection is rejected at authentication. Previously, each rejected connection leaked a setInterval that ran for the lifetime of the process.

Recovery time by scenario

Scenario Recovery
Phone screen locks / sleeps < 20 s (server heartbeat) or < 35 s (client watchdog)
Wi-Fi to cellular (or back) < 2 s (online event triggers immediate reconnect)
Brief signal loss Existing exponential backoff (up to 10 retries, capped at 30 s)
Page visible after background Instant (visibility handler detects closed or stuck socket)

The agent itself is unaffected by any of these events — it continues running in its tmux session regardless.

Full Changelog: v0.1.7...v0.1.8

What's Changed

  • Add connection resilience layer with heartbeat and network awareness by @alexchaomander in #7

Full Changelog: v0.1.7...v0.1.8

v0.1.7

21 Mar 02:48
39d17d4

Choose a tag to compare

CloudCode’s mobile control experience is now much cleaner and more reliable for managing multiple coding agents.

Added

  • Mobile task dispatcher on the dashboard for fast task submission to local coding agents
  • Visible agent selection in the quick dispatch card so tasks can be routed to different agents intentionally
  • Full transcript reader with paginated history, scrollback loading, and timestamped session output
  • Session loading panel that appears immediately after launch so users see progress before terminal output arrives

Changed

  • Dashboard layout now prioritizes live sessions and reduces top-level copy for a cleaner mobile control surface
  • Quick dispatch now opens the live terminal first, while logs remain a secondary transcript view
  • Session details are tucked behind a Details action instead of competing with the primary live views
  • Mirror/live session UX now reflects CloudCode-managed sessions and uses Live Sessions terminology

Fixed

  • Transcript capture now starts at session creation time and avoids duplicate writes from websocket fallback paths
  • Repeated terminal redraw noise is deduplicated before it reaches the transcript reader
  • Logs now start from the beginning of a session by default instead of only showing the current terminal screen
  • Background transcript append failures are logged with session context instead of being swallowed silently

What's Changed

Full Changelog: v0.1.6...v0.1.7

v0.1.6

18 Mar 13:00
2c46688

Choose a tag to compare

What's Changed

  • feat: improve mobile terminal UX and fix macOS sidecar signing by @alexchaomander in #5

Full Changelog: https://github.com/alexchaomander/CloudCode/commits/v0.1.6

v0.1.5

17 Mar 22:15

Choose a tag to compare

Full Changelog: v0.1.1...v0.1.5