Merged in feature/IO-3303-logging (pull request #2410)

[DO NOT MERGE] - IO-3303 Logging/Socket Params into Master-AIO

Approved-by: Patrick Fic
This commit is contained in:
Dave Richer
2025-07-14 23:51:09 +00:00
committed by Patrick Fic
3 changed files with 116 additions and 96 deletions

View File

@@ -16,7 +16,7 @@ import {
import { useMutation } from "@apollo/client"; import { useMutation } from "@apollo/client";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { useSplitTreatments } from "@splitsoftware/splitio-react"; import { useSplitTreatments } from "@splitsoftware/splitio-react";
import { SocketContext, INITIAL_NOTIFICATIONS } from "./useSocket.js"; import { INITIAL_NOTIFICATIONS, SocketContext } from "./useSocket.js";
/** /**
* Socket Provider - Scenario Notifications / Web Socket related items * Socket Provider - Scenario Notifications / Web Socket related items
@@ -157,7 +157,10 @@ const SocketProvider = ({ children, bodyshop, navigate, currentUser }) => {
auth: { token, bodyshopId: bodyshop.id }, auth: { token, bodyshopId: bodyshop.id },
reconnectionAttempts: Infinity, reconnectionAttempts: Infinity,
reconnectionDelay: 2000, reconnectionDelay: 2000,
reconnectionDelayMax: 10000 reconnectionDelayMax: 60000,
randomizationFactor: 0.5,
transports: ["websocket", "polling"], // Add this to prefer WebSocket with polling fallback
rememberUpgrade: true
}); });
socketRef.current = socketInstance; socketRef.current = socketInstance;

View File

@@ -19,7 +19,7 @@ async function JobCosting(req, res) {
const client = req.userGraphQLClient; const client = req.userGraphQLClient;
//Uncomment for further testing //Uncomment for further testing
// logger.log("job-costing-start", "DEBUG", req.user.email, jobid, null); logger.log("job-costing-start", "DEBUG", req.user.email, jobid, null);
try { try {
const resp = await client.setHeaders({ Authorization: BearerToken }).request(queries.QUERY_JOB_COSTING_DETAILS, { const resp = await client.setHeaders({ Authorization: BearerToken }).request(queries.QUERY_JOB_COSTING_DETAILS, {
@@ -47,9 +47,9 @@ async function JobCostingMulti(req, res) {
const client = req.userGraphQLClient; const client = req.userGraphQLClient;
//Uncomment for further testing //Uncomment for further testing
// logger.log("job-costing-multi-start", "DEBUG", req?.user?.email, null, { logger.log("job-costing-multi-start", "DEBUG", req?.user?.email, null, {
// jobids jobids
// }); });
try { try {
const resp = await client const resp = await client

View File

@@ -8,6 +8,7 @@ const getLifecycleStatusColor = require("../utils/getLifecycleStatusColor");
const jobLifecycle = async (req, res) => { const jobLifecycle = async (req, res) => {
// Grab the jobids and statuses from the request body // Grab the jobids and statuses from the request body
const { jobids, statuses } = req.body; const { jobids, statuses } = req.body;
const { logger } = req;
if (!jobids) { if (!jobids) {
return res.status(400).json({ return res.status(400).json({
@@ -16,6 +17,12 @@ const jobLifecycle = async (req, res) => {
} }
const jobIDs = _.isArray(jobids) ? jobids : [jobids]; const jobIDs = _.isArray(jobids) ? jobids : [jobids];
logger.log("job-lifecycle-start", "DEBUG", req?.user?.email, null, {
jobids: jobIDs
});
try {
const client = req.userGraphQLClient; const client = req.userGraphQLClient;
const resp = await client.request(queries.QUERY_TRANSITIONS_BY_JOBID, { jobids: jobIDs }); const resp = await client.request(queries.QUERY_TRANSITIONS_BY_JOBID, { jobids: jobIDs });
@@ -112,6 +119,16 @@ const jobLifecycle = async (req, res) => {
: durationToHumanReadable(moment.duration(0)) : durationToHumanReadable(moment.duration(0))
} }
}); });
} catch (error) {
logger.log("job-lifecycle-error", "ERROR", req?.user?.email, null, {
jobids: jobIDs,
statuses: statuses ? JSON.stringify(statuses) : "N/A",
error: error.message
});
return res.status(500).json({
error: "Internal server error"
});
}
}; };
module.exports = jobLifecycle; module.exports = jobLifecycle;