diff --git a/CHANGELOG.md b/CHANGELOG.md index beaf435..fbf07d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,18 @@ and this project follows [Semantic Versioning](https://semver.org/). - Upgraded Prisma from 5.22 to 7.10. Prisma 7 connects through the `@prisma/adapter-pg` driver adapter (node-postgres) instead of the Rust query engine. The database URL moved from `schema.prisma` to the new `backend/prisma.config.js`, which loads `backend/.env` itself. All Prisma clients are now created in `src/config/db.js`, and the server shares one client instead of opening two connection pools. No schema or migration changes. - Prisma 7 checks TLS certificates on database connections. A `DATABASE_URL` that uses SSL with a self-signed or otherwise invalid certificate now fails to connect where Prisma 5 accepted it. - `npm run dev` in the backend now uses Node's built-in `node --watch` instead of `nodemon`. +- The frontend now passes ESLint with no errors or warnings, down from 1,137, and `next build` runs ESLint again. It was skipped before (`eslint.ignoreDuringBuilds`), which is how the issues built up. + - API data is now typed. `src/types` describes the records the backend returns, modelled on the Prisma schema, and `apiFetch` returns `unknown` unless the caller names a type, so untyped responses no longer pass silently. + - Effects list everything they depend on. Data loaders are wrapped in `useCallback`, so a page reloads when its inputs change instead of showing stale data. + - The pricing helpers that were copied into several pages now live in `src/lib/pricing.ts`. + +### Fixed + +- Internal links on the home page, the 404 page and "Forgot your password?" now navigate client-side instead of reloading the whole page. +- Changing the page size on Admin → Users fetched the list twice; it now fetches once. +- At the door, the refund history now shows a refund's reason. The page was reading a field that doesn't exist, so the reason never appeared. +- In the Master Orders report, a ticket option named like one of the fixed columns (e.g. "name") could overwrite that column's value. +- Removed code that could never run: an unreachable "Pay with Yoco" button on the registration form, an unused attendee-forms block on the registration success page, unused export helpers in Reports, and fonts that were downloaded but never applied. ### Security