popertots
dec3e1023e
fix: remove duplicated validation functions in ServicesManagement.svelte
2026-05-29 17:51:36 +01:00
popertots
f5c2c26fe4
fix: resolve compilation errors in frontend and backend
2026-05-29 17:46:15 +01:00
popertots
f36497090a
feat: migrate to dedicated patch test management
2026-05-29 17:19:02 +01:00
popertots
9d8015f1b8
feat: add comprehensive test suite for recent backend changes
2026-05-29 17:13:16 +01:00
popertots and Sisyphus
9ba4949d37
docs: update all documentation for referral codes, admin schedule page, BookingFlow welcome step, format utilities, and patch_test_duration_hours
...
- README: add new features (referral codes, admin schedule page, welcome step, format utils, patch_test_duration_hours, created_by_name, admin login redirect), update project structure, update test count to 446/449
- Overview: add referral code support to Auth section, created_by_name to Booking System, admin schedule page to Scheduling and Admin Features, welcome step to Customer Features, update test coverage
- Technical Manual: add format.ts utilities to Shared Utilities, add /admin/schedule route, update handler descriptions (auth, bookings, services), add Referral Code System, Admin Schedule Page, BookingFlow Welcome Step, and patch_test_duration_hours sections, update test coverage
- Admin Manual: add Schedule page to main pages list, add full Schedule (Weekly Calendar View) section, add patch test duration to service creation, update referral history description
- User Manual: add referral code field to registration, add welcome step explanation to Step 1
- Future Work: update header, add #52-58 completed items, update #21 referral system status, add Phase 6 execution order
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:21:18 +01:00
popertots and Sisyphus
ec097af0f6
refactor: route pages with shared formatting and layout updates
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:10:29 +01:00
popertots and Sisyphus
5705ef71b8
refactor: dialog and alert-dialog UI primitives
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:10:07 +01:00
popertots and Sisyphus
3aa0814b1a
fix: navbar layout and styling improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:09:46 +01:00
popertots and Sisyphus
040a47401e
refactor: user payment modal
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:09:25 +01:00
popertots and Sisyphus
91999d8244
refactor: account modals with auto-select and formatting
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:09:05 +01:00
popertots and Sisyphus
fc69fec361
refactor: today page components with calendar grid and stats
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:08:44 +01:00
popertots and Sisyphus
18d8822c47
refactor: admin user modal, image upload, and new schedule page
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:08:25 +01:00
popertots and Sisyphus
a44972fbc6
refactor: admin edit and approval modals
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:08:05 +01:00
popertots and Sisyphus
b2788b2269
refactor: admin management components (discounts, holidays, schedule, time blockers)
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:07:44 +01:00
popertots and Sisyphus
96ab71a579
refactor: admin booking modals with shared formatting and auto-select
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:07:26 +01:00
popertots and Sisyphus
0b3d26914b
refactor: booking flow wizard with step indicator improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:07:02 +01:00
popertots and Sisyphus
aa75217898
refactor: bookings and services handlers with shared formatting
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:06:40 +01:00
popertots and Sisyphus
9deae1b0d7
feat: referral code validation in registration with tests
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:06:19 +01:00
popertots and Sisyphus
0f118205d6
feat: add created_by_name field to Booking type
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:05:56 +01:00
popertots and Sisyphus
e8c03d6c30
refactor: extract shared formatting utilities (duration, date, age)
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-29 16:05:35 +01:00
popertots and Sisyphus
2b56c5640d
docs: update all documentation for reschedule modal, time blockers UI, and booking flow improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:48:56 +01:00
popertots and Sisyphus
d23ed1831a
chore: update init scripts, dev script, and remove stale HAR file
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
91d20d474b
refactor: lunch protection to find all gaps instead of largest
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
72270649b6
fix: UI polish across navbar, payment modal, calendar, and dialog
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
fff8afcbe9
feat: account edit request modal with auto-select and responsive improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
f69750da82
feat: today calendar with time blockers, stats, and pending approvals improvements
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
db5f6ff135
fix: admin booking modals and schedule components polish
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
329eb28ec7
feat: admin reschedule modal and time blockers for schedule management
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:34:13 +01:00
popertots and Sisyphus
6cf1f12442
refactor: admin BookingCreateModal to use shared time slot utilities
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:30:32 +01:00
popertots and Sisyphus
efbcfbaaf0
refactor: booking flow components with shared utilities and auto-select
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:30:07 +01:00
popertots and Sisyphus
7ee77d6bff
feat: shared time slot utility module for booking and admin components
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:29:41 +01:00
popertots and Sisyphus
c442c150c0
feat: scheduling exceptional hours support and default hours validation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:29:17 +01:00
popertots and Sisyphus
3bda86e910
feat: GetBookingsByCreatedRange endpoint for admin booking queries
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-28 16:28:52 +01:00
popertots
8574bf2221
feat: enriched edit request system with side-by-side snapshots, calendar preloading, and admin review UI
...
Backend:
- Add enriched response types (EditSnapshot, EnrichedEditRequest) with original vs proposed snapshots
- Add 4 new GET endpoints for viewing edit requests (user and admin scoped)
- Remove github.com/lib/pq dependency — use native PostgreSQL array scanning
- Clean up edit requests, time blockers, and notifications on booking cancellation
- Validate exceptional closed hours on admin approve (409 Conflict)
- Notification upsert on edit request replace (no duplicate admin notifications)
Frontend:
- New user EditRequestModal with time/services/both modes and lunch protection
- New admin EditRequestModal with side-by-side diff (date/time, services, notes)
- Integrate edit requests into PendingApprovals card and notifications page
- Preload 3 months of availability to prevent calendar snap-back
- Apply lunch protection to isDateUnavailable in BookingFlow and BookingCreateModal
- Fix accessibility: card list items use <button> instead of <div>
Dev & Docs:
- Seed edit requests in local-dev-2.sh
- Update all Obsidian manuals with enriched edit request documentation
- 42 new tests (438/441 passing)
2026-05-26 11:59:07 +01:00
popertots and Sisyphus
3ccc017716
feat: user payment modal and tip route for online payments
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:05:14 +01:00
popertots and Sisyphus
97c9d1643f
docs: update all documentation for multi-method payments and saved cards
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:53 +01:00
popertots and Sisyphus
f553ebad99
fix: booking duration calculation, tip page auth, and UI polish across frontend
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:43 +01:00
popertots and Sisyphus
2a8f04e7b3
feat: saved cards management and account cards tab
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:21 +01:00
popertots and Sisyphus
785a6dbf6f
feat: multi-method payment modal with tip presets and price overrides
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:12 +01:00
popertots and Sisyphus
25ece1e0b4
feat: Square client dev mock for online payments and type additions
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:04:04 +01:00
popertots and Sisyphus
4a37fd6396
fix: payment API amount precision (pence), partial validation, and create payment method endpoint
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-25 18:03:55 +01:00
popertots
8cd393f95d
docs: update all documentation for Square payment integration
...
- README: add Square payments to features, expand project structure, update test count
- Overview: mark Square as active, add payment integration + saved cards sections
- Technical Manual: add payment handlers, API endpoints, 4 new DB tables, build tags
- Admin Manual: update Take Payment from stub to live Square Terminal flow
- User Manual: add paying deposits online + leaving tips sections
- Future Work: mark E1-E4 (Square items) as complete
2026-05-23 11:44:39 +01:00
popertots
2e1ab9d745
feat: Square payment integration, booking flow redesign, and timezone/weekday fixes
...
- Add Square payment integration (mock + handlers + UI): terminal/online payments,
refunds, tips, saved cards, webhooks. Build-tagged dev/prod clients.
- Redesign booking flow: Step 4 conditional (deposit only), Step 5 confirmation
screen with booking ID, auto-submit on transition.
- Redesign schedule modal: 2x3 button grid with Pay Deposit/Pay Early logic.
- Add deposit warning banner at Step 1 for users with outstanding deposits.
- Fix weekday conversion bug: Go 0=Sunday vs DB 0=Monday mismatch in 6 locations.
- Fix timezone bug: UTC vs London time in closing hours validation.
- Fix frontend error parsing: plain text backend errors now displayed correctly.
- Fix crypto.randomUUID fallback for environments without Web Crypto.
- Add 7 new regression tests: closing hours, advance check, active booking limit,
weekday conversion, UTC/London, deposit snapshot, exceptional hours.
- Fix 3 flaky tests: dynamic dates instead of fixed, no-show timing.
2026-05-23 11:29:34 +01:00
popertots
bcd5ed2bd9
square mock plan
2026-05-17 11:03:05 +01:00
popertots
d0e82e7d79
style: fix indentation in notification preferences section and backlog table formatting
2026-05-17 00:37:21 +01:00
popertots
c91be086c1
fix: close unclosed div wrapping notification preferences section
2026-05-17 00:34:34 +01:00
popertots
5c84cd71b8
fix: hide notification preferences section from admin users
2026-05-17 00:28:55 +01:00
popertots
b08df624a8
feat: user notification preferences UI and API endpoints
...
GET/PUT /api/user/notification-preferences with partial update support.
Toggle section in /account Admin tab (Email, SMS, Browser push).
3 new tests: defaults, full update, partial update.
Fix pre-existing timezone bug in exceptional hours tests (Truncate vs time.Date).
Update README, Technical Manual, and gap backlog (#15 struck out).
2026-05-17 00:24:13 +01:00
popertots
7fc58f58d9
feat: admin notification system with priority ordering, bell icon, and /notifications page
...
Two-tier notification system: new_booking (all public bookings) + pending_booking (notes/today).
Priority-sorted queue, unread count polling, enriched responses with user_name/booking_start_time.
Fix critical bug: edit_requested cleanup was broken (wrong reason string in 3 handlers).
Add 15 new tests covering priority ordering, enrichment, and notification creation flows.
Update Admin Manual, Technical Manual, and gap backlog docs.
2026-05-16 23:41:18 +01:00
popertots
c3501ae89a
dependancies and docs
2026-05-16 19:06:33 +01:00