Uh oh!
There was an error while loading. Please reload this page.
improvement(models): sort model dropdown by latest release date within each provider - #5099
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Adds Unit tests cover grouping, newest-first ordering, cross-provider order, unknown IDs, case insensitivity, and stable ID sets. Reviewed by Cursor Bugbot for commit 7ee4d97. Configure here. |
Uh oh!
There was an error while loading. Please reload this page.
Greptile SummaryThis PR adds a
Confidence Score: 5/5Safe to merge — the change is a pure display-ordering helper with no effect on stored state, execution, or dynamic providers. The sorting logic is correct: No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["getModelOptions()"] --> B["providersState.providers.base.models\n(string[])"]
B --> C["orderModelIdsByReleaseDate(modelIds)"]
C --> D{"For each ID:\nlookup MODEL_CATALOG_INDEX"}
D -- "Found" --> E["Group by providerId\n(Map, insertion-order preserved)"]
D -- "Not found" --> F["unknown[] — dynamic provider IDs"]
E --> G["Sort each bucket:\nnewer releaseTime first\ndeclIndex tiebreaker"]
G --> H["ordered: string[]"]
F --> I["Append unknown IDs at end"]
H --> I
I --> J["allModels = Set([...baseModels, ...ollamaModels, ...])"]
J --> K["Return model options for dropdown"]
M["MODULE LOAD\nMODEL_CATALOG_INDEX\nbuilt once from\nPROVIDER_DEFINITIONS"] -.-> D
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A["getModelOptions()"] --> B["providersState.providers.base.models\n(string[])"]
B --> C["orderModelIdsByReleaseDate(modelIds)"]
C --> D{"For each ID:\nlookup MODEL_CATALOG_INDEX"}
D -- "Found" --> E["Group by providerId\n(Map, insertion-order preserved)"]
D -- "Not found" --> F["unknown[] — dynamic provider IDs"]
E --> G["Sort each bucket:\nnewer releaseTime first\ndeclIndex tiebreaker"]
G --> H["ordered: string[]"]
F --> I["Append unknown IDs at end"]
H --> I
I --> J["allModels = Set([...baseModels, ...ollamaModels, ...])"]
J --> K["Return model options for dropdown"]
M["MODULE LOAD\nMODEL_CATALOG_INDEX\nbuilt once from\nPROVIDER_DEFINITIONS"] -.-> D
Reviews (2): Last reviewed commit: "fix(models): preserve input provider ord..." | Re-trigger Greptile |
Uh oh!
There was an error while loading. Please reload this page.
waleedlatif1
commented
Jun 16, 2026
waleedlatif1
commented
Jun 16, 2026
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 7ee4d97. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Summary
orderModelIdsByReleaseDateto the provider catalog (models.ts) — a pure display-ordering helper; undated models keep declaration order after dated ones, and unknown/dynamic-provider IDs are preserved at the endgetModelOptions, so every model dropdown picks it up through the shared sourceType of Change
Testing
orderModelIdsByReleaseDate(provider grouping preserved, newest-first within provider, unknown IDs last, case-insensitive, no IDs added/dropped)blocks/utils.test.tspassing; typecheck cleanChecklist