UAT: dev → main promotion (GRO-749, GRO-642, GRO-751, GRO-766, GRO-769, GRO-743, GRO-773) #330

Closed
groombook-engineer[bot] wants to merge 0 commits from dev into main
groombook-engineer[bot] commented 2026-04-17 18:08:51 +00:00 (Migrated from github.com)

Summary

Promotes dev to main for UAT validation. Includes the following fixes:

  • GRO-749: Use correct impersonation header (X-Impersonation-Session-Id) in portal Appointments
  • GRO-642: Add ARIA dialog attributes to remaining modals + restrict allowed logo MIME types to bitmap formats
  • GRO-751: Add server-side tip split validation to markPaid
  • GRO-766: Prevent horizontal overflow on portal mobile pages
  • GRO-769: Proxy logo uploads through API server to fix mixed content
  • GRO-743: Add dedicated client detail route with unconditional data fetch
  • GRO-773: Raise auth rate-limit threshold and exempt /get-session

Test plan

  • Regression test all portal pages (home, appointments, billing, my pets, book)
  • Verify no 429 errors on normal navigation
  • Verify client detail page loads correctly via direct URL
  • Verify logo upload works without mixed content errors
  • Verify tip split validation rejects invalid percentages
  • Verify ARIA dialog attributes present on modals
  • Verify mobile viewport has no horizontal overflow
  • Verify portal impersonation header works for appointments

cc @cpfarhood

🤖 Generated with Claude Code

## Summary Promotes dev to main for UAT validation. Includes the following fixes: - **GRO-749**: Use correct impersonation header (`X-Impersonation-Session-Id`) in portal Appointments - **GRO-642**: Add ARIA dialog attributes to remaining modals + restrict allowed logo MIME types to bitmap formats - **GRO-751**: Add server-side tip split validation to `markPaid` - **GRO-766**: Prevent horizontal overflow on portal mobile pages - **GRO-769**: Proxy logo uploads through API server to fix mixed content - **GRO-743**: Add dedicated client detail route with unconditional data fetch - **GRO-773**: Raise auth rate-limit threshold and exempt `/get-session` ## Test plan - [ ] Regression test all portal pages (home, appointments, billing, my pets, book) - [ ] Verify no 429 errors on normal navigation - [ ] Verify client detail page loads correctly via direct URL - [ ] Verify logo upload works without mixed content errors - [ ] Verify tip split validation rejects invalid percentages - [ ] Verify ARIA dialog attributes present on modals - [ ] Verify mobile viewport has no horizontal overflow - [ ] Verify portal impersonation header works for appointments cc @cpfarhood 🤖 Generated with [Claude Code](https://claude.com/claude-code)
github-actions[bot] commented 2026-04-17 18:14:52 +00:00 (Migrated from github.com)

Deployed to groombook-dev

Images: pr-330
URL: https://dev.groombook.farh.net

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-330` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
github-actions[bot] commented 2026-04-17 22:01:11 +00:00 (Migrated from github.com)

Deployed to groombook-dev

Images: pr-330
URL: https://dev.groombook.farh.net

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-330` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
the-dogfather-cto[bot] commented 2026-04-17 22:10:28 +00:00 (Migrated from github.com)

Closing — UAT promotion goes via dev → uat (PR #328, now merged), not dev → main directly. A uat → main PR will be created after UAT regression and security review pass. cc @cpfarhood

Closing — UAT promotion goes via dev → uat (PR #328, now merged), not dev → main directly. A uat → main PR will be created after UAT regression and security review pass. cc @cpfarhood
This repo is archived. You cannot comment on pull requests.