search and ai stabilization work, localization stablized.

This commit is contained in:
master
2026-02-24 23:29:36 +02:00
parent 4f947a8b61
commit b07d27772e
766 changed files with 55299 additions and 3221 deletions

View File

@@ -55,8 +55,75 @@ const adminTestSession: StubAuthSession = {
],
};
/** Minimal runtime config for deterministic SPA bootstrap in E2E. */
const e2eRuntimeConfig = {
setup: 'complete',
authority: {
issuer: 'https://127.0.0.1',
clientId: 'stellaops-web-e2e',
authorizeEndpoint: 'https://127.0.0.1/connect/authorize',
tokenEndpoint: 'https://127.0.0.1/connect/token',
logoutEndpoint: 'https://127.0.0.1/connect/logout',
redirectUri: 'https://127.0.0.1/auth/callback',
postLogoutRedirectUri: 'https://127.0.0.1/',
scope: 'openid profile ui.read',
audience: 'stellaops',
dpopAlgorithms: ['ES256'],
refreshLeewaySeconds: 60,
},
apiBaseUrls: {
authority: '',
gateway: '',
policy: '',
scanner: '',
concelier: '',
attestor: '',
},
telemetry: {
sampleRate: 0,
},
};
export const test = base.extend<{ authenticatedPage: Page }>({
authenticatedPage: async ({ page }, use) => {
// Ensure APP_INITIALIZER config resolution does not hang on missing backend proxy targets.
await page.route('**/platform/envsettings.json', (route) => {
route.fulfill({
status: 200,
contentType: 'application/json',
body: JSON.stringify(e2eRuntimeConfig),
});
});
await page.route('**/config.json', (route) => {
route.fulfill({
status: 200,
contentType: 'application/json',
body: JSON.stringify(e2eRuntimeConfig),
});
});
// Keep backend probe guard reachable in isolated E2E runs.
await page.route('https://127.0.0.1/.well-known/openid-configuration', (route) => {
route.fulfill({
status: 200,
contentType: 'application/json',
body: JSON.stringify({
issuer: 'https://127.0.0.1',
authorization_endpoint: 'https://127.0.0.1/connect/authorize',
}),
});
});
// Prevent background health polling from failing the shell bootstrap path.
await page.route('**/health', (route) => {
route.fulfill({
status: 200,
contentType: 'application/json',
body: JSON.stringify({ status: 'ok' }),
});
});
// Intercept branding endpoint that can return 500 in dev/Docker
await page.route('**/console/branding**', (route) => {
route.fulfill({