* fix(popup): normalize overview provider selection for aliases and mixed case Overview checkboxes compared raw CLI spellings, so a stored canonical ID stayed unchecked when the roster spelled it as an alias (groq vs groqcloud) and vice versa. The runtime and the panel selection already normalize through ProviderOrder, which caused the settings display to disagree with the applied selection. Parse, resolve, select, and toggle now normalize with Guards key checks, store canonical IDs, and still cap at three with absent-preservation and __none__ semantics. * refactor(popup): extract overview selection into shared pure module Address Codex P1: move Overview parsing, resolution, selection, and toggle transitions into OverviewProviders.js, tested directly without the KCM. configPopup.qml keeps thin roster adapters plus the config write, and the runtime shares configuredProviderIDs so settings and selection cannot drift again. No behavior change from the alias/case fix. * fix(popup): address review follow-ups on overview selection normalization Remove dead overviewProviderIDsText wrapper and unused test helper, assert the overview cap strictly, normalize stored IDs in toggledSelection, and correct stale raw-ID comments.
8 files changedLine totals unavailable