-
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