Merge branch 'develop' into feature/kroell/INSR-9790

This commit is contained in:
katiekroell 2026-05-22 12:08:59 -04:00 committed by GitHub
commit b5235e0096
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 38 additions and 19 deletions

4
package-lock.json generated
View file

@ -21667,7 +21667,9 @@
}
},
"node_modules/ws": {
"version": "8.18.0",
"version": "8.20.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
"dev": true,
"license": "MIT",
"engines": {

View file

@ -33,30 +33,41 @@ export class Logger {
formatLogEntry(message, details) {
let json = '';
if (details) {
if (details instanceof Error) {
json = JSON.stringify(details, Object.getOwnPropertyNames(details), 2);
} else {
json = JSON.stringify(details, undefined, 2)
const store = useMainStore();
const sessionKey = getSessionKeyValue();
try
{
if (details) {
if (details instanceof Error) {
json = JSON.stringify(details, Object.getOwnPropertyNames(details), 2);
} else {
json = JSON.stringify(details, undefined, 2)
}
}
} catch (error) {
json = `Failed to serialize log details: ${error}`;
}
return `Application: ${applicationConfig.APPLICATION_NAME} \n${message} \n${json}`;
return [
`Application: ${applicationConfig.APPLICATION_NAME}`,
`ClientTag: ${store.issConfig?.clientTag}`,
`ParentAccountNumber: ${store.issConfig?.parentAccountNumber}`,
`ClientName: ${store.issConfig?.clientName}`,
`LastPageVisited: ${store.applicationUser?.lastPageVisited}`,
`SessionLogSequenceNumber: ${sessionKey}`,
`ReferralSequenceNumber: ${store.order?.referralSequenceNumber}`,
`ReferralNumber: ${store.order?.referralNumber}`,
`EON: ${store.order?.eon}`,
`Message: ${message}`,
`JSON: ${json}`
].join('\n');
}
writeLogEntry(endpoint, logEntry) {
const store = useMainStore();
const sessionKey = getSessionKeyValue();
// TODO: Work in progress.
/*
if ( store.applicationUser.logErrorCalls> 10 ) {
console.error("Exceeded maximum log error calls for this session. Further logging will be suppressed to prevent potential infinite loops.");
return;
}
store.applicationUser.logErrorCalls += 1;
*/
return new Promise((resolve, reject) => {
// If running locally or in the Dev environment show the log entries in the console.
if (

View file

@ -116,13 +116,20 @@ export default {
mixins: [BaseFormMixin, analyticsMixIn],
async beforeRouteEnter(to, from, next) {
const fromPage = from?.query?.issPage || 'external';
// Only log bailout event if user is coming from a different page.
// This ensures that we cannot get stuck in a loop, if the bailout-page ever bails out.
if (fromPage !== issPageValues.BAILOUT_PAGE) {
const bailoutCode = useMainStore().pageData(issPageValues.BAILOUT_PAGE).bailoutCode;
const bailoutPageData = useMainStore().pageData(issPageValues.BAILOUT_PAGE);
const bailoutCode = bailoutPageData.bailoutCode;
const bailoutString = Object.keys(BailoutCode).find(key => BailoutCode[key] === bailoutCode);
// Log Bailout info to the error log for quick searching.
global.$logger.logError(`Bailout - Page: ${fromPage} - BailoutCode: ${bailoutCode} - BailoutString: ${bailoutString}`, bailoutPageData);
// Log a couple main bailout items to GA and session log events.
analyticsMixIn.methods.pushEventToGA(GaCategories.BAILOUT, bailoutString, fromPage, true, null, null);
}
}
// Call APIs
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);

View file

@ -245,7 +245,6 @@ export const getDefaultState = () => ({
duplicateOrders: [],
hasSentSaveQuoteEmail: null,
coverageLookupAttempts: 0,
//logErrorCalls: 0,
firstHit: true
},
issConfig: {