+ This page doesn't exist. Maybe it never did - or maybe you{" "} + + just guessed wrong + + . +
+ +- A word appears. You pick the translation. You score points. - Then you queue up a room and{" "} - beat friends{" "} + A word appears. You pick the translation. You score points. Then you + queue up a room and{" "} + + beat friends + {" "} in real time.
diff --git a/apps/web/src/routes/__root.tsx b/apps/web/src/routes/__root.tsx index 1dc4378..4dcdf3c 100644 --- a/apps/web/src/routes/__root.tsx +++ b/apps/web/src/routes/__root.tsx @@ -1,6 +1,7 @@ import { createRootRoute, Outlet } from "@tanstack/react-router"; import { TanStackRouterDevtools } from "@tanstack/react-router-devtools"; import Navbar from "../components/navbar/NavBar"; +import NotFound from "../components/NotFound"; const RootLayout = () => { return ( @@ -14,4 +15,7 @@ const RootLayout = () => { ); }; -export const Route = createRootRoute({ component: RootLayout }); +export const Route = createRootRoute({ + component: RootLayout, + notFoundComponent: NotFound, +}); diff --git a/documentation/backlog.md b/documentation/backlog.md index 127ee05..82bdf94 100644 --- a/documentation/backlog.md +++ b/documentation/backlog.md @@ -8,9 +8,6 @@ Labels: `[feature]` `[infra]` `[security]` `[ux]` `[debt]` Things that are actively in progress or should be picked up immediately. Mostly operational risk and the remaining phase 7 hardening work. -- **404 and redirect handling** `[ux]` - Unknown routes return raw errors. Add a catch-all route on the frontend for client-side 404s. Consider a Caddy fallback for unrecognized subdomains. - - **React error boundaries** `[ux]` Catch and display runtime errors gracefully instead of crashing the entire app. @@ -29,9 +26,6 @@ Things that are actively in progress or should be picked up immediately. Mostly - **Conditionally register OAuth providers** `[debt]` Better Auth logs warnings when social providers are registered without credentials (`Social provider google is missing clientId or clientSecret`). Instead of registering all providers unconditionally, only add a provider to the config when its credentials are present in the environment. Keeps local dev clean for contributors who don't have OAuth apps set up. -- **Multiplayer GameService unit tests** `[debt]` - round evaluation, scoring, tie-breaking, timeout handling - --- ## next @@ -117,6 +111,8 @@ Directionally right, timing is unclear. Revisit when the next/now work is done. Shipped milestones, newest first. +- **04 - 2026 - 404 and redirect handling** - Unknown routes return raw errors. Add a catch-all route on the frontend for client-side 404s. +- **04 - 2026 - Multiplayer GameService unit tests** - round evaluation, scoring, tie-breaking, timeout handling - **04 - 2026 - Security headers with helmet** - Add helmet middleware to set secure HTTP response headers. - **04 - 2026 - Rate limiting on API endpoints** - At minimum: auth endpoints (brute force prevention) and game endpoints (spam prevention) - **04 - 2026 — Migrations in deploy pipeline** — Drizzle migrate runs as a CI/CD step before the API container restarts diff --git a/documentation/notes.md b/documentation/notes.md index 2da500d..eb25e7a 100644 --- a/documentation/notes.md +++ b/documentation/notes.md @@ -1,5 +1,19 @@ # notes + +## prompt + +ive attached the readme of my project. this is my current task: + +task description. + +1. tell me which files you need to see to get the full context of the problem +2. walk me text-only through the problem and the solution +3. if we need to update multiple files: lets go through them one by one, no matter how many files +4. if we go through a file, we'll do it slowly section by section, no matter how many sections +5. how to name the current feature branch? also tell me when its time to git commit and provide a commit message +6. if we have multiple options to do something, also always provide options that reflect current industry standards and best practices + ## tasks - **IMPORTANT** db migrations have to be part of the deployment pipeline!!!!!!!!!!!!!!!!!!