feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration / RRScratch2 / Improve reconnect logic

This commit is contained in:
Dave
2025-11-25 18:04:15 -05:00
parent 9faad53b99
commit 910d388e05

View File

@@ -67,6 +67,8 @@ const DMS_SOCKET_EVENTS = {
export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, insertAuditTrail }) {
const { t } = useTranslation();
const [resetAfterReconnect, setResetAfterReconnect] = useState(false);
const history = useNavigate();
const search = queryString.parse(useLocation().search);
const { jobId } = search;
@@ -244,6 +246,11 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
const onConnect = () => {
setIsConnected(true);
setActiveLogLevel(logLevel);
if (resetAfterReconnect) {
activeSocket.emit("dms-reset-context", { jobId, mode });
setResetAfterReconnect(false);
}
};
const onDisconnect = () => setIsConnected(false);
@@ -477,14 +484,13 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
<Button
onClick={() => {
setLogs([]);
setResetAfterReconnect(true);
if (isWssMode(mode)) {
setActiveLogLevel(logLevel);
}
if (activeSocket) {
activeSocket.disconnect();
activeSocket.connect();
// Re-emit reset after reconnect (we need to figure out how to make sure active socket has finished connecting first)
// activeSocket.emit("dms-reset-context", { jobId, mode });
setTimeout(() => activeSocket.connect(), 100);
}
}}
>