R1: Dashboard 500 fix, Phase 2/7 uncommitted changes

- Fix dashboard 500 when deps disconnected — _gather_state() now returns
  full defaults instead of bare {'connected': False}
- Phase 2: FX param schemas aligned with DSP implementations
- Phase 7: Pipeline routing, preset manager improvements
- Factory presets: cleanup and normalization

Fixes dashboard crash on disconnected state (dogfood issue #1)
This commit is contained in:
2026-06-12 14:02:13 -04:00
parent 1301a8a128
commit 77a757cee6
62 changed files with 24166 additions and 20 deletions
+15 -1
View File
@@ -1004,7 +1004,21 @@ class WebServer:
ir = self.deps.ir_loader
if not pm:
return {"connected": False}
return {
"connected": False,
"current_preset": None,
"bypass": False,
"tuner_enabled": False,
"master_volume": 0.8,
"routing_mode": "mono",
"routing_breakpoint": 7,
"nam_loaded": False,
"nam_model": None,
"ir_loaded": False,
"ir_name": None,
"wifi": {},
"bluetooth": {},
}
try:
bank = pm.current_bank