thunderbird-patch-review
Easy-to-use patch review interface for Thunderbird
Contribute: ~marcc/thunderbird-review-plugin@lists.sr.ht
git clone git://mccd.space/thunderbird-patch-review
| Log | Files | Refs | README | LICENSE |
commit 690db80a5947ee75bf9278979797682e9af9081e parent 28d27e979bbd73f374f5fb4e9544954ea34a0aa2 Author: Pi Agent <agent@pi.local> Date: Sat, 18 Jul 2026 22:18:30 +0200 review: fold each file's diff into the patch box, separated by borders Move the per-file diff (and the no-diff note) inside the .patch-box so the\nseries nav, commit message, general comment, and every file's diff render\nas one card. Sections are separated by top borders instead of separate\ncards: the commit message gains a bottom border, each .file drops its own\nborder/radius and gets a single top border, and the general comment card\nsits flush as a section rather than indented like an inline card. Diffstat:
| M | extension/review/review.css | | | 21 | +++++++++++++++++---- |
| M | extension/review/review.js | | | 6 | +++--- |
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/extension/review/review.css b/extension/review/review.css
@@ -243,6 +243,7 @@ button.primary:hover { color: #fff; opacity: 0.9; }
margin: 0;
padding: 0.8rem 1rem;
border: 0;
+ border-bottom: 1px solid var(--border);
border-radius: 0;
background: transparent;
white-space: pre-wrap;
@@ -276,15 +277,16 @@ button.primary:hover { color: #fff; opacity: 0.9; }
.commit-message .patch-headers > dt + dd::after { content: "\A"; white-space: pre; }
.file {
- margin-bottom: 1rem;
- border: 1px solid var(--border);
- border-radius: 6px;
+ margin: 0;
+ border: 0;
+ border-top: 1px solid var(--border);
+ border-radius: 0;
overflow: hidden;
}
.file > summary {
padding: 0.4rem 0.8rem;
- background: var(--surface);
+ background: transparent;
font-family: ui-monospace, monospace;
font-weight: 600;
cursor: pointer;
@@ -359,6 +361,17 @@ tr.comment-row td { padding: 0; }
font-family: -apple-system, "Segoe UI", sans-serif;
}
+/* The patch-level (general) comment card sits inside the patch box as a
+ section of its own, flush with the others rather than indented like the
+ inline cards under diff lines. */
+.patch-box > .comment-box.readonly {
+ margin: 0;
+ border: 0;
+ border-top: 1px solid var(--border);
+ border-radius: 0;
+ background: var(--comment-bg);
+}
+
.comment-box .comment-text { padding: 0.5rem 0.8rem; white-space: pre-wrap; }
.comment-box textarea {
diff --git a/extension/review/review.js b/extension/review/review.js
@@ -155,7 +155,6 @@ function renderPatch() {
if (existingGeneral) {
box.appendChild(commentCard(existingGeneral.text, () => openGeneralEditor(msg, null)));
}
- content.appendChild(box);
parsed.files.forEach((file, fileIndex) => {
const details = document.createElement("details");
@@ -171,15 +170,16 @@ function renderPatch() {
} else {
details.appendChild(renderFileTable(file, fileIndex));
}
- content.appendChild(details);
+ box.appendChild(details);
});
if (!parsed.files.length && !patch.isCover) {
const note = document.createElement("div");
note.className = "file-note";
note.textContent = "No diff found in this message.";
- content.appendChild(note);
+ box.appendChild(note);
}
+ content.appendChild(box);
}
function headerRow(name, value, into) {