From 905e23616685eb08ed66f757e0de937a7461a166 Mon Sep 17 00:00:00 2001 From: ff Date: Sat, 6 Jun 2026 23:14:46 -0400 Subject: [PATCH] fix: claim confirm card was storing autoSubmit=false, blocking Selenium auto-start The green claim confirmation card in the chatbot was saving autoSubmit:false to sessionStorage, so claims-page.tsx never set chatbotAutoSubmitSiteKey and ClaimForm received autoSubmit=false, leaving Selenium unstarted after form fill. Co-Authored-By: Claude Sonnet 4.6 --- .../Frontend/src/components/layout/chatbot.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/apps/Frontend/src/components/layout/chatbot.tsx b/apps/Frontend/src/components/layout/chatbot.tsx index 2bcf9913..5028c422 100644 --- a/apps/Frontend/src/components/layout/chatbot.tsx +++ b/apps/Frontend/src/components/layout/chatbot.tsx @@ -101,6 +101,19 @@ function parseEligibilityInput( } const CHAT_STORAGE_KEY = "chatbot_messages"; +const CHATBOT_JOB_TS_KEY = "chatbot_job_started_at"; + +function markJobStarted() { + try { sessionStorage.setItem(CHATBOT_JOB_TS_KEY, String(Date.now())); } catch {} +} + +function shouldAutoReset(): boolean { + try { + const ts = sessionStorage.getItem(CHATBOT_JOB_TS_KEY); + if (!ts) return false; + return Date.now() - Number(ts) > 60_000; + } catch { return false; } +} function loadSavedMessages(): Message[] { try { @@ -269,6 +282,7 @@ export function ChatbotButton() { const prefillAndNavigate = (memberId: string, dobISO: string, autoCheck: string) => { sessionStorage.setItem("chatbot_eligibility", JSON.stringify({ memberId, dob: dobISO, autoCheck })); window.dispatchEvent(new CustomEvent("chatbot:eligibility-prefill")); + markJobStarted(); setTimeout(() => { setLocation("/insurance-status"); setOpen(false); resetStep(); }, 600); }; @@ -436,7 +450,7 @@ export function ChatbotButton() { size="sm" className="relative h-8 w-8 rounded-full p-0" title="Open Assistant" - onClick={() => setOpen(true)} + onClick={() => { if (shouldAutoReset()) resetStep(); setOpen(true); }} > @@ -758,6 +772,7 @@ export function ChatbotButton() { autoSubmit: true, }) ); + markJobStarted(); setTimeout(() => { setLocation(`/claims?appointmentId=${opt.appointmentId}`); setOpen(false); @@ -811,6 +826,7 @@ export function ChatbotButton() { JSON.stringify({ codes: matchedCodes, siteKey, serviceDate, autoSubmit: true }) ); } + markJobStarted(); const url = appointmentId ? `/claims?appointmentId=${appointmentId}` : `/claims?newPatient=${patient?.id}`;