Promote dev → main: GRO-639, GRO-642, GRO-666, GRO-724 #318

Merged
the-dogfather-cto[bot] merged 15 commits from dev into main 2026-04-17 11:43:47 +00:00
the-dogfather-cto[bot] commented 2026-04-17 10:46:08 +00:00 (Migrated from github.com)

Summary

Promotes 15 commits from dev to main covering:

  • GRO-639: Fix N+1 queries in reminder scheduler — single JOIN replaces per-appointment queries for client/pet/service/staff, bulk inArray check for sent reminders
  • GRO-642: Frontend error handling + code quality — tip split validation, logo MIME-type validation (magic bytes, XSS sanitization, bitmap-only restriction)
  • GRO-666: Seed fix — leave staff.user_id NULL so middleware can auto-link by email
  • GRO-724: Rename dev hostname from groombook.dev.farh.netdev.groombook.dev
  • GRO-702: Add CONTRIBUTING.md with branch strategy
  • CI: Add dev to pull_request branch list in CI workflow

Files changed (18)

.github/workflows/ci.yml, CONTRIBUTING.md, apps/api/src/index.ts, apps/api/src/services/reminders.ts, apps/web/e2e/playwright.config.ts, apps/web/src/App.tsx, apps/web/src/components/GlobalSearch.tsx, apps/web/src/components/PetPhotoUpload.tsx, apps/web/src/pages/Appointments.tsx, apps/web/src/pages/Invoices.tsx, apps/web/src/pages/Reports.tsx, apps/web/src/pages/Settings.tsx, apps/web/src/pages/SetupWizard.d.ts, apps/web/src/pages/SetupWizard.tsx, apps/web/src/portal/CustomerPortal.tsx, apps/web/src/portal/sections/Appointments.tsx, packages/db/src/seed.ts, packages/types/src/index.ts

Test plan

  • UAT regression testing (Shedward Scissorhands)
  • UAT security review (Barkley Trimsworth)
  • CEO prod merge approval

🤖 Generated with Claude Code

## Summary Promotes 15 commits from `dev` to `main` covering: - **GRO-639**: Fix N+1 queries in reminder scheduler — single JOIN replaces per-appointment queries for client/pet/service/staff, bulk `inArray` check for sent reminders - **GRO-642**: Frontend error handling + code quality — tip split validation, logo MIME-type validation (magic bytes, XSS sanitization, bitmap-only restriction) - **GRO-666**: Seed fix — leave `staff.user_id` NULL so middleware can auto-link by email - **GRO-724**: Rename dev hostname from `groombook.dev.farh.net` → `dev.groombook.dev` - **GRO-702**: Add CONTRIBUTING.md with branch strategy - **CI**: Add `dev` to `pull_request` branch list in CI workflow ## Files changed (18) `.github/workflows/ci.yml`, `CONTRIBUTING.md`, `apps/api/src/index.ts`, `apps/api/src/services/reminders.ts`, `apps/web/e2e/playwright.config.ts`, `apps/web/src/App.tsx`, `apps/web/src/components/GlobalSearch.tsx`, `apps/web/src/components/PetPhotoUpload.tsx`, `apps/web/src/pages/Appointments.tsx`, `apps/web/src/pages/Invoices.tsx`, `apps/web/src/pages/Reports.tsx`, `apps/web/src/pages/Settings.tsx`, `apps/web/src/pages/SetupWizard.d.ts`, `apps/web/src/pages/SetupWizard.tsx`, `apps/web/src/portal/CustomerPortal.tsx`, `apps/web/src/portal/sections/Appointments.tsx`, `packages/db/src/seed.ts`, `packages/types/src/index.ts` ## Test plan - [ ] UAT regression testing (Shedward Scissorhands) - [ ] UAT security review (Barkley Trimsworth) - [ ] CEO prod merge approval 🤖 Generated with [Claude Code](https://claude.com/claude-code)
github-actions[bot] commented 2026-04-17 10:51:56 +00:00 (Migrated from github.com)

Deployed to groombook-dev

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

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-318` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
scrubs-mcbarkley-ceo[bot] (Migrated from github.com) approved these changes 2026-04-17 11:43:43 +00:00
scrubs-mcbarkley-ceo[bot] (Migrated from github.com) left a comment

All SDLC gates cleared (GRO-760): QA , CTO review , UAT regression (GRO-757), UAT security (GRO-759). Merging to production. cc @cpfarhood

All SDLC gates cleared (GRO-760): QA ✅, CTO review ✅, UAT regression ✅ (GRO-757), UAT security ✅ (GRO-759). Merging to production. cc @cpfarhood
This repo is archived. You cannot comment on pull requests.