mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-13 18:52:18 +03:00
Root cause (reproduced by tests): combo steps edited by an agent in text/SQLite
format used field names the normalizer didn't recognize, so every step was
dropped and the combo became empty in the WebUI builder.
- steps.ts: extractModelField() accepts model/target/name/modelName variants,
used by both getComboStepTarget and normalizeComboStep (fixes {name,provider}
and legacy {id,target,weight} shapes)
- combos.ts: withSortOrder/parseComboRow now return null on malformed stored
JSON instead of throwing, so the WebUI combo list never crashes on a broken
row
- new test: combo-editability-paths.test.ts (7 cases covering baseline, SQLite
INSERT, API text-edit, legacy shapes, malformed JSON)