Files
elysium/apps/web/src/utils/logError.ts
T
hikari 1195b657a0
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m10s
CI / Lint, Build & Test (push) Successful in 1m13s
feat: another balance and bug fix pass (#238)
Working through open issues — fixes, balance changes, and features.

## Closed

- Closes #161
- Closes #181
- Closes #191
- Closes #199
- Closes #201
- Closes #202
- Closes #203
- Closes #204
- Closes #205
- Closes #206
- Closes #208
- Closes #211
- Closes #212
- Closes #213
- Closes #214
- Closes #216
- Closes #219
- Closes #220
- Closes #221
- Closes #222
- Closes #224
- Closes #225
- Closes #226
- Closes #228
- Closes #229
- Closes #230
- Closes #231
- Closes #232
- Closes #233
- Closes #234
- Closes #235
- Closes #236

 This PR was created with help from Hikari~ 🌸

Reviewed-on: #238
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
2026-04-06 18:17:00 -07:00

28 lines
972 B
TypeScript

/**
* @file Frontend error logging utility that forwards errors to the backend telemetry service.
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
/* eslint-disable no-console -- Errors are forwarded to backend via the overridden console.error */
import { ValidationError } from "../api/client.js";
/**
* Logs an error to the backend telemetry service.
* ValidationErrors (4xx API rejections) are downgraded to console.warn so they
* are not forwarded to the error-email pipeline — they are expected server responses.
* @param logArguments - The values to log, forwarded directly to console.error or console.warn.
*/
const logError = (...logArguments: Array<unknown>): void => {
const isValidation = logArguments.some((argument) => {
return argument instanceof ValidationError;
});
if (isValidation) {
console.warn(...logArguments);
return;
}
console.error(...logArguments);
};
export { logError };