Skip to content

Commit bba0a8a

Browse files
committed
fix: deep-merge providers in updateSettings to prevent resetting sibling provider settings
1 parent d6099ed commit bba0a8a

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

apps/server/src/serverSettings.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,19 @@ const makeServerSettings = Effect.gen(function* () {
271271
writeSemaphore.withPermits(1)(
272272
Effect.gen(function* () {
273273
const current = yield* getSettingsFromCache;
274-
const next: ServerSettings = { ...current, ...patch };
274+
const next: ServerSettings = {
275+
...current,
276+
...patch,
277+
providers: patch.providers
278+
? {
279+
codex: { ...current.providers.codex, ...patch.providers.codex },
280+
claudeAgent: {
281+
...current.providers.claudeAgent,
282+
...patch.providers.claudeAgent,
283+
},
284+
}
285+
: current.providers,
286+
};
275287
yield* writeSettingsAtomically(next);
276288
yield* Cache.set(settingsCache, cacheKey, next);
277289
yield* emitChange(next);

0 commit comments

Comments
 (0)