crates/minimal: This is 0.3.2 - #159
Merged
Merged
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThe pull request updates the package version in the minimal crate's manifest from 0.3.1 to 0.3.2. No other dependencies, configuration entries, or source code were modified. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~1 minute Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
twitchyliquid64
enabled auto-merge (rebase)
April 24, 2026 21:21
twitchyliquid64
force-pushed
the
tom/fix
branch
from
April 24, 2026 21:24
0491589 to
bce579f
Compare
0chroma
added a commit
that referenced
this pull request
Jun 16, 2026
- Add CLI subcommands: activate, attach, destroy, dash (fzf picker stub) - Implement SSH client transport over UDS to minimald - Wire oneshot RPC calls for ls (list sessions), activate (create session) - Add exec_in_session for non-interactive command execution in sessions - PTY interactive shell is blocked on daemon PTY support (exec.rs:650-654) - Update Cargo.toml with minimald-rpc, russh, sessions, serde_json deps
0chroma
added a commit
that referenced
this pull request
Jun 16, 2026
- ls --raw: outputs one session ID per line for fzf piping - minimal dash: interactive fzf picker that chains into attach - Falls back to plain table if fzf is not installed - Update implementation plan with Phase 5 details
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
Implement twitchyliquid64's suggestion: shell out to ssh for interactive PTY attachment instead of reporting it as unsupported. The daemon's shell_request handler already mints PTY-backed session shells, so we avoid reimplementing termios/PTY management by deferring to openssh. Adds a hidden `proxy` subcommand that pipes stdio to the daemon UDS, used as ssh's ProxyCommand so we don't depend on socat or nc being installed. Also fixes pre-existing fmt/clippy failures.
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
- Add CLI subcommands: activate, attach, destroy, dash (fzf picker stub) - Implement SSH client transport over UDS to minimald - Wire oneshot RPC calls for ls (list sessions), activate (create session) - Add exec_in_session for non-interactive command execution in sessions - PTY interactive shell is blocked on daemon PTY support (exec.rs:650-654) - Update Cargo.toml with minimald-rpc, russh, sessions, serde_json deps
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
- ls --raw: outputs one session ID per line for fzf piping - minimal dash: interactive fzf picker that chains into attach - Falls back to plain table if fzf is not installed - Update implementation plan with Phase 5 details
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
Implement twitchyliquid64's suggestion: shell out to ssh for interactive PTY attachment instead of reporting it as unsupported. The daemon's shell_request handler already mints PTY-backed session shells, so we avoid reimplementing termios/PTY management by deferring to openssh. Adds a hidden `proxy` subcommand that pipes stdio to the daemon UDS, used as ssh's ProxyCommand so we don't depend on socat or nc being installed. Also fixes pre-existing fmt/clippy failures.
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
- Add CLI subcommands: activate, attach, destroy, dash (fzf picker stub) - Implement SSH client transport over UDS to minimald - Wire oneshot RPC calls for ls (list sessions), activate (create session) - Add exec_in_session for non-interactive command execution in sessions - PTY interactive shell is blocked on daemon PTY support (exec.rs:650-654) - Update Cargo.toml with minimald-rpc, russh, sessions, serde_json deps
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
- ls --raw: outputs one session ID per line for fzf piping - minimal dash: interactive fzf picker that chains into attach - Falls back to plain table if fzf is not installed - Update implementation plan with Phase 5 details
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
Implement twitchyliquid64's suggestion: shell out to ssh for interactive PTY attachment instead of reporting it as unsupported. The daemon's shell_request handler already mints PTY-backed session shells, so we avoid reimplementing termios/PTY management by deferring to openssh. Adds a hidden `proxy` subcommand that pipes stdio to the daemon UDS, used as ssh's ProxyCommand so we don't depend on socat or nc being installed. Also fixes pre-existing fmt/clippy failures.
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
Wire cmd_destroy to the DestroySession RPC added in #462. Resolves the session by UUID or name via GetSessionRecord (matching cmd_attach), then issues the destroy RPC and prints confirmation.
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
Per reviewer feedback, exec_in_session used the daemon's old exec codepath which doesn't hit the sessions module. Remove it entirely and shell out to ssh for both interactive and --command attachment — ssh handles termios/PTY reconfiguration and the daemon's shell_request handler mints the session shell. exec_request remains on the daemon side for git-receive-pack and vscode remote only.
0chroma
added a commit
that referenced
this pull request
Jun 18, 2026
On Linux, check if the daemon UDS is connectable before each command. If not, spawn `minimald run` as a detached background process (setsid + null stdio) and poll the UDS until it becomes available (4s timeout). Also fixes resolve_socket_path() to match minimald's listen_on() on Linux ($XDG_STATE_HOME/minimal/providers/local-0/ssh.sock), which was previously broken — it only worked on macOS via minvmd. No state machine or state.toml — just socket polling. The lifecycle management PR (#435) can layer richer state tracking on top later.
0chroma
added a commit
that referenced
this pull request
Jun 19, 2026
…destroy) (#434) * feat(minimal2): implement client interface with SSH transport (#159) - Add CLI subcommands: activate, attach, destroy, dash (fzf picker stub) - Implement SSH client transport over UDS to minimald - Wire oneshot RPC calls for ls (list sessions), activate (create session) - Add exec_in_session for non-interactive command execution in sessions - PTY interactive shell is blocked on daemon PTY support (exec.rs:650-654) - Update Cargo.toml with minimald-rpc, russh, sessions, serde_json deps * feat(minimal2): add --raw flag and 'dash' fzf session picker (#159) - ls --raw: outputs one session ID per line for fzf piping - minimal dash: interactive fzf picker that chains into attach - Falls back to plain table if fzf is not installed - Update implementation plan with Phase 5 details * feat(minimal2): interactive attach via ssh ProxyCommand (#159) Implement twitchyliquid64's suggestion: shell out to ssh for interactive PTY attachment instead of reporting it as unsupported. The daemon's shell_request handler already mints PTY-backed session shells, so we avoid reimplementing termios/PTY management by deferring to openssh. Adds a hidden `proxy` subcommand that pipes stdio to the daemon UDS, used as ssh's ProxyCommand so we don't depend on socat or nc being installed. Also fixes pre-existing fmt/clippy failures. * feat(minimal2): wire up destroy command via DestroySession RPC (#159) Wire cmd_destroy to the DestroySession RPC added in #462. Resolves the session by UUID or name via GetSessionRecord (matching cmd_attach), then issues the destroy RPC and prints confirmation. * refactor(minimal2): migrate attach --command to ssh shell-out (#159) Per reviewer feedback, exec_in_session used the daemon's old exec codepath which doesn't hit the sessions module. Remove it entirely and shell out to ssh for both interactive and --command attachment — ssh handles termios/PTY reconfiguration and the daemon's shell_request handler mints the session shell. exec_request remains on the daemon side for git-receive-pack and vscode remote only. * feat(minimal2): auto-spawn minimald on Linux (#159) On Linux, check if the daemon UDS is connectable before each command. If not, spawn `minimald run` as a detached background process (setsid + null stdio) and poll the UDS until it becomes available (4s timeout). Also fixes resolve_socket_path() to match minimald's listen_on() on Linux ($XDG_STATE_HOME/minimal/providers/local-0/ssh.sock), which was previously broken — it only worked on macOS via minvmd. No state machine or state.toml — just socket polling. The lifecycle management PR (#435) can layer richer state tracking on top later. * fix(minimal2): thread --minimal-dir through auto-spawn Auto-spawn was checking the default UDS path instead of the --minimal-dir override, causing it to fail when the daemon was already running with a custom state dir. Also pass --minimal-state-dir to the spawned minimald so it listens on the same path we're polling. E2E verified: ls, activate, attach --command, destroy (by UUID and name), auto-spawn (default and --minimal-dir paths). * refactor(minimal2): remove temporary dash/fzf picker Remove the `dash` subcommand, `ls --raw` flag, and `LsArgs` struct. These were temporary scaffolding for an fzf-based session picker — a proper TUI will be built later. Net -125 lines. * revert(minimal2): add back ls --raw flag --raw has standalone value for scripting (e.g. `minimal ls --raw | fzf`), independent of the removed dash subcommand. * style(minimal2): add missing blank line between functions * feat(minimald,minimal2): detect starting daemon via PID file minimald now writes a PID file at startup. The minimal2 auto-spawn logic checks this file before spawning: if the PID is alive the daemon is already starting (e.g. spawned concurrently), so it waits for the UDS rather than spawning a duplicate. The spawn path uses Child::try_wait to detect a crash during startup and fail fast instead of exhausting the 4s timeout. Addresses review feedback on #434.
Merged
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary by CodeRabbit