The route loads run ahead of the root layout script, so validateApiKey read the settings store while it still held factory defaults and probed /props without the stored key. initStores() now hands the same startup promise to every caller and the chat loads await it before probing. The one-time admin baseline no longer overwrites a key the user has already set: on a first visit the config carries factory values only, so a diverging key comes from the user and wins.
11 lines
382 B
TypeScript
11 lines
382 B
TypeScript
import type { PageLoad } from './$types';
|
|
import { initStores } from '$lib/stores/init';
|
|
import { validateApiKey } from '$lib/utils';
|
|
|
|
export const load: PageLoad = async ({ fetch }) => {
|
|
// loads run before the root layout script, so the stored API key reaches
|
|
// the probe only once the settings store has read localStorage
|
|
await initStores();
|
|
await validateApiKey(fetch);
|
|
};
|