🐛(nginx) fix 404 when accessing a doc

We improve the nginx way to access to a specific
doc.
We stop to wait for a initial attempt that
give a 404. If we see a UUID in the url we will
redirect to the doc/[id] page. Next will then
manage the 404.
This commit is contained in:
Anthony LC
2025-04-10 22:54:59 +02:00
parent 96f6aeea60
commit b58c991c81
4 changed files with 13 additions and 13 deletions

View File

@@ -24,6 +24,10 @@ and this project adheres to
⚡️(frontend) reduce unblocking time for config #867
## Fixed
- 🐛(nginx) fix 404 when accessing a doc #866
## [3.1.0] - 2025-04-07
## Added

View File

@@ -1,3 +1,5 @@
import crypto from 'crypto';
import { expect, test } from '@playwright/test';
import {
@@ -101,8 +103,9 @@ test.describe('Doc Routing: Not loggued', () => {
page,
browserName,
}) => {
await mockedDocument(page, { link_reach: 'public' });
await page.goto('/docs/mocked-document-id/');
const uuid = crypto.randomUUID();
await mockedDocument(page, { link_reach: 'public', id: uuid });
await page.goto(`/docs/${uuid}/`);
await expect(page.locator('h2').getByText('Mocked document')).toBeVisible();
await page.getByRole('button', { name: 'Login' }).click();
await keyCloakSignIn(page, browserName, false);

View File

@@ -54,18 +54,11 @@ test.describe.serial('Language', () => {
}) => {
// Helper function to intercept and assert 404 response
const check404Response = async (expectedDetail: string) => {
const expectedBackendResponse = page.waitForResponse(
(response) =>
response.url().includes('/api') &&
response.url().includes('non-existent-doc-uuid') &&
response.status() === 404,
const interceptedBackendResponse = await page.request.get(
'http://localhost:8071/api/v1.0/documents/non-existent-doc-uuid/',
);
// Trigger the specific 404 XHR response by navigating to a non-existent document
await page.goto('/docs/non-existent-doc-uuid');
// Assert that the intercepted error message is in the expected language
const interceptedBackendResponse = await expectedBackendResponse;
expect(await interceptedBackendResponse.json()).toStrictEqual({
detail: expectedDetail,
});

View File

@@ -9,8 +9,8 @@ server {
try_files $uri index.html $uri/ =404;
}
location /docs/ {
error_page 404 /docs/[id]/;
location ~ "^/docs/[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/?$" {
try_files $uri /docs/[id]/index.html;
}
error_page 404 /404.html;