thunderbird-patch-review
Simple email patch review tool for Thunderbird
git clone git://mccd.space/thunderbird-patch-reviewcommit 316273f6eedde47669f8037e09ba7115f34832ac
parent 5989a166b6193b155296f099cc7d829a21339100
Author: Pi Agent <agent@pi.local>
Date: Sun, 19 Jul 2026 10:42:40 +0200
review: stop printing apply-check errors twice; use ✖ for conflict
The conflict output concatenated the forward and reverse git apply
--check outputs, which printed the same 'patch failed' lines twice.
The reverse run only confirms the failure; keep the forward output,
which is the one that says which file and hunk.
Also swap the conflict button glyph from ✗ (U+2717 BALLOT X) to ✖
(U+2716 HEAVY MULTIPLICATION X) for a heavier mark.
Diffstat:
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/extension/api/patchHost/implementation.js b/extension/api/patchHost/implementation.js
@@ -172,7 +172,10 @@ async function check(repo, strategy, patches) {
if (rev.exitCode === 0) {
return { ok: true, status: "applied", output: fwd.output };
}
- return { ok: true, status: "conflict", output: fwd.output + rev.output };
+ // Only the forward run's output carries the useful 'why' (which file,
+ // which hunk). The reverse run repeats the same failure as it also
+ // can't apply; including it would just print every line twice.
+ return { ok: true, status: "conflict", output: fwd.output };
} finally {
IOUtils.remove(work, { recursive: true }).catch(() => {});
}
diff --git a/extension/review/review.js b/extension/review/review.js
@@ -661,7 +661,7 @@ async function refreshApplyState() {
} else if (state.applyStatus === "conflict") {
apply.classList.add("state-conflict");
apply.disabled = true;
- apply.textContent = "Apply ✗";
+ apply.textContent = "Apply ✖";
apply.title =
"This series does not apply cleanly to the repository.\n\n" +
(response.output || "(no detail)");