fix: not login can not show model

This commit is contained in:
Askhz 2026-04-21 21:08:44 +08:00
parent 32c6f68734
commit 3f7fa33aa1
2 changed files with 18 additions and 0 deletions

View File

@ -37,6 +37,7 @@ import { generateMachineId, saveCoStrictCredentials } from '../../costrict/provi
import { extractExpiryFromJWT } from '../../costrict/provider/token.js';
import { updateSettingsForSource } from '../../utils/settings/settings.js';
import { useSetAppState as useSetGlobalAppState } from '../../state/AppState.js';
import { isNotLoggedIn } from '../../utils/logoV2Utils.js';
function ModelPickerWrapper({
onDone,
@ -339,6 +340,15 @@ export const call: LocalJSXCommandCall = async (onDone, _context, args) => {
return <SetModelAndClose args={args} onDone={onDone} />;
}
// Check if user is logged in before showing model picker
if (isNotLoggedIn()) {
// User is not logged in, redirect to login
onDone('You need to login first. Use /login to authenticate.', {
display: 'system',
});
return;
}
return <ModelPickerWrapper onDone={onDone} />;
};

View File

@ -288,6 +288,8 @@ export function ConsoleOAuthFlow({
updateSettingsForSource('userSettings', { model: getDefaultSonnetModel() } as any)
// Clear costrict env var to prevent conflicts
delete process.env.CLAUDE_CODE_USE_COSTRICT
// Reset AppState model so logo reflects the new provider default
setAppState(prev => ({ ...prev, mainLoopModel: null, mainLoopModelForSession: null }))
setOAuthStatus({ state: 'success' })
void sendNotification(
@ -734,6 +736,8 @@ function OAuthStatusMessage({
delete process.env.CLAUDE_CODE_USE_COSTRICT
// Set default model to sonnet for this provider
updateSettingsForSource('userSettings', { model: getDefaultSonnetModel() } as any)
// Reset AppState model so logo reflects the new provider default
setAppState(prev => ({ ...prev, mainLoopModel: null, mainLoopModelForSession: null }))
setOAuthStatus({ state: 'success' })
void onDone()
}
@ -958,6 +962,8 @@ function OAuthStatusMessage({
delete process.env.CLAUDE_CODE_USE_COSTRICT
// Set default model to sonnet for this provider
updateSettingsForSource('userSettings', { model: getDefaultSonnetModel() } as any)
// Reset AppState model so logo reflects the new provider default
setAppState(prev => ({ ...prev, mainLoopModel: null, mainLoopModelForSession: null }))
setOAuthStatus({ state: 'success' })
void onDone()
}
@ -1195,6 +1201,8 @@ function OAuthStatusMessage({
delete process.env.CLAUDE_CODE_USE_COSTRICT
// Set default model to sonnet for this provider
updateSettingsForSource('userSettings', { model: getDefaultSonnetModel() } as any)
// Reset AppState model so logo reflects the new provider default
setAppState(prev => ({ ...prev, mainLoopModel: null, mainLoopModelForSession: null }))
setOAuthStatus({ state: 'success' })
void onDone()
}