Bug Fixes
- update proxy-image route for remote resource fetching
- update registration finalize route
- enforce 63 character max length on auto-generated profileSlug
- enforce 63 character max length on profileSlug validation
- enforce 63 char max length on auto-generated slug
- pass businessName and businessEmail props to ComplianceToggleList
- use fromMonth/toMonth props and canonical tailwind class in date picker
- use DD-MM date format for compliance date filtering and parsing
- use DD-MM date format for reminder compliance date filtering and parsing
- attach firm brochure PDF to test compliance emails
- add items-start to grid so notification count input aligns properly
- replace non-null assertions with safe checks in billing cycle groups
- respect billingCycle for recurring services instead of treating all as monthly
- truncate long filenames in document upload cards
- include billing fields in service select for invoice preview
- pass billingCycle for services in invoice preview input
- pass billingCycle for services in invoice schedule on client submit
- pass billingCycle for services in invoice schedule on completion
- display client profile image in testimonials section
- fallback to business phone for OTP and reject when no phone found
- persist digital signature toggle to Zustand on change instead of only on submit
- enable cache control for lint and typecheck tasks
- strip formatting from phone values to satisfy E.164 format requirement
Features
- add ClientResponseBanner component to display registration status feedback in onboarding steps
- add GET/PATCH API route and React Query hooks
- add test email dialog and fix DD-MM date format in calendar and chips
- add test endpoint for sending real compliance emails per business
- add billing dashboard, invoices list, and settings tab components
- add revenue stats aggregates and month-over-month change to GET
- add RevenueStats type and gstNumber to hook response
- show hint to add email when automation unavailable due to missing email
- add billingSettings cache tag and invalidation method
- add billing_module_v2 migration for BillingSettings table
- add BillingSettings model linked to Business
- add 'Visit Firm Page' link to business profile header
- add comment count badge and closed state styling to bug report cards
- add Support link to user dropdown menu
Reverts
- use subdomain-aware URLs for PDF generation with internal fetch bypass
- use .localhost subdomain redirects for tenant isolation locally
- use .localhost subdomains instead of lvh.me or path-based routing
