diff --git a/src/utils/fetchUtils.ts b/src/utils/fetchUtils.ts index 1da0d60a0..c3d352b83 100644 --- a/src/utils/fetchUtils.ts +++ b/src/utils/fetchUtils.ts @@ -10,8 +10,9 @@ import { buildReleaseNotesUrl } from "./envUtils"; * @throws An error if the fetch request fails */ export const fetchReleaseNotes = async (signal?: AbortSignal): Promise => { - if (sessionStorage.getItem("releaseNotes")) { - return sessionStorage.getItem("releaseNotes"); + const cachedNotes = sessionStorage.getItem("releaseNotes"); + if (cachedNotes) { + return cachedNotes; } const url: string = buildReleaseNotesUrl(); diff --git a/src/utils/logger.test.ts b/src/utils/logger.test.ts index bdd96bafa..ab8ebf0ca 100644 --- a/src/utils/logger.test.ts +++ b/src/utils/logger.test.ts @@ -62,4 +62,17 @@ describe("Logger", () => { expect(consoleErrorSpy).not.toHaveBeenCalled(); }); + + it.each(["stage", "prod"])( + "should not log on the upper tier '%s'", + (tier) => { + env.NODE_ENV = "development"; // Override 'test' to log the message + + env.REACT_APP_DEV_TIER = tier; + + Logger.error("A message that should not be visible"); + + expect(consoleErrorSpy).not.toHaveBeenCalled(); + } + ); }); diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 92f9f33f1..507c9e839 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -17,11 +17,16 @@ export type LogLevel = "error"; * @returns void */ const LoggingWrapper = (level: LogLevel, message: string, ...optionalParams: unknown[]): void => { - // Skip logging in a test environment. + // Skip logging in a testing context. if (env?.NODE_ENV === "test") { return; } + // Skip logging on stage or production environments. + if (env?.REACT_APP_DEV_TIER === "prod" || env?.REACT_APP_DEV_TIER === "stage") { + return; + } + const timestamp = new Date().toISOString(); switch (level) { case "error":