StandTerm v2.9.0
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=truecolorandTERM_PROGRAM=StandTermwhile keeping the compatibleTERM=xterm-256colorvalue. - 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
maincommit.
Full Changelog: v2.8.0...v2.9.0