Skip to content

StandTerm v2.9.0

Choose a tag to compare

@askac askac released this 01 Sep 12:03
468eaf6

Highlights

  • Add approved agent file transfers between live SSH and supported Local Shell sessions through agent_scp.py, the CLI/MCP adapters, and the dedicated file-transfer skill.
  • Expand the human-facing Files window to SSH and supported POSIX Local Shell tabs, with explicit Download and cross-session Copy to… workflows.
  • Stream copies through bounded asynchronous backend workers with structured byte progress, immutable transaction outcomes, conflict handling, logical self-copy rejection, and atomic publish behavior.
  • Show file-copy approval globally across tabs while preserving fresh Approve copy authorization even when both agent sessions use Full mode.
  • Allow human Files copies to cancel before the atomic publish barrier. Once publishing starts, the UI clearly shows that the transaction can no longer be cancelled.
  • Remove the duplicate destination close icon and explain when Files can be closed without confusing window close with copy cancellation.

Terminal and SSH reliability

  • Advertise COLORTERM=truecolor and TERM_PROGRAM=StandTerm while keeping the compatible TERM=xterm-256color value.
  • Keep agent state outside display payload control flow and use monotonic deadlines for browser SSH signing requests.

Compatibility and safety

  • Preserve the legacy SFTP routes and socket event names behind the renamed Files UI.
  • Reject unsupported Local Shell platforms, symbolic links, non-regular files, stale endpoint bindings, changed source or destination snapshots, and same-file copies.
  • Preserve the source file for every copy. Ambiguous SSH publish outcomes still require destination inspection before retrying.

Verification

  • Complete headless smoke runner passed locally.
  • Complete Chromium browser smoke suite passed locally.
  • GitHub Actions passed on PR #17 and the merged main commit.

Full Changelog: v2.8.0...v2.9.0