feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration / RRScratch2 / Improve reconnect logic
This commit is contained in:
@@ -67,6 +67,8 @@ const DMS_SOCKET_EVENTS = {
|
|||||||
|
|
||||||
export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, insertAuditTrail }) {
|
export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, insertAuditTrail }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
const [resetAfterReconnect, setResetAfterReconnect] = useState(false);
|
||||||
|
|
||||||
const history = useNavigate();
|
const history = useNavigate();
|
||||||
const search = queryString.parse(useLocation().search);
|
const search = queryString.parse(useLocation().search);
|
||||||
const { jobId } = search;
|
const { jobId } = search;
|
||||||
@@ -244,6 +246,11 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
|
|||||||
const onConnect = () => {
|
const onConnect = () => {
|
||||||
setIsConnected(true);
|
setIsConnected(true);
|
||||||
setActiveLogLevel(logLevel);
|
setActiveLogLevel(logLevel);
|
||||||
|
|
||||||
|
if (resetAfterReconnect) {
|
||||||
|
activeSocket.emit("dms-reset-context", { jobId, mode });
|
||||||
|
setResetAfterReconnect(false);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const onDisconnect = () => setIsConnected(false);
|
const onDisconnect = () => setIsConnected(false);
|
||||||
@@ -477,14 +484,13 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
|
|||||||
<Button
|
<Button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setLogs([]);
|
setLogs([]);
|
||||||
|
setResetAfterReconnect(true);
|
||||||
if (isWssMode(mode)) {
|
if (isWssMode(mode)) {
|
||||||
setActiveLogLevel(logLevel);
|
setActiveLogLevel(logLevel);
|
||||||
}
|
}
|
||||||
if (activeSocket) {
|
if (activeSocket) {
|
||||||
activeSocket.disconnect();
|
activeSocket.disconnect();
|
||||||
activeSocket.connect();
|
setTimeout(() => activeSocket.connect(), 100);
|
||||||
// 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 });
|
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user