Skip to content

fix(canvas): correct comment Build links and metadata - #28

Open
lukasoppermann wants to merge 7 commits into
mainfrom
lukasoppermann-canvas-comment-metadata
Open

lukasoppermann wants to merge 7 commits into
mainfrom
lukasoppermann-canvas-comment-metadata

Conversation

@lukasoppermann

@lukasoppermann lukasoppermann commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Why

Comment Build links used a relative Hub path inside the separately hosted canvas. Clicking one reached the canvas server's JSON 404 instead of the Build page. This affects canvases connected to local or deployed Hubs.

What changes

Canvas comment links now open the original Build on the selected Hub in a separate tab. Earlier Build links appear in parentheses immediately after the author's name, with muted text and an underline only on hover. The shared Hub comment row uses the same layout and keeps its existing relative navigation.

Compact avatars and unread dots share a fixed left gutter. Each dot sits below its avatar, vertically centered against the comment text. Author names, comment bodies, and reply counts align beside the gutter, giving the body more room while retaining its three-line limit. Read comments keep the same positions, with muted author and body text and regular-weight names. The wider hover background includes the gutter.

Remove the confusing “Checking” badge as requested. It described a pending attempt to locate the comment's target in the preview, not whether the comment was saved. Confirmed target statuses and resolved-conversation badges remain unchanged. Row selection retains its disabled-state guard, unread focus announcements, and timestamp and unread-indicator tooltips.

Conversation menus now start with Mark as unread, using a solid dot icon, with a divider before Delete. Any repository reader can mark a conversation unread for themselves in Hub or the canvas, without changing other reviewers' state or inbox notifications. The conversation and drafts stay open; reopening marks the displayed activity read again. Replying, editing, reacting, and changing resolution retain their existing mark-as-read behavior. Failed unread changes show an error and can be retried from the menu.

A full-canvas Storybook preview shows earlier and current Build comments with zero, one, and two replies, using only in-memory fixtures. Its read and unread actions also stay in memory. The bundled plugin assets are updated with the source.

Canvas sidebar with aligned avatar and unread-dot gutters, an earlier Build link, reply counts, and muted read comments

The screenshot uses synthetic Storybook data. The original reference URL redirected to another canvas, so the reported authenticated Build click could not be replayed. Authenticated destination loading and pointer-hover interaction remain unverified; the browser canvas has no hover action and the configured isolated Playwright MCP is unavailable in this runtime.

Open earlier comment Builds on the selected Hub, place the muted Build link next to the author, and align replies with the comment text. Remove the confusing pending target badge while preserving confirmed statuses.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
@lukasoppermann
lukasoppermann requested review from a team and nshki as code owners October 19, 2026 11:48
Copilot AI max review requested due to automatic review settings October 19, 2026 11:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The row restructuring loses unread announcements on button focus and blocks timestamp hover details.

2 open issues
What changed in this PR

Corrects canvas comment Build navigation and updates the shared Hub comment-row layout.

Changes:

  • Open canvas Build links on the selected Hub in a separate tab.
  • Move Build metadata beside authors, align reply counts, and remove the pending “Checking” badge.
  • Update documentation, stories, types, and regression tests.
File Description
hub/​docs/​prototype-canvas.md Documents links, layout, and status behavior.
hub/​app/​javascript/​utils/​review-comment/​types.ts Removes pending-status copy field.
hub/​app/​javascript/​utils/​review-comment/​en.ts Removes “Checking” copy.
hub/​app/​javascript/​pages/​prototypes-show-page/​index.test.tsx Updates copy fixture.
hub/​app/​javascript/​features/​review-thread-conversation/​index.test.tsx Updates copy fixture.
hub/​app/​javascript/​features/​review-comments-sidebar/​types.ts Adds optional Hub origin.
hub/​app/​javascript/​features/​review-comments-sidebar/​index.tsx Resolves absolute Build links.
hub/​app/​javascript/​features/​review-comment-row/​types.ts Updates row copy contract.
hub/​app/​javascript/​features/​review-comment-row/​styles.css Adjusts layout and row click target.
hub/​app/​javascript/​features/​review-comment-row/​stories.tsx Adds metadata layout examples.
hub/​app/​javascript/​features/​review-comment-row/​index.tsx Restructures metadata and selection control.
hub/​app/​javascript/​features/​review-comment-row/​index.test.tsx Covers status and Build-link behavior.
hub/​app/​javascript/​features/​review-comment-composer/​index.test.tsx Updates copy fixture.
hub/​app/​javascript/​features/​prototype-canvas-hub-panel/​index.tsx Supplies the selected Hub origin.
hub/​app/​javascript/​features/​prototype-canvas-hub-panel/​comment-visibility.test.tsx Covers canvas Build-link destinations.

Review effort: Max

Comment thread hub/app/javascript/features/review-comment-row/index.tsx Outdated
Comment thread hub/app/javascript/features/review-comment-row/styles.css
Add a full canvas sidebar preview with earlier Build links and varied reply counts.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
Place compact avatars beside author names, center unread dots against the comment body, and reduce emphasis on read authors. Restore unread button announcements and tooltip pointer targets with guarded row selection.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
Keep avatars above body-centered unread dots in a fixed gutter, align author and body text, and mute read comments without shifting their layout.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 616a126c-672b-420e-a62f-e54cdce52001
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.

2 participants