fix(signal): surface signal-cli failures as errors

This commit is contained in:
Peter Steinberger
2026-01-02 11:40:55 +00:00
parent a53cdbf1b4
commit e92b480629
2 changed files with 11 additions and 0 deletions

View File

@@ -16,6 +16,15 @@ describe("classifySignalCliLogLine", () => {
expect(classifySignalCliLogLine("ERROR Something")).toBe("error");
});
it("treats failures without explicit severity as error", () => {
expect(
classifySignalCliLogLine("Failed to initialize HTTP Server - oops"),
).toBe("error");
expect(classifySignalCliLogLine('Exception in thread "main"')).toBe(
"error",
);
});
it("returns null for empty lines", () => {
expect(classifySignalCliLogLine("")).toBe(null);
expect(classifySignalCliLogLine(" ")).toBe(null);

View File

@@ -23,6 +23,8 @@ export function classifySignalCliLogLine(line: string): "log" | "error" | null {
if (!trimmed) return null;
// signal-cli commonly writes all logs to stderr; treat severity explicitly.
if (/\b(ERROR|WARN|WARNING)\b/.test(trimmed)) return "error";
// Some signal-cli failures are not tagged with WARN/ERROR but should still be surfaced loudly.
if (/\b(FAILED|SEVERE|EXCEPTION)\b/i.test(trimmed)) return "error";
return "log";
}