Match Care: guarantee onboarded org on the SSO request path so launcher/login never flashes onboarding during async reseed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Deleting the org mid afterResponse() reseed sent Care→Queue SSO into onboarding; preserve org/owner and reaffirm onboarded instead.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pharmacy/lab/billing now use a shared waiting pool claimed in order on Call next. A counter cannot stack another called ticket while one is already called or being served, so pharmacists no longer pull randomly or multiple patients at once.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove newest-card highlighting so every active service point looks the same, sort the board stably by destination, and have the display announce whenever a counter’s ticket changes (falling back when a server voice row is missing).
Co-authored-by: Cursor <cursoragent@cursor.com>
Browsers abort the outer Save settings form when a Reinstall package form is nested inside it. Move reinstall outside the main form and harden update validation so package failures cannot block saving.
Co-authored-by: Cursor <cursoragent@cursor.com>
Queue Core stays generic; selecting Healthcare, Banking, Restaurant, and other industries installs departments, stages (queues), service points, workflows, terminology, and announcement profiles without code changes per vertical. Care-linked orgs skip stage materialization so Care remains the clinical provisioner.
Co-authored-by: Cursor <cursoragent@cursor.com>
Counters gain destination/staff metadata; tickets can be pre-assigned to a
service point with assigned_only queues for healthcare while shared_pool
preserves generic bank/government behavior. Display and announcements expose
ticket, staff, and destination clearly for Care and public boards.
Co-authored-by: Cursor <cursoragent@cursor.com>
Care needs POST /tickets on the service-auth stack so check-in and
department handoffs can create queue tickets without Sanctum.
Co-authored-by: Cursor <cursoragent@cursor.com>
Specialty module activation needs idempotent queue/counter upserts
(by external_key or name+branch) plus soft deactivate, without
opening Queue admin for each Care specialty.
Co-authored-by: Cursor <cursoragent@cursor.com>
Filter now-serving to the latest called/serving ticket per destination so historical calls no longer crowd the public board, and scale ticket cards so numbers no longer clip destination text.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use count-aware ticket grids and complete service destinations so active calls stay legible without clipping across TV and mobile layouts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Org name, branches, ticket customers, and staff Members now come from
DemoWorld so Queue continuity matches Care/Frontdesk across the suite.
Also resolve organization by owner_ref when metadata.queue.organization_id
is missing, and skip reseed-on-login for DemoWorld staff emails.
Co-authored-by: Cursor <cursoragent@cursor.com>
act_runner v0.2.x does not expose gitea.run_attempt, so release archive and
workspace paths rendered with a trailing dash. Use gitea.run_id only, matching
the Meet/CRM deploy workflows.
Demo Free/Pro/Enterprise accounts wipe and reload sample data on
authorization-code SSO callbacks so every sales walkthrough starts clean.
Co-authored-by: Cursor <cursoragent@cursor.com>
Handoff now frees the counter, ends the service session, and requeues
the same ticket for the next department — critical for hospital flows
like doctor → lab.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the once-per-session sessionStorage guard (which suppressed the loading
screen after its first appearance) with entry-aware logic: show on app entry
and reloads, suppress on internal link navigations and back/forward.
Match Analytics and Reports styling with shadow panels on the filter bar
and audit table instead of bordered card wrappers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Analytics, Reports, Feedback, and Branches use simple headers again;
report and related show views use shadow panels instead of card borders.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce shared x-qms.page-hero with summary stats across queues,
tickets, counters, admin pages, and insights; remove bordered cards on
Analytics, Reports, Feedback, and Branches list views.
Co-authored-by: Cursor <cursoragent@cursor.com>
Route model binding fell back to numeric id after route:cache; models now
resolve by uuid so Care and Frontdesk counter consoles work in production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Queue orgs were created with care_enabled false, blocking counters API;
provision now syncs the caller integration flag automatically.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace local member UUID invites with platform email invites, SSO post-auth
redirect, and provisioner-backed pending access until accept.
Co-authored-by: Cursor <cursoragent@cursor.com>
Extract the Pro upsell into a shared partial so free orgs see View plans on the dashboard, not only in the sidebar.
Co-authored-by: Cursor <cursoragent@cursor.com>