feat: another balance and bug fix pass (#238)
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m10s
CI / Lint, Build & Test (push) Successful in 1m13s

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>
This commit was merged in pull request #238.
This commit is contained in:
2026-04-06 18:17:00 -07:00
committed by Naomi Carrigan
parent b0227c1709
commit 1195b657a0
34 changed files with 980 additions and 203 deletions
+11 -3
View File
@@ -5,14 +5,22 @@
* @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.
* Accepts the same arguments as console.error — conventionally a context string
* followed by the error value.
* @param logArguments - The values to log, forwarded directly to console.error.
* 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);
};