Question
dl looks for devpod's ssh config at a hardcoded ~/.ssh/config, which devpod
never creates when DEVPOD_SSH_CONFIG is set. This is a shipped bug, not just
a prerequisite: on any host that sets that variable, dl silently loses the pty
transport and falls back, with nothing said.
Found twice independently, by
#389 and
#390; read #390's resolution
comment for the shape it wants, since the next slice builds on this one.
The change, in rust/devlaunch-core/src/clients/ssh.rs:
config_path() honours $DEVPOD_SSH_CONFIG before ~/.ssh/config.
- Context-option paths come only from the already-cached context options —
never a new devpod context options round trip. The cache exists (keyed on
devpod's own config file changing); a new trip here would spend more than the
whole slice saves.
Terminal::NoAlias splits, so "no config anywhere" is a legible state
rather than indistinguishable from "config present, alias absent". Silence is
what let this ship.
#390 reports a red test already exists for this. Find it, confirm it is red for
the right reason, and make it green.
Notes for the builder
- Cut from
origin/main; use your own worktree. Other agents are active.
- Guards in
rust/: cargo test --workspace, cargo clippy --locked --all-targets -- -D warnings,
cargo fmt --check.
- Known pre-existing flake, do not chase:
aid's
a_pasted_multi_line_prompt_arrives_whole_rather_than_leaking under full-workspace load.
- Note for anyone measuring after this lands: scratch-scoped benchmark runs that
set DEVPOD_SSH_CONFIG have been silently taking the non-pty path, so
before/after numbers taken that way are not comparable across this change.
Question
dl looks for devpod's ssh config at a hardcoded
~/.ssh/config, which devpodnever creates when
DEVPOD_SSH_CONFIGis set. This is a shipped bug, not justa prerequisite: on any host that sets that variable, dl silently loses the pty
transport and falls back, with nothing said.
Found twice independently, by
#389 and
#390; read #390's resolution
comment for the shape it wants, since the next slice builds on this one.
The change, in
rust/devlaunch-core/src/clients/ssh.rs:config_path()honours$DEVPOD_SSH_CONFIGbefore~/.ssh/config.never a new
devpod context optionsround trip. The cache exists (keyed ondevpod's own config file changing); a new trip here would spend more than the
whole slice saves.
Terminal::NoAliassplits, so "no config anywhere" is a legible staterather than indistinguishable from "config present, alias absent". Silence is
what let this ship.
#390 reports a red test already exists for this. Find it, confirm it is red for
the right reason, and make it green.
Notes for the builder
origin/main; use your own worktree. Other agents are active.rust/:cargo test --workspace,cargo clippy --locked --all-targets -- -D warnings,cargo fmt --check.aid'sa_pasted_multi_line_prompt_arrives_whole_rather_than_leakingunder full-workspace load.set
DEVPOD_SSH_CONFIGhave been silently taking the non-pty path, sobefore/after numbers taken that way are not comparable across this change.