mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-01 08:13:37 +00:00
fix(ui): Sync phaseModels to server when changed
Previously, phaseModels only persisted to localStorage but the server reads from settings.json file. Now setPhaseModel/setPhaseModels/resetPhaseModels call syncSettingsToServer() to keep server-side settings in sync. Also added phaseModels to the syncSettingsToServer() updates object. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -223,6 +223,7 @@ export async function syncSettingsToServer(): Promise<boolean> {
|
||||
muteDoneSound: state.muteDoneSound,
|
||||
enhancementModel: state.enhancementModel,
|
||||
validationModel: state.validationModel,
|
||||
phaseModels: state.phaseModels,
|
||||
autoLoadClaudeMd: state.autoLoadClaudeMd,
|
||||
keyboardShortcuts: state.keyboardShortcuts,
|
||||
aiProfiles: state.aiProfiles,
|
||||
|
||||
@@ -766,9 +766,9 @@ export interface AppActions {
|
||||
setValidationModel: (model: ModelAlias) => void;
|
||||
|
||||
// Phase Model actions
|
||||
setPhaseModel: (phase: PhaseModelKey, model: ModelAlias | CursorModelId) => void;
|
||||
setPhaseModels: (models: Partial<PhaseModelConfig>) => void;
|
||||
resetPhaseModels: () => void;
|
||||
setPhaseModel: (phase: PhaseModelKey, model: ModelAlias | CursorModelId) => Promise<void>;
|
||||
setPhaseModels: (models: Partial<PhaseModelConfig>) => Promise<void>;
|
||||
resetPhaseModels: () => Promise<void>;
|
||||
|
||||
// Cursor CLI Settings actions
|
||||
setEnabledCursorModels: (models: CursorModelId[]) => void;
|
||||
@@ -1590,21 +1590,34 @@ export const useAppStore = create<AppState & AppActions>()(
|
||||
setValidationModel: (model) => set({ validationModel: model }),
|
||||
|
||||
// Phase Model actions
|
||||
setPhaseModel: (phase, model) =>
|
||||
setPhaseModel: async (phase, model) => {
|
||||
set((state) => ({
|
||||
phaseModels: {
|
||||
...state.phaseModels,
|
||||
[phase]: model,
|
||||
},
|
||||
})),
|
||||
setPhaseModels: (models) =>
|
||||
}));
|
||||
// Sync to server settings file
|
||||
const { syncSettingsToServer } = await import('@/hooks/use-settings-migration');
|
||||
await syncSettingsToServer();
|
||||
},
|
||||
setPhaseModels: async (models) => {
|
||||
set((state) => ({
|
||||
phaseModels: {
|
||||
...state.phaseModels,
|
||||
...models,
|
||||
},
|
||||
})),
|
||||
resetPhaseModels: () => set({ phaseModels: DEFAULT_PHASE_MODELS }),
|
||||
}));
|
||||
// Sync to server settings file
|
||||
const { syncSettingsToServer } = await import('@/hooks/use-settings-migration');
|
||||
await syncSettingsToServer();
|
||||
},
|
||||
resetPhaseModels: async () => {
|
||||
set({ phaseModels: DEFAULT_PHASE_MODELS });
|
||||
// Sync to server settings file
|
||||
const { syncSettingsToServer } = await import('@/hooks/use-settings-migration');
|
||||
await syncSettingsToServer();
|
||||
},
|
||||
|
||||
// Cursor CLI Settings actions
|
||||
setEnabledCursorModels: (models) => set({ enabledCursorModels: models }),
|
||||
|
||||
Reference in New Issue
Block a user