Files
hope-events/CHANGELOG.md
T
2026-07-27 15:06:08 +02:00

6.0 KiB

Changelog

All notable changes to this project are documented in this file.

The format is based on Keep a Changelog, and this project follows Semantic Versioning.

Unreleased

1.3.0 - 2026-07-27

Added

  • At The Door: new "Check-In" tab (before "Tickets" in the tab order) for quickly redeeming a registration's Main Tickets by quantity (e.g. checking in 2 of 3 people on a booking) without scanning each QR code individually. Like the Payment tab, it only ever shows the currently opened registration — reached via the "Open" button, not a general search.
  • Checking in a Main Ticket (via the new Check-In tab or the existing QR camera scanner) now automatically sends the ticket holder a confirmation email and WhatsApp message (respecting their notification preference) stating how many were checked in and how many remain.

Changed

  • At The Door: the "Open" button on a registration now jumps to the Payment tab only when a balance is still outstanding; fully paid registrations jump straight to the new Check-In tab instead.
  • At The Door: recording a payment that fully settles a registration's balance now jumps straight to the Check-In tab instead of generating and print-previewing a paper ticket — tickets are already emailed/WhatsApped to the attendee automatically once the registration is paid, so a physical print is no longer forced on this path.

1.2.0 - 2026-07-27

Added

  • Supervisor dashboard: /dashboard/supervisor/manual now has a "Record Payment" tab (alongside "Register"), for capturing a payment without leaving the page. It pre-fills with the user and registration from the most recently created manual registration, but only switches tabs when a supervisor/admin clicks it themselves.

Changed

  • Self-service payments ("Pay with Yoco" after registering, and "Make payment" on the user dashboard) now go straight to a Yoco checkout for the full remaining outstanding balance, instead of first showing a page to choose a custom/partial amount. Generating a partial-amount payment link remains available only from the supervisor/admin Payments dashboard.

Removed

  • /dashboard/user/pay — the self-service partial-payment page — has been removed; it's no longer linked to from anywhere in the app.

Fixed

  • /registration/success read the auth token from the wrong localStorage key (token instead of hope_events_token), which silently broke loading the registration/attendee-form data on that page and made the "Pay with Yoco" button fail with "Not authorized, token failed". Now uses the shared auth context, like the rest of the app.
  • User dashboard: clicking "Make payment" briefly showed a "Sending tickets…" loading dialog (borrowed from the ticket-email flow) instead of a payment-specific message.

1.1.0 - 2026-07-24

Added

  • User dashboard: new "Payment history" page listing the user's own payments (donations excluded), with server-side pagination (25 per page), date range, method, and payment/refund filters.
  • User dashboard: registration status (Pending/Confirmed/Partially Paid/Paid/Cancelled) is now shown as a colored badge, matching the existing event Closed/Past/Inactive badge convention, instead of a raw status string.
  • Dashboard-wide: inline success/error/confirmation messages (e.g. after creating a manual registration on /dashboard/supervisor/manual) now auto-dismiss after 7 seconds instead of persisting indefinitely, via a new shared useDismissingState hook. Applied consistently across all dashboard pages with this pattern; excluded are message-only modal dialogs (e.g. ticket-scanning's success/error confirmations, which still require a manual OK) and a couple of mixed validation/async error states shown inside actively-open forms (the registration-edit modal and the event create/edit modal), which continue to persist until the user acts.

Fixed

  • Cashup/reports: payments tagged with a digital wallet method (e.g. apple_pay, google_pay from online checkouts) are now bucketed as "card" for reconciliation instead of silently falling into "other".
  • User dashboard payment history: GET /api/payments/mypayments now normalizes method to the fixed set cash/card/eft/voucher/other. Card-network wallet payments (apple_pay, google_pay) are reported and filterable as "card"; any other gateway-reported value falls under "other" — instead of exposing raw, inconsistent gateway strings the filter dropdown didn't know about.
  • User dashboard: the registration payment list (shown on the main dashboard when viewing a registration's bill) applies the same cash/card/eft/voucher/other normalization client-side, so it no longer shows a raw apple_pay/google_pay string. Staff-facing payment views (supervisor payments, reports, cashup) are unaffected — they still show the raw method, which is what reconciliation needs.

1.0.1 - 2026-07-23

Added

  • User dashboard: event titles now show a status badge (Closed / Past / Inactive, in that precedence) wherever they're listed.

Fixed

  • User dashboard: registration-edit errors now show inside the edit popup instead of being hidden behind it.
  • User dashboard: closed events are now hidden by default alongside past events (revealed via "Show past events"), and the Edit, Make payment, and Cancel registration actions no longer appear for closed or past registrations (also enforced server-side).

1.0.0 - 2026-07-23

Added

  • Initial release of the Hope Family Church event management app (Next.js frontend + Express/Prisma backend).