| … | … | @@ -132,7 +132,7 @@ function applyInstanceModelPreferences( | |
| 133 | 133 | const hiddenModels = new Set(preferences.hiddenModels); | |
| 134 | 134 | return sortModelsForProviderInstance( | |
| 135 | - | options.filter((option) => option.isCustom || !hiddenModels.has(option.slug)), | |
| 135 | + | options.filter((option) => !hiddenModels.has(option.slug)), | |
🟠 High src/modelSelection.ts:135
Hiding a custom model that is already selected silently substitutes another model in the composer, even when the model still exists in the catalog and preserveUnavailableSelection is true. This filter also feeds resolveAppModelSelectionForInstance, so keep picker visibility filtering separate from validation of existing selections against configured models.
🤖 Copy this AI Prompt to have your agent fix this:
| 1 | In file @apps/web/src/modelSelection.ts around line 135: |
| 2 | |
| 3 | Hiding a custom model that is already selected silently substitutes another model in the composer, even when the model still exists in the catalog and `preserveUnavailableSelection` is `true`. This filter also feeds `resolveAppModelSelectionForInstance`, so keep picker visibility filtering separate from validation of existing selections against configured models. |
Fixed in 56c92b577. Picker options remain visibility-filtered, while selection validation uses the configured custom-model catalog. Hidden custom selections are retained in the composer and saved defaults; built-in fallback behavior is unchanged. Updated the existing regression table to verify both resolution modes and confirm the hidden custom model remains absent from picker options. The regression failed before the fix; vp run check:changed now passes (136 tests and 8 React compiler cases).
Sorry, I'm unable to act on this request because you do not have permissions within this repository.