PR diffs 1: lock down native review DOM contract #24

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

Document and freeze the PR diff DOM/state contract before changing rendering.

Scope:

  • Enumerate the native table structure for unified and split PR diffs.
  • Record selectors and data attributes Forgejo JS depends on: .chroma, .add-code-comment, data-side, data-idx, data-path, data-new-comment-url, line-number anchors, conversation rows, viewed-file controls, expander buttons, folded files, and file tree metadata.
  • Include all PR modes: all commits, single commit, commit range, signed-out, signed-in, archived, outdated comments on/off, split/unified, whitespace modes.

Acceptance:

  • A short implementation note exists in the issue or code comments mapping the contract to source files.
  • We know exactly which DOM nodes are safe to repaint and which must be preserved unchanged.
  • Any later implementation can be reviewed against this contract.

Dependency position: root task.

Document and freeze the PR diff DOM/state contract before changing rendering. Scope: - Enumerate the native table structure for unified and split PR diffs. - Record selectors and data attributes Forgejo JS depends on: `.chroma`, `.add-code-comment`, `data-side`, `data-idx`, `data-path`, `data-new-comment-url`, line-number anchors, conversation rows, viewed-file controls, expander buttons, folded files, and file tree metadata. - Include all PR modes: all commits, single commit, commit range, signed-out, signed-in, archived, outdated comments on/off, split/unified, whitespace modes. Acceptance: - A short implementation note exists in the issue or code comments mapping the contract to source files. - We know exactly which DOM nodes are safe to repaint and which must be preserved unchanged. - Any later implementation can be reviewed against this contract. Dependency position: root task.
Sign in to join this conversation.
No description provided.