Repository navigation
Parkfuchs 2.0.0
Parkfuchs 2.0.0
This release migrates the website from Next.js to TanStack Start and modernizes the toolchain.
Highlights
- Framework migration: Next.js App Router → TanStack Start 1.168 (TanStack Router + Vite + Nitro), restructured into
src/. - Server functions: all server actions now use
createServerFn(src/db/*.functions.ts), split from the PocketBase logic in*.server.ts. - Typed contracts:
GET /api/cityresponses are validated with zod; the typed HTTP client validates the wire format at runtime (noany/as). - Tooling: pnpm replaces npm, ESLint 10 with
@tanstack/eslint-config, path alias@/*for all imports. - Nix: rewritten
flake.nix(pnpm build withfetchPnpmDeps+pnpmConfigHook, dev shell) and an updatedservices.parkfuchsNixOS module; Docker setup removed. - Fixes: number input in the report dialog was impossible to edit (validation fight), green focus rings, geolocation env loading, hydration warnings caused by browser extensions.
Breaking
- Runtime now reads env vars from
.envvia Vite (TOMTOM_KEY,DB_HOST); in production the NixOS module or process environment provides them. GET /api/citywire format is unchanged (children ofcityInboxwithexpand.city), but the endpoint now always serves raw PocketBase records withoutcityRef.