mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-08 01:14:52 +00:00
fix(app): preserve thinking defaults in legacy fork drafts
Resolve the legacy default model placeholder through the same canonical model lookup used for selection and identity comparisons.
This commit is contained in:
@@ -1477,3 +1477,16 @@ it("keeps a new model's thinking preference when pending fork defaults finish re
|
||||
});
|
||||
expect(ready.form).toEqual(edited.form);
|
||||
});
|
||||
|
||||
it("preserves saved thinking when a legacy default-model fork resolves", () => {
|
||||
const resolved = resolveFormState(
|
||||
{ provider: "codex", model: "default", thinkingOptionId: "low" },
|
||||
{ providerPreferences: { codex: { thinkingByModel: { "gpt-5.3-codex": "xhigh" } } } },
|
||||
CODEX_MODELS,
|
||||
INITIAL_USER_MODIFIED,
|
||||
makeState().form,
|
||||
codexProviderMap,
|
||||
);
|
||||
expect(resolved.model).toBe("gpt-5.3-codex");
|
||||
expect(resolved.thinkingOptionId).toBe("low");
|
||||
});
|
||||
|
||||
@@ -141,7 +141,11 @@ function resolveCanonicalModelId(
|
||||
): string {
|
||||
const normalizedModelId = normalizeSelectedModelId(modelId);
|
||||
if (!normalizedModelId || !availableModels) return normalizedModelId;
|
||||
return findModelByReference(availableModels, normalizedModelId)?.id ?? "";
|
||||
const model = findModelByReference(availableModels, normalizedModelId);
|
||||
if (model) return model.id;
|
||||
// COMPAT(default-model-id): added in v0.7.2, remove after 2026-12-06.
|
||||
// Older drafts used "default" before providers exposed concrete model IDs.
|
||||
return normalizedModelId === "default" ? resolveDefaultModelId(availableModels) : "";
|
||||
}
|
||||
|
||||
export function resolveEffectiveModel(
|
||||
@@ -304,13 +308,6 @@ function resolveModelField(input: {
|
||||
if (!provider) return "";
|
||||
const initialModel = normalizeSelectedModelId(initialValues?.model);
|
||||
const preferredModel = normalizeSelectedModelId(providerPrefs?.model);
|
||||
// COMPAT(default-model-id): added in v0.7.2, remove after 2026-12-06.
|
||||
// Older drafts used "default" before providers exposed concrete model IDs.
|
||||
if ((initialModel || preferredModel) === "default" && availableModels?.length) {
|
||||
return (
|
||||
findModelByReference(availableModels, "default")?.id || resolveDefaultModelId(availableModels)
|
||||
);
|
||||
}
|
||||
if (initialModel) {
|
||||
return !availableModels
|
||||
? initialModel
|
||||
|
||||
Reference in New Issue
Block a user