mirror of
https://dev.azure.com/globalhealthx/EMR/_git/helix-engage
synced 2026-05-18 20:08:19 +00:00
fix: P1 call-desk defects batch
- Mute persists across calls: sip-manager's "ended/failed" branch now resets the Recoil sipIsMutedAtom + sipIsOnHoldAtom (previously only the SIP track was unmuted, leaving the UI icon + toggle logic in a muted state that the next call inherited). - Telephony-unavailable dial pad: call-desk.tsx dial-pad "Call" button was missing an isRegistered check in its disabled prop, so it stayed clickable when SIP was down. Button now shows "Telephony unavailable" and is disabled. - Past dates in Follow-up: enquiry-form's follow-up date input had no min constraint. Switched to a raw <input type="date"> with min set to today's ISO date. - Returning-patient AI summary during call: ai-chat-panel now auto-fires a "give me a quick summary of <caller>" request whenever the caller's leadId changes (new incoming call). Clears prior chat state so each caller starts fresh. - Remove Type column in Patients page (Badge import also pruned). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,8 @@ type StateUpdater = {
|
||||
setCallState: (state: CallState) => void;
|
||||
setCallerNumber: (number: string | null) => void;
|
||||
setCallUcid: (ucid: string | null) => void;
|
||||
setIsMuted: (muted: boolean) => void;
|
||||
setIsOnHold: (onHold: boolean) => void;
|
||||
};
|
||||
|
||||
let stateUpdater: StateUpdater | null = null;
|
||||
@@ -83,7 +85,13 @@ export function connectSip(config: SIPConfig): void {
|
||||
if (ucid) stateUpdater?.setCallUcid(ucid);
|
||||
|
||||
if (state === 'ended' || state === 'failed') {
|
||||
sipClient?.unmute(); // clear any mute state so it doesn't persist to next call
|
||||
// Reset both the SIP track AND the Recoil state — otherwise the
|
||||
// UI icon + toggle-mute branch logic stay "muted" and the next
|
||||
// call opens in a confusing half-muted state.
|
||||
sipClient?.unmute();
|
||||
sipClient?.unhold();
|
||||
stateUpdater?.setIsMuted(false);
|
||||
stateUpdater?.setIsOnHold(false);
|
||||
outboundActive = false;
|
||||
outboundPending = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user