The Board v0.1.2: Dispatch Workflow Refinements
The Board v0.1.2 is out. Onboarding starts soon, so this release is about getting the system ready for dispatchers who haven't seen it before — views that make sense on first use, SMS workflows that don't need explanation, and code that won't surprise anyone with state bugs.
What shipped
40+ improvements across dispatch workflows, communications, and infrastructure.
Dispatch Views
- Consolidated calendar view into card view with call type and date grouping — fewer clicks to see the same information
- Position cards now always show call duration — no more guessing at shift length
- Added group-by-dispatcher view to jobs list — helps multi-dispatcher operations track who's handling what
- Setup and strike call types now handled correctly in hours calculator and timeline
- House roster rank now computed over the full roster, not the filtered subset — seniority stays accurate regardless of filters
- Same-show assignments distinguished from external conflicts in the timeline — dispatchers can tell at a glance whether a worker is busy on the same gig or a different one
Roster & Spreadsheet
- Roster UI overhaul — filter sheet, group headers, and jump navigation for faster crew lookup
- Spreadsheet legend now grouped by skill hierarchy
- Skeleton loader and theme overhaul for the spreadsheet view
- Optimistic UI updates for position field edits in both views — changes feel instant
- Priority system overhauled, job status types consolidated, badge readability improved
SMS & Communications
- Dispatch log now classifies SMS by type — offer, confirmation, decline, inquiry — with pipeline ordering based on intent
- Clear button on comms action items for irrelevant messages — stops noise from blocking the needs-action queue
- SMS conversations no longer auto-mark as processed when viewed — dispatcher control over workflow state
- Simplified JobCommsHub into a focused action queue — one thing at a time
Performance & Real-time
- Eliminated N+1 queries in batch SMS send and board jobs API
- Fixed double render on group toggle and search input lag
- Resolved infinite render loops in dispatch page and roster
- Fixed WebSocket connection race condition
- Restored WebSocket real-time cache invalidation pipeline
- Composite indexes added to the database for multi-job views
Code Health & Infrastructure
- Added ESLint and fixed a critical React hooks violation that was causing state bugs
- Resolved exhaustive-deps warnings across the entire codebase — 10 batched pull requests
- Extracted shared position-grid components into CrewcallGrid
- "Keep me logged in" option added to login
- Fixed Docker build, backup service DB filename, Redis bound to localhost only
What's next
Stability. Onboarding is next week — after that, the focus is making sure it holds up under real daily use before adding anything new.
The light stays on.