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

commit 8258ea86e73871e69ce8285ee9245a53882355d4
parent 7c75d5416db368f6060479bf1107e60505390eb6
Author: Pi Agent <agent@pi.local>
Date:   Sat, 18 Jul 2026 22:22:40 +0200

Revert "review: fold each file's diff into the patch box, separated by borders"

This reverts commit 690db80a5947ee75bf9278979797682e9af9081e.

Diffstat:
Mextension/review/review.css | 20++++----------------
Mextension/review/review.js | 6+++---
2 files changed, 7 insertions(+), 19 deletions(-)
diff --git a/extension/review/review.css b/extension/review/review.css
@@ -276,16 +276,15 @@ button.primary:hover { color: #fff; opacity: 0.9; }
 .commit-message .patch-headers > dt + dd::after { content: "\A"; white-space: pre; }
 
 .file {
-  margin: 0;
-  border: 0;
-  border-top: 1px solid var(--border);
-  border-radius: 0;
+  margin-bottom: 1rem;
+  border: 1px solid var(--border);
+  border-radius: 6px;
   overflow: hidden;
 }
 
 .file > summary {
   padding: 0.4rem 0.8rem;
-  background: transparent;
+  background: var(--surface);
   font-family: ui-monospace, monospace;
   font-weight: 600;
   cursor: pointer;
@@ -360,17 +359,6 @@ 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,6 +155,7 @@ 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");
@@ -170,16 +171,15 @@ function renderPatch() {
     } else {
       details.appendChild(renderFileTable(file, fileIndex));
     }
-    box.appendChild(details);
+    content.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.";
-    box.appendChild(note);
+    content.appendChild(note);
   }
-  content.appendChild(box);
 }
 
 function headerRow(name, value, into) {