Skip to content

Conversation

@shayne-snap
Copy link
Contributor

@shayne-snap shayne-snap commented Jan 30, 2026

Info

issue: #35

This is the first part of the exec command. After this PR, I'll submit a PR resuse terminal streamer to implement exec command.

Key Changes

  • Consolidates terminal raw mode and IO streaming into a shared StreamManager component.
  • Fixes a terminal restoration bug by ensuring RawModeGuard is dropped before process exit.
  • Improves IO reliability by ensuring all output is flushed before the CLI exits.
  • Enhances macOS build reliability by using ditto for runtime copying.
  • Centralizes management flags (name, rm, detach) for consistency across commands.
  • Moves tokio runtime initialization to a safe block to avoid environment variable race conditions.

Testing

  • make test:cli
  • manually test ./target/debug/run

This refactoring:
- Consolidates terminal raw mode and IO streaming into a shared StreamManager component.
- Fixes a terminal restoration bug by ensuring RawModeGuard is dropped before process exit.
- Improves IO reliability by ensuring all output is flushed before the CLI exits.
- Enhances macOS build reliability by using ditto for runtime copying.
- Centralizes management flags (name, rm, detach) for consistency across commands.
- Moves tokio runtime initialization to a safe block to avoid environment variable race conditions.
@shayne-snap shayne-snap force-pushed the refactor/cli-terminal-shared branch from 253cb5a to 0872c1a Compare January 30, 2026 03:13
@shayne-snap shayne-snap marked this pull request as ready for review January 30, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant