From 60ed0142e6bd5210ae1129d5c939d9c37dbf6b1f Mon Sep 17 00:00:00 2001 From: "Popov, Kristian" Date: Thu, 20 Aug 2026 14:45:23 +0200 Subject: [PATCH 1/2] fix: tell the router where the site starts, so a refreshed deep link is not a 404 --- frontend/src/App.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index de3d32e..8b5a8a4 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -14,7 +14,13 @@ import { RegisterPage } from './pages/RegisterPage' export function App() { return ( - + {/* + The site is served from a subdirectory on GitHub Pages, so the router has to be told where + it starts. Without this every path arrives as //books, matches no route, falls to the + catch-all and navigates to /books at the domain root - which really is a 404. BASE_URL is + '/' during development, so this is a no-op there. + */} + } /> } /> From 7141158c82c229eef89988ed80ee3f1d55e91f37 Mon Sep 17 00:00:00 2001 From: "Popov, Kristian" Date: Thu, 20 Aug 2026 15:20:21 +0200 Subject: [PATCH 2/2] ci: let the java job create check runs, so the test report actually publishes --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 075b641..d75d090 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,6 +24,10 @@ jobs: java: name: ${{ matrix.name }} runs-on: ubuntu-latest + # The test report is published as a check run, which the read-only default token cannot create. + permissions: + contents: read + checks: write strategy: # One service failing should not hide the state of the other two. fail-fast: false