Skip to content

dl looks for devpod's ssh config where devpod writes it #421

Description

@blooop

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:

  1. config_path() honours $DEVPOD_SSH_CONFIG before ~/.ssh/config.
  2. 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.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions