v1.1.0Release2026-05-23
Reassignment workflow, remarks pane, marketing depth
- Idle-lead auto-unassign: a daily sweep returns any lead with no remarks or disposition change for 5 days to the Unassigned queue. The cron stamps an audit-trail row so management can see why a lead moved.
- Management-controlled visibility on reassignment: agents handed a previously-assigned lead see it as a fresh 'New Lead' (default disposition, Cold status, blank remark thread). Managers / directors with the new See full lead history Per-User Access toggle see every previous owner's notes, disposition, and the original lead date.
- Floating Remarks pane: a right-side drawer on every lead row hosts the full thread, an inline disposition picker (saves on change), a one-click reminder bolt-on (defaults to 1 hour from now, ⌘/Ctrl+Enter to post), and reassignment / auto-unassign boundary markers for privileged viewers.
- Convert to Sale: form and remarks pane render side-by-side so the rep can post a note or reference history while filling the sale.
- Repeat order: a 🔁 icon on every sale row pre-fills the Add Lead form with the customer's existing info — leadDate auto-set to today, disposition 'New Lead' — so the rep saves only when ready.
- Daily Lead Report: a new pane inside Marketing exports the Leads / IB / Chat / Sales / Follow-Up matrix to a properly-styled XLSX with one click; zero-data rows hide automatically.
- Break-type bifurcation: the topbar Break dropdown picks Bio / Meeting / Dinner / Downtime; Attendance & Payroll columns now show the per-type split alongside the rollup, with Downtime flagged in red.
- Active-state visibility: Work timer blinks green while clocked in, Break timer blinks red with the chosen type next to it.
- Lead Assignment quality-of-life: numbered page mover with First/Last and Go-to-page input; lead-time stamp shown beneath the date; latest disposition pill under the agent name; newest-first sort that ignores reassignment churn.
- Marketing depth: clickable distribution bars deep-link to the filtered Lead Assignment table; four new charts (By Year, By Make, By Model, By Part) each rendered full-width; company name canonicalisation across legacy data.
- Supplier picker: '+ Add new contact' inline form lets the rep add a missing yard contact and auto-select them on the sale form without leaving the screen.
- Bulk dedup hardening: customer-id allocations now share an atomic counter, dedup rejects junk-email placeholders (na / none / -), and the splitter no longer bridges new inserts through soft-deleted leads.