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 }) {
|
||||
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);
|
||||
}
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user