Live re-detect external config changes without restarting BCC (hot-reload) #101

Closed
opened 2026-08-12 23:53:55 -04:00 by the_og · 0 comments
Owner

Found during the #91 click-through: creating an ssh-mcp config.toml while BCC was running did not surface the sidecar advisory until BCC was restarted. The sidecar/permission detection (#91/#93) runs only at profile load / server selection, so external filesystem changes mid-session are invisible.

Want

BCC reacts to external changes on its own — no restart:

  • Watch the resolved external paths per ServerSpec (QFileSystemWatcher on the sidecar path(s) for the selected server) and re-run sidecar_status / permission_status when they appear/change/disappear.
  • Re-check on window focus-in as a cheap, always-works fallback (watchers can miss atomic-rename replaces).
  • Generalise to BCC's own loaded config: an external edit should surface without a manual reload (complements the existing stale-file mtime detection — that guards saves; this makes the view live).

Notes

  • The detection logic already exists (from #91/#93); this is mostly GUI wiring (watcher + focus hook + a re-run). Any new decision logic stays in bcc_core and testable.
  • Debounce re-checks so a rapid series of writes doesn't thrash the UI.

Part of epic #94. Pairs with the in-app editor follow-up (after a save, the editor re-runs detection through this same path).

Found during the #91 click-through: creating an ssh-mcp `config.toml` while BCC was running did **not** surface the sidecar advisory until BCC was restarted. The sidecar/permission detection (#91/#93) runs only at profile load / server selection, so external filesystem changes mid-session are invisible. ## Want BCC reacts to external changes on its own — no restart: - Watch the resolved external paths per `ServerSpec` (`QFileSystemWatcher` on the sidecar path(s) for the selected server) and re-run `sidecar_status` / `permission_status` when they appear/change/disappear. - Re-check on **window focus-in** as a cheap, always-works fallback (watchers can miss atomic-rename replaces). - Generalise to BCC's **own** loaded config: an external edit should surface without a manual reload (complements the existing stale-file mtime detection — that guards *saves*; this makes the *view* live). ## Notes - The detection logic already exists (from #91/#93); this is mostly GUI wiring (watcher + focus hook + a re-run). Any new decision logic stays in `bcc_core` and testable. - Debounce re-checks so a rapid series of writes doesn't thrash the UI. Part of epic #94. Pairs with the in-app editor follow-up (after a save, the editor re-runs detection through this same path).
the_og added the P1 label 2026-08-12 23:53:55 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: the_og/better-claude-config#101