Skip to content

fix(rx): isolate dsh launch overlay per provider - #259

Merged
samzong merged 1 commit into
mainfrom
fix/rx-dsh-per-provider-overlay
Sep 14, 2026
Merged

samzong merged 1 commit into
mainfrom
fix/rx-dsh-per-provider-overlay

Conversation

@samzong

@samzong samzong commented Sep 14, 2026

Copy link
Copy Markdown
Owner

What's changed?

  • Write the dsh settings overlay and launch patch under ~/.recall/dsh/<provider>/ instead of a single shared ~/.recall/dsh/ path.
  • Add a regression test asserting that consecutive tokener and openrouter launches produce separate overlays with independent routes and default providers.
  • Update crates/rx/DESIGN.md to state the per-provider overlay location.

Why

  • dsh watches the overlay path and hot-reloads it. With one shared file, starting a second rxd session with a different provider rewrote the routes, default model, and permission preset of every running session, and settings edited inside a session were clobbered on the next launch.
  • Provider ids are restricted to [A-Za-z0-9_-] before reaching the launch path, so the new segment cannot escape the directory.
  • Same-provider sessions still share one overlay by design; the default launch is yolo and a later launch corrects the preset.

Validation

  • cargo test -p rx
  • make check

The dsh settings overlay and launch patch lived at a single
~/.recall/dsh/ path shared by every rxd launch. dsh watches the
overlay and hot-reloads it, so starting a second rxd session with a
different provider rewrote the routes, default model, and permission
preset of every running session, and in-session settings edits were
clobbered on the next launch.

Write the overlay under ~/.recall/dsh/<provider>/ instead. Provider
ids are already restricted to [A-Za-z0-9_-], so the segment cannot
escape the directory. Same-provider sessions still share one overlay;
that is accepted, since the default launch is yolo and a later launch
corrects the preset.

Signed-off-by: samzong <samzong.lu@gmail.com>
@samzong
samzong merged commit 29483f8 into main Sep 14, 2026
2 checks passed
@samzong
samzong deleted the fix/rx-dsh-per-provider-overlay branch September 14, 2026 15:28
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