Bug Fixes
- replace non-null assertions with nullish coalescing in reengagement
- use business WhatsApp number with support context in global error page
- use business WhatsApp number with support context in pre-filled message
- use business WhatsApp number with feedback context in pre-filled message
- remove unnecessary export from GitHubIssueResult interface
- remove unnecessary export from GitHubIssueResult interface
- remove unused getBreadcrumbs and trackAction exports
- suppress eslint no-console for intentional console interception
- wrap BreadcrumbTracker in Suspense to fix blog/[slug] prerender
- allow IP and non-production hostnames to bypass tenant subdomain routing
- remove unused ExternalLink import from ticket settings
- remove unused Settings icon import
- use business WhatsApp number with support context in pre-filled message
- remove unused useTicket hook export
- restore exports for useTicketMessages and useReplyToTicket hooks
- use profileImage instead of image in ticket message author avatar
- add 2xl tier to tab switcher to prevent title truncation with 5+ tabs
- auto-mark new incoming messages as read while viewing conversation
- fix Tailwind classname order and canonical class in conversation list
- fix Tailwind classname order in chat view
- mark messages as read when selecting a conversation
- remove unnecessary export from WhatsAppWebhookValue interface
- replace non-null assertion with nullish coalescing in hook
- wrap messages and window check in useMemo to fix React purity lint
Features
- add conversation thread and reply input to ticket detail sheet
- add conversations API with unread counts for WhatsApp inbox
- add messages API for WhatsApp chat history
- add TanStack Query hooks for WhatsApp inbox with polling
- add tickets management page with filters, detail sheet, and status actions
- add Tickets nav item to admin sidebar
- add WhatsApp nav item to admin sidebar
- add WhatsApp reply API with 24-hour window check
- add error-report endpoint that creates deduplicated GitHub issues with S3 screenshots
- add ticket creation and listing endpoints with GitHub issue sync
- add ticket detail and update endpoints with role-based access
- add user and device sections to GitHub issue body
- sync ticket close to GitHub issue and close linked issue automatically
- track lastLoginAt on signIn and throttled session refresh, stop re-engagement on login
- add re-engagement cron job with push + WhatsApp for inactive users
- add weekly ticket-expiry job to auto-close tickets older than 90 days
- add error page with Contact Us button that silently creates GitHub issue and opens WhatsApp
- add global error page with inline styles for root layout crashes
- include user identity and device info in error reports
- add API call tracking to breadcrumbs via fetch interception
- add breadcrumb system to capture console logs and navigation before errors
- add lastLoginAt, ReEngagementLog model, and 4 WA re-engagement enum values
- add migration for re-engagement system schema
- add migration for WhatsAppMessage table
- add TicketMessage model for two-way ticket chat
- add WhatsAppMessage model for inbox conversations
- initialize breadcrumbs and track route changes for error reporting
- add migration for Ticket model
- add Ticket model with type, status, priority, GitHub sync and device info fields
- add Support tab with ticket list, filters, create dialog and image upload
- wire Support tab into settings page with LifeBuoy icon
- add 4 re-engagement WhatsApp templates to Template Tester UI
- add re-engagement template send handlers with sample data
- add conversation sheet with chat UI for user ticket replies
- add messages API for two-way ticket conversation
- add TanStack Query hooks for ticket CRUD operations
- add reengagement cron schedule at 8 AM IST daily
- add auto-reply for support and feedback WhatsApp messages
- add GitHub webhook for issue comment and status sync
- add WhatsApp webhook for incoming messages and status updates
- add 4 re-engagement template types, names, and data interfaces
- add 4 sendReengagement methods for re-engagement notifications
- add chat view with message bubbles and reply input
- add conversation list panel with search and unread badges
- add mark-as-read API to clear unread count on conversation open
- add sendTextMessage for free-form inbox replies
- add skeleton loading state for inbox page
- add status ticks component for message delivery states
- add useMarkWhatsAppRead hook for marking messages read
- add webhook payload types and inbox UI types
- add WhatsApp inbox page with two-panel responsive layout
