fix: show all enabled providers in merged switcher#525
fix: show all enabled providers in merged switcher#525ratulsarna merged 2 commits intosteipete:mainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7af0ea42b8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The merged menu switcher, merge-icons logic, icon visibility, and animation state filtered providers by credential availability via enabledProviders(), silently hiding user-enabled providers that lacked configured credentials. Add enabledProvidersForDisplay() that skips availability filtering and use it across the UI pipeline (switcher data source, merged-mode detection, icon visibility, animation state, menu card width, and provider resolution fallbacks). Data paths (refresh, snapshots, widgets, CLI) retain availability filtering. fallbackProvider intentionally keeps the filtered list so the codex fallback icon appears when no provider has credentials. Closes #203
89c1966 to
151085d
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 151085d8ed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 151085d8ed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- primaryProviderForUnifiedIcon: revert fallback to enabledProviders() so animation continues while available providers are still loading - resolvedMenuProvider: prefer isProviderAvailable() match so default menu content aligns with the status bar icon Addresses review feedback from ratulsarna on PR #525.
|
Thanks @Astro-Han ! |
* fix: show all enabled providers in switcher regardless of availability The merged menu switcher, merge-icons logic, icon visibility, and animation state filtered providers by credential availability via enabledProviders(), silently hiding user-enabled providers that lacked configured credentials. Add enabledProvidersForDisplay() that skips availability filtering and use it across the UI pipeline (switcher data source, merged-mode detection, icon visibility, animation state, menu card width, and provider resolution fallbacks). Data paths (refresh, snapshots, widgets, CLI) retain availability filtering. fallbackProvider intentionally keeps the filtered list so the codex fallback icon appears when no provider has credentials. Closes steipete#203 * fix: prefer available provider in merged-mode fallbacks - primaryProviderForUnifiedIcon: revert fallback to enabledProviders() so animation continues while available providers are still loading - resolvedMenuProvider: prefer isProviderAvailable() match so default menu content aligns with the status bar icon Addresses review feedback from ratulsarna on PR steipete#525.
Summary
enabledProvidersForDisplay()toUsageStorethat returns enabled providers without filtering by credential availabilitypopulateMenu) and merge-icons logic (shouldMergeIcons) now use the display list, so all user-enabled providers appear in the merged menu regardless of whether their credentials are configuredContext
The merged menu switcher previously used
enabledProviders(), which filters out providers whose credentials aren't configured viaisProviderAvailable(). This silently hid user-enabled providers from the switcher UI, making it appear that adding a provider had no effect.This is a minimal, defensive fix — data fetch, animations, widgets, and separate-mode logic continue to use the availability-filtered list.
Closes #203
Test plan
swift buildpassesswift testpasses (8 pre-existing keychain-related failures on CI/local, unrelated)