PR diffs 5: implement native PR code-content repaint bridge #28

Closed
opened 2026-05-09 03:28:02 +00:00 by barrettruth · 0 comments
Owner

Implement the real PR renderer as a native-DOM-preserving repaint bridge.

Scope:

  • Keep Forgejo's PR <table class="chroma">, rows, line number anchors, comment buttons, conversation rows, and form containers.
  • Repaint only code content and diff coloring to match the Pierre/midnight visual model.
  • Prefer existing native line metadata over reparsing raw diff text where review state matters.
  • Preserve native fallback per file when a bridge invariant fails.

Acceptance:

  • PR Files Changed gets custom syntax/diff visuals without losing line comments or conversations.
  • Split and unified views both work.
  • No wholesale FileDiff replacement is used for signed-in review pages.
  • Fallback is per-file, not a page-wide failure.

Depends on: PR diffs 1 and PR diffs 2.

Implement the real PR renderer as a native-DOM-preserving repaint bridge. Scope: - Keep Forgejo's PR `<table class="chroma">`, rows, line number anchors, comment buttons, conversation rows, and form containers. - Repaint only code content and diff coloring to match the Pierre/midnight visual model. - Prefer existing native line metadata over reparsing raw diff text where review state matters. - Preserve native fallback per file when a bridge invariant fails. Acceptance: - PR Files Changed gets custom syntax/diff visuals without losing line comments or conversations. - Split and unified views both work. - No wholesale `FileDiff` replacement is used for signed-in review pages. - Fallback is per-file, not a page-wide failure. Depends on: PR diffs 1 and PR diffs 2.
Sign in to join this conversation.
No description provided.