fix(support): agent-demo self-seeds (join default queue + go online); tickets always get a queue

Root cause of 'waiting for escalations': no queue/membership meant tickets were
never assigned. Now: createTicket find-or-creates a default queue; new joinDefault
endpoint + useGoOnline hook; agent-demo joins+goes-AVAILABLE on load (assignPending
picks up any waiting ticket). smoke-support self-seeds (no seed script needed).
Also: vitest singleFork to end cross-file DB races (45 tests deterministic).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-01 12:39:14 +05:30
parent eb04becc57
commit 9c6e2c76e8
9 changed files with 49 additions and 8 deletions
+3 -3
View File
@@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
import {
SupportProvider,
useAssignedTickets,
useAvailability,
useGoOnline,
useThread,
useMessages,
type Ticket,
@@ -57,12 +57,12 @@ function AgentChat({ threadId }: { threadId: string }) {
}
function AgentInner() {
const setAvailability = useAvailability();
const goOnline = useGoOnline();
const { tickets } = useAssignedTickets();
const [threadId, setThreadId] = useState<string | null>(null);
useEffect(() => {
void setAvailability('AVAILABLE');
void goOnline(); // join default queue + go AVAILABLE
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);