mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-04 09:13:08 +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,
|
muteDoneSound: state.muteDoneSound,
|
||||||
enhancementModel: state.enhancementModel,
|
enhancementModel: state.enhancementModel,
|
||||||
validationModel: state.validationModel,
|
validationModel: state.validationModel,
|
||||||
|
phaseModels: state.phaseModels,
|
||||||
autoLoadClaudeMd: state.autoLoadClaudeMd,
|
autoLoadClaudeMd: state.autoLoadClaudeMd,
|
||||||
keyboardShortcuts: state.keyboardShortcuts,
|
keyboardShortcuts: state.keyboardShortcuts,
|
||||||
aiProfiles: state.aiProfiles,
|
aiProfiles: state.aiProfiles,
|
||||||
|
|||||||
@@ -766,9 +766,9 @@ export interface AppActions {
|
|||||||
setValidationModel: (model: ModelAlias) => void;
|
setValidationModel: (model: ModelAlias) => void;
|
||||||
|
|
||||||
// Phase Model actions
|
// Phase Model actions
|
||||||
setPhaseModel: (phase: PhaseModelKey, model: ModelAlias | CursorModelId) => void;
|
setPhaseModel: (phase: PhaseModelKey, model: ModelAlias | CursorModelId) => Promise<void>;
|
||||||
setPhaseModels: (models: Partial<PhaseModelConfig>) => void;
|
setPhaseModels: (models: Partial<PhaseModelConfig>) => Promise<void>;
|
||||||
resetPhaseModels: () => void;
|
resetPhaseModels: () => Promise<void>;
|
||||||
|
|
||||||
// Cursor CLI Settings actions
|
// Cursor CLI Settings actions
|
||||||
setEnabledCursorModels: (models: CursorModelId[]) => void;
|
setEnabledCursorModels: (models: CursorModelId[]) => void;
|
||||||
@@ -1590,21 +1590,34 @@ export const useAppStore = create<AppState & AppActions>()(
|
|||||||
setValidationModel: (model) => set({ validationModel: model }),
|
setValidationModel: (model) => set({ validationModel: model }),
|
||||||
|
|
||||||
// Phase Model actions
|
// Phase Model actions
|
||||||
setPhaseModel: (phase, model) =>
|
setPhaseModel: async (phase, model) => {
|
||||||
set((state) => ({
|
set((state) => ({
|
||||||
phaseModels: {
|
phaseModels: {
|
||||||
...state.phaseModels,
|
...state.phaseModels,
|
||||||
[phase]: model,
|
[phase]: model,
|
||||||
},
|
},
|
||||||
})),
|
}));
|
||||||
setPhaseModels: (models) =>
|
// Sync to server settings file
|
||||||
|
const { syncSettingsToServer } = await import('@/hooks/use-settings-migration');
|
||||||
|
await syncSettingsToServer();
|
||||||
|
},
|
||||||
|
setPhaseModels: async (models) => {
|
||||||
set((state) => ({
|
set((state) => ({
|
||||||
phaseModels: {
|
phaseModels: {
|
||||||
...state.phaseModels,
|
...state.phaseModels,
|
||||||
...models,
|
...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
|
// Cursor CLI Settings actions
|
||||||
setEnabledCursorModels: (models) => set({ enabledCursorModels: models }),
|
setEnabledCursorModels: (models) => set({ enabledCursorModels: models }),
|
||||||
|
|||||||
Reference in New Issue
Block a user