used default fallback provider and model if default are set (#8650)
This commit is contained in:
@@ -87,6 +87,8 @@ vi.mock('./components/ModelAndProviderContext', () => ({
|
|||||||
provider: null,
|
provider: null,
|
||||||
model: null,
|
model: null,
|
||||||
getCurrentModelAndProvider: vi.fn(),
|
getCurrentModelAndProvider: vi.fn(),
|
||||||
|
getFallbackModelAndProvider: vi.fn().mockResolvedValue({ provider: '', model: '' }),
|
||||||
|
refreshCurrentModelAndProvider: vi.fn().mockResolvedValue(undefined),
|
||||||
setCurrentModelAndProvider: vi.fn(),
|
setCurrentModelAndProvider: vi.fn(),
|
||||||
}),
|
}),
|
||||||
}));
|
}));
|
||||||
@@ -205,8 +207,6 @@ describe('App Component - Brand New State', () => {
|
|||||||
window.location.hash = '';
|
window.location.hash = '';
|
||||||
window.location.search = '';
|
window.location.search = '';
|
||||||
window.location.pathname = '/';
|
window.location.pathname = '/';
|
||||||
window.sessionStorage?.clear?.();
|
|
||||||
window.localStorage?.clear?.();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export default function OnboardingGuard({ children }: OnboardingGuardProps) {
|
|||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { read, upsert, getProviders } = useConfig();
|
const { read, upsert, getProviders } = useConfig();
|
||||||
const { refreshCurrentModelAndProvider } = useModelAndProvider();
|
const { getFallbackModelAndProvider, refreshCurrentModelAndProvider } = useModelAndProvider();
|
||||||
|
|
||||||
const [isCheckingProvider, setIsCheckingProvider] = useState(true);
|
const [isCheckingProvider, setIsCheckingProvider] = useState(true);
|
||||||
const [hasProvider, setHasProvider] = useState(false);
|
const [hasProvider, setHasProvider] = useState(false);
|
||||||
@@ -67,7 +67,25 @@ export default function OnboardingGuard({ children }: OnboardingGuardProps) {
|
|||||||
for (let attempt = 0; attempt <= retries; attempt++) {
|
for (let attempt = 0; attempt <= retries; attempt++) {
|
||||||
try {
|
try {
|
||||||
const provider = (await read('GOOSE_PROVIDER', false, { throwOnError: true })) as string | null;
|
const provider = (await read('GOOSE_PROVIDER', false, { throwOnError: true })) as string | null;
|
||||||
setHasProvider(!!provider?.trim());
|
if (provider?.trim()) {
|
||||||
|
setHasProvider(true);
|
||||||
|
setIsCheckingProvider(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const fallback = await getFallbackModelAndProvider();
|
||||||
|
if (fallback.provider?.trim() && fallback.model?.trim()) {
|
||||||
|
const configuredProvider = (await read('GOOSE_PROVIDER', false)) as string | null;
|
||||||
|
const configuredModel = (await read('GOOSE_MODEL', false)) as string | null;
|
||||||
|
if (configuredProvider?.trim() && configuredModel?.trim()) {
|
||||||
|
await refreshCurrentModelAndProvider();
|
||||||
|
setHasProvider(true);
|
||||||
|
setIsCheckingProvider(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setHasProvider(false);
|
||||||
setIsCheckingProvider(false);
|
setIsCheckingProvider(false);
|
||||||
return;
|
return;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user