mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(telemetry): readable Sentry errors, Python tracebacks, and diagnostic mode
Keeps a real, redacted error message instead of "Error: Error", surfaces Python tracebacks in Sentry as a vetted context, and adds an opt-in SNAPOTTER_SENTRY_DIAGNOSTIC verbose mode plus SNAPOTTER_SENTRY_DSN_OVERRIDE. The default fleet path ships nothing on the never-collect list; raw detail is reachable only via the opt-in flag. Also classifies Redis OOM/READONLY replies as operational and removes a ReDoS in stack-frame extraction.
This commit is contained in:
@@ -113,6 +113,17 @@ describe("classifyError", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("classifyError redis", () => {
|
||||
it("classifies a Redis OOM ReplyError as operational", () => {
|
||||
const err = Object.assign(new Error("OOM command not allowed"), { name: "ReplyError" });
|
||||
expect(classifyError(err, "worker")).toBe("operational");
|
||||
});
|
||||
it("classifies a Redis READONLY ReplyError as operational", () => {
|
||||
const err = Object.assign(new Error("READONLY You can't write"), { name: "ReplyError" });
|
||||
expect(classifyError(err, "worker")).toBe("operational");
|
||||
});
|
||||
});
|
||||
|
||||
describe("throttle", () => {
|
||||
beforeEach(() => resetThrottleForTests());
|
||||
it("operational: 1 per signature per hour; bug: 10", () => {
|
||||
|
||||
Reference in New Issue
Block a user