Commit Graph

  • a8d54f1e2a Fix review findings: aggregated-refund/saved-card/legacy-refund idempotency keys, structured Square error classification, CSP for Square SDK popertots 2026-08-03 21:10:17 +01:00
  • 726ac8cb65 Harden money-safety re-review findings: nonce-independent idempotency keys, reconciliation-required logging, terminal-state classification popertots 2026-08-03 19:56:09 +01:00
  • 5fea301e92 Document till money-safety model, nonce retry design, and verified customer_id assumption popertots 2026-08-03 19:27:23 +01:00
  • 965da86b64 Re-tokenize fresh after a definitive card charge failure in all nonce flows popertots 2026-08-03 19:26:50 +01:00
  • 5605402e13 Surface unresolved critical payment states as admin notifications popertots 2026-08-03 19:26:20 +01:00
  • 8a3a7ec062 Mirror Square's customer_id requirement in the dev mock card-creation gate popertots 2026-08-03 19:25:48 +01:00
  • 352f9e50d4 Fix till-sale money safety: sweep gift-card clawback, orphaned-checkout cancel, cash-retry reconciliation popertots 2026-08-03 19:25:17 +01:00
  • 8416f033d6 Fix gift-card transfer deadlock: lock card rows in deterministic ID order popertots 2026-08-03 18:58:12 +01:00
  • cec7167469 Update docs for payment remediation: test counts, advisory locks, de-scope note popertots 2026-08-03 18:14:08 +01:00
  • 439fc16402 Fix sticky Square SDK rejection and clean up script element on failure popertots 2026-08-03 18:13:36 +01:00
  • 8720e28dbe Add webhook-event retention job, schema, and testdb pre-flight hint popertots 2026-08-03 18:13:05 +01:00
  • 5ea89da2ad Make Square webhook dedup restart-safe via database popertots 2026-08-03 18:12:35 +01:00
  • c9d55817f6 Fix data race on shared title-case transformer in profile updates popertots 2026-08-03 18:12:05 +01:00
  • f3d50f6990 Complete Square GDPR erasure: customer deletion and stale-guest scrub popertots 2026-08-03 18:11:34 +01:00
  • 2a78383a2d Expand payment remediation test coverage popertots 2026-08-03 18:11:04 +01:00
  • 57bdeb9232 Adopt shared charge helpers in till and gift-card flows; redact card tokens popertots 2026-08-03 18:10:33 +01:00
  • deb630991e Fix sweep log levels and advisory-lock timer allocation popertots 2026-08-03 18:10:04 +01:00
  • e8abf7b4b3 Refactor payment charge paths into shared helpers; classify Square failures popertots 2026-08-03 18:09:35 +01:00
  • 8ff77bc39b Add tests for Square client hardening and GDPR deletion popertots 2026-08-03 18:09:03 +01:00
  • f0099714ff Harden Square HTTP client and dev mock: DeleteCustomer, response limits, token redaction popertots 2026-08-03 18:08:33 +01:00
  • 457f7a452e Update docs: test counts, Square wire contract, planned upcoming integrations popertots 2026-08-03 14:58:54 +01:00
  • 91fe5ea399 Fix compose backend env file; document R2 and Square webhook variables popertots 2026-08-03 14:58:17 +01:00
  • e5c6458ec7 Fix frontend payment flows: BookingFlow fetch loop, shared TipPayment, card icons, terms route popertots 2026-08-03 14:57:46 +01:00
  • 738f6b6a51 Expand payment test coverage: lock contention, nonce-direct, provisional rows, GDPR scrub, validators popertots 2026-08-03 14:57:04 +01:00
  • 0d22f8d597 Scrub Square card and customer references on anonymization (GDPR) popertots 2026-08-03 14:56:26 +01:00
  • 2652aa66be Redact PII from Square webhook logging popertots 2026-08-03 14:55:55 +01:00
  • 515b828550 Fix gift-card, till, and refund paths: nonce-direct charges, customer_id forwarding, blocking refund lock popertots 2026-08-03 14:55:25 +01:00
  • b6f07fe6e8 Fix booking, tip, and terminal payment paths: cnon-direct charges, ccof customer_id, provisional terminal rows popertots 2026-08-03 14:54:48 +01:00
  • e02567564e Add bounded advisory-lock helper; convert loyalty redemption to try-lock popertots 2026-08-03 14:54:07 +01:00
  • 12af3af3b3 Harden Square HTTP client and dev mock: status codes, token validation, deadline wire format popertots 2026-08-03 14:53:30 +01:00
  • 54a5b1024e Implement full Square payment review fixes + frontend polish popertots 2026-08-03 11:18:03 +01:00
  • fb21538532 Add P14 Square customer provisioning plan and consent placeholder drafts popertots 2026-08-02 23:31:56 +01:00
  • 52e2bfff55 Add dev-only frontend Square mock mode for as-if-live walkthroughs popertots 2026-08-02 22:48:05 +01:00
  • 7439fa86c1 Fix payment review round 3: saved-card idempotency, stale-pending sweep, webhook fail-closed popertots 2026-08-02 21:52:52 +01:00
  • dcc70df75a Update P11 plan: mark sandbox smoke test as blocked (no Square credentials) popertots 2026-08-02 00:31:38 +01:00
  • 9ff591fa4e Fix payment review round 2: refund idempotency, pending-resume safety, terminal-completion lock popertots 2026-08-02 00:31:04 +01:00
  • 16240d67e3 Fix Square card linkage: reference_id instead of customer_id (no Square customer provisioning) popertots 2026-08-02 00:30:25 +01:00
  • 53ca89603d Fix payment review round: till integrity, HTTP client tests, concurrency tests, card-selection consolidation popertots 2026-08-01 20:26:45 +01:00
  • 64d4b65083 Implement P11: Square Web Payments SDK new-card tokenization popertots 2026-08-01 18:59:49 +01:00
  • 1cdefb1834 Update P11 plan and docs to reflect gated new-card state popertots 2026-08-01 18:19:06 +01:00
  • ae8735ba2f Close refund system and gate raw-PAN card entry popertots 2026-08-01 18:18:39 +01:00
  • 54f6bf3c1a Fix P0/P1 review findings: truncation, raw-PAN API edge, refund lock, till pending-retry, idempotency keys popertots 2026-07-31 17:05:11 +01:00
  • d54f526b56 Fix tip retry amount guard false 400 on non-exact pence values popertots 2026-07-31 15:36:22 +01:00
  • 4f5dd5c426 Fix review findings: BuyGiftCard concurrency lock, amount guards, NULL scan, mock dedup, docs popertots 2026-07-31 15:08:11 +01:00
  • 3db8b54923 Fix silent tip/gift-card money loss on pending retry; terminal checkout wire; sentinel error; docs popertots 2026-07-31 13:37:28 +01:00
  • bbb55dae82 Match dev mock to production: reject raw PAN card creation (PCI-DSS parity) popertots 2026-07-31 12:04:05 +01:00
  • 73dd2c2dea Fix regression: UserPaymentModal 'Use a new card' overridden by auto-select effect popertots 2026-07-31 11:53:06 +01:00
  • 5a373a3b0b Unify card selection UI via reusable CardSelection component; fix Buy a Gift Card new-card bug popertots 2026-07-31 11:41:13 +01:00
  • 28f0ddb328 Fix tip amount-change false dedup, wire BuyerEmail everywhere, clear ESLint errors popertots 2026-07-31 11:17:20 +01:00
  • a4441b6acf Fix review findings: till idempotency keys, sha256 card key, paymentFromSquare fallback, regression test popertots 2026-07-31 10:14:27 +01:00
  • 2459ddc919 Fix review findings: expiry bug (all 8 files), idempotency keys, card_expiry/card_cvc removal, URL encoding, BuyerEmail logging, ValidateCardInfo, saved-card test, future work doc popertots 2026-07-31 00:32:43 +01:00
  • 4abcb324c9 Square payment integration: real HTTP client, tip flow rewrite, card UI/validation overhaul popertots 2026-07-31 00:08:45 +01:00
  • f6caaab8a3 feat: redesign homepage, add global footer, fix carousel font popertots 2026-07-30 20:49:11 +01:00
  • 51d29e6bd4 fix: remove card shadows from prices page to match site-wide border-style popertots 2026-07-30 20:00:52 +01:00
  • 9d76b3a87b docs: add popular services endpoint to technical manual popertots 2026-07-30 19:53:15 +01:00
  • 1f3d834f0c docs: add feature catalog and update gap backlog popertots 2026-07-30 19:52:09 +01:00
  • df4c9afeb9 fix: remove admin notification for friend gift card purchase popertots 2026-07-30 19:42:41 +01:00
  • aad364bbd1 fix: order zero-booking services after popular ones (NULLS LAST) popertots 2026-07-30 10:57:12 +01:00
  • 3c0c4dd962 feat: sort price list by booking popularity over last 6 months popertots 2026-07-30 10:48:08 +01:00
  • 8384197ef0 fix: clear date selection when clicking an unavailable/closed day popertots 2026-07-30 10:41:40 +01:00
  • 1fb84b8998 test: add hours validation tests for edit request handler popertots 2026-07-30 10:10:43 +01:00
  • 991f3af540 fix: add hours validation to user edit requests (was M8/L5 stubs) popertots 2026-07-30 10:05:18 +01:00
  • c80ad467e7 fix: add staged hours check to edit request approval popertots 2026-07-30 09:50:30 +01:00
  • 503449b0bc fix: staged hours no longer leak closed values to days before effective date popertots 2026-07-30 09:45:46 +01:00
  • 9eecb375cf docs: update test counts from ~1,642 to 1,716 (4 skipped, 0 failures) popertots 2026-07-30 09:42:51 +01:00
  • a991642157 fix: show only differing days in scheduled hours change section popertots 2026-07-30 09:39:20 +01:00
  • aa31b19f1c docs: update all docs for staged default hours feature popertots 2026-07-30 09:20:51 +01:00
  • 0323313921 fix: add conflict re-check guard before saving holiday hours and time blockers popertots 2026-07-30 08:59:16 +01:00
  • 6470a3f6c9 feat: add scheduled change UI and conflict display to weekly schedule popertots 2026-07-30 08:59:12 +01:00
  • a6cb803ff2 test: fix today_test flakiness with London-timezone-aware booking times popertots 2026-07-30 08:59:08 +01:00
  • 70613497b4 feat: add daily cron to apply scheduled default hours changes popertots 2026-07-30 08:59:04 +01:00
  • d0f233ae70 test: add tests for staged default hours change handlers popertots 2026-07-30 08:58:54 +01:00
  • 2a840bb7e6 feat: add staged default hours change handlers with conflict detection popertots 2026-07-30 08:58:51 +01:00
  • 8f99b8b5c3 feat: check staged default hours in all booking creation paths popertots 2026-07-30 08:58:43 +01:00
  • 52caf1b7b5 feat: add getClosingTimeForDate to check staged default hours for bookings popertots 2026-07-30 08:58:40 +01:00
  • bc37283009 feat: add default_hours_scheduled_changes table and admin_notifications enum value popertots 2026-07-30 08:58:32 +01:00
  • 3eec71a56c fix: sanitize API error text display and add time_blockers tests popertots 2026-07-29 23:34:27 +01:00
  • 388ac5948a docs: add holiday hours conflict resolution plan popertots 2026-07-29 23:32:11 +01:00
  • 5deefa1205 fix: prevent empty login form submission popertots 2026-07-29 23:32:07 +01:00
  • 9170990340 feat: add conflict resolution UI to holiday hours modal popertots 2026-07-29 23:32:02 +01:00
  • 6567ff4904 fix: harden login validation with proper JSON error responses popertots 2026-07-29 23:31:57 +01:00
  • 5ed24f263a fix: prevent internal error details leaking in HTTP responses popertots 2026-07-29 23:31:52 +01:00
  • 291868f11a test: add conflict detection and preview available hours tests popertots 2026-07-29 23:31:47 +01:00
  • e27db9202e feat: add holiday hours conflict detection with shared scheduling core popertots 2026-07-29 23:31:43 +01:00
  • b5f215aaa4 fix: move preview-available-hours to admin route group popertots 2026-07-29 23:31:32 +01:00
  • 04d5c21f8c feat: show live availability status on ContactCard popertots 2026-07-29 17:40:39 +01:00
  • bea1582088 feat: add BusinessHours component and update contact page popertots 2026-07-29 17:40:35 +01:00
  • 117c37eaff feat: add contact-availability handler and route popertots 2026-07-29 17:40:31 +01:00
  • 24af3a1fca fix: enable eslint-plugin-svelte a11y rules and fix violations popertots 2026-07-11 18:16:32 +01:00
  • 6777fb9b97 fix: remove heavy linters from pre-commit (golangci-lint, staticcheck, gosec) — CI-only popertots 2026-07-11 18:07:52 +01:00
  • bbbffce20d fix: gocritic linter issues (appendAssign, ifElseChain, regexpMust) popertots 2026-07-11 18:03:05 +01:00
  • 35bc021857 fix: replace err.Error() string match with errors.Is(err, pgx.ErrTxClosed) popertotsandSisyphus 2026-07-11 17:53:29 +01:00
  • 5d9fa1178b fix: replace silent json.Encode with error-logging pattern across all handlers popertots 2026-07-11 17:50:07 +01:00
  • 0bef0f7973 fix: remove redundant rollback, document asymmetry in cancellation notifications popertots 2026-07-11 17:45:24 +01:00
  • 0edc111bfe fix: correct global milestone discount indentation (C1) popertots 2026-07-11 17:42:17 +01:00
  • 8ae592d0c5 fix: add golangci config, restore CI timeouts, svelte-check warnings, RespondError helper popertots 2026-07-11 17:38:50 +01:00
  • b864873310 fix: include SquarePaymentID in commit-failure log for manual reconciliation popertots 2026-07-11 17:35:10 +01:00
  • 11fbf869e1 fix: add 30s timeouts to account.go goroutines using context.Background() popertots 2026-07-11 17:10:11 +01:00
  • 0afa642a10 fix: add 60% coverage minimum to CI, scope prettier to staged frontend files popertots 2026-07-11 17:09:37 +01:00
  • 7d6cb0c375 fix: prettier formatting on EditRequestModal.svelte popertots 2026-07-11 16:37:33 +01:00