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:
SnapOtter
2026-08-03 13:13:38 +08:00
committed by GitHub
parent 865390ce66
commit 04ef1141fb
22 changed files with 593 additions and 178 deletions
+11
View File
@@ -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", () => {