Skip to content

fix(review): render tables + inline video in PR comments, descriptions, and commit messages#1007

Merged
backnotprop merged 1 commit into
mainfrom
fix/review-comment-tables-video
Jul 6, 2026
Merged

fix(review): render tables + inline video in PR comments, descriptions, and commit messages#1007
backnotprop merged 1 commit into
mainfrom
fix/review-comment-tables-video

Conversation

@backnotprop

Copy link
Copy Markdown
Owner

Found while dogfooding: reviewing PR #957 inside Plannotator, a PR comment containing a markdown table rendered as one collapsed line of pipes, and links to test-recording videos were plain links.

Root cause: the lightweight MarkdownBody renderer (used by the PR-comments panel, PR description tab, and commit-description header — NOT the main document viewer, which has a full TableBlock) had no table case, so table blocks fell through to the paragraph branch.

Changes:

  • table case reusing parseTableContent from @plannotator/ui's TableBlock (single pipe parser), compact styling, inline markdown in cells
  • A paragraph that is exactly one link/bare URL to a video file now renders an inline <video controls> player with a fallback link
  • MarkdownBody extracted to its own module (it served three components from inside PRSummaryTab); importers re-pointed
  • New markdownBody.test.tsx (5 tests, renderToString — runs in plain CI)

Verification: typecheck clean · full suite 1897 pass / 0 fail · apps/review builds.

…ions / commit messages

The lightweight MarkdownBody renderer (PR comments, PR descriptions,
commit messages) had no 'table' case — pipe tables fell through to the
paragraph branch and collapsed into one line of raw pipes. Add a
compact table renderer reusing parseTableContent from TableBlock (one
pipe parser), with inline markdown in cells.

Also render a paragraph consisting solely of a link (or bare URL) to a
video file (.webm/.mp4/.mov/.m4v/.ogg) as an inline <video controls>
player with a fallback link — GitHub can't inline-play API-posted video
links, but our review UI now can.

MarkdownBody moves to its own module (it was living inside
PRSummaryTab while serving three components); importers re-pointed.
New markdownBody.test.tsx covers tables, escaped pipes, video links,
bare video URLs, and non-video paragraphs via renderToString (runs in
plain CI, no DOM needed).
@backnotprop backnotprop merged commit 8fcecce into main Jul 6, 2026
10 checks passed
@backnotprop

Copy link
Copy Markdown
Owner Author

This is now released in version 0.23.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant