Repository navigation
Commit a705668
fix(canvas): correct comment Build links and metadata (#28)
<!-- Use a conventional commit-style title, such as "fix(hub): retain
prototype history". -->
## Why
<!-- Explain the problem and why this change matters in a short,
plain-English paragraph. Link the issue when applicable. -->
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
<!-- Describe what becomes different for a first-time reader. Explain
necessary terms. Include accurate Mermaid diagrams when they clarify the
proposal, using before/after diagrams when helpful. Add screenshots for
meaningful UI changes. -->
<!-- Omit validation sections, checklists, and routine test/CI summaries
such as "CI is green" or "tests passed". Mention only known verification
gaps that affect the change, not disclaimers about drafting this
description. -->
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.

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.
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 616a126c-672b-420e-a62f-e54cdce520011 parent 2944cc5 commit a705668
43 files changed
Lines changed: 1096 additions & 169 deletions
File tree
- .github/extensions/replica-prototype
- assets
- start-canvas-server
- hub
- app
- controllers
- canvas_api
- javascript
- application/prototype-canvas
- features
- prototype-canvas-hub-panel
- prototype-review-overlays
- review-comment-composer
- review-comment-row
- review-comments-sidebar
- review-thread-conversation
- review-thread-message
- hooks/use-review-comments
- use-review-comments-client
- pages/prototypes-show-page
- utils/review-comment
- models/review_comment
- config
- docs
- test/integration
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
567 | 567 | | |
568 | 568 | | |
569 | 569 | | |
570 | | - | |
| 570 | + | |
571 | 571 | | |
572 | | - | |
| 572 | + | |
573 | 573 | | |
574 | 574 | | |
575 | 575 | | |
576 | 576 | | |
577 | 577 | | |
578 | 578 | | |
579 | | - | |
| 579 | + | |
580 | 580 | | |
581 | 581 | | |
582 | 582 | | |
| |||
587 | 587 | | |
588 | 588 | | |
589 | 589 | | |
590 | | - | |
| 590 | + | |
591 | 591 | | |
592 | 592 | | |
593 | 593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1067 | 1067 | | |
1068 | 1068 | | |
1069 | 1069 | | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
1070 | 1084 | | |
1071 | 1085 | | |
1072 | 1086 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
14 | 22 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
17 | 25 | | |
18 | 26 | | |
19 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
13 | 37 | | |
14 | 38 | | |
15 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
| 17 | + | |
15 | 18 | | |
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| 22 | + | |
19 | 23 | | |
20 | 24 | | |
21 | 25 | | |
| |||
26 | 30 | | |
27 | 31 | | |
28 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
29 | 77 | | |
30 | 78 | | |
31 | 79 | | |
| |||
131 | 179 | | |
132 | 180 | | |
133 | 181 | | |
134 | | - | |
135 | | - | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
136 | 201 | | |
137 | 202 | | |
138 | 203 | | |
| |||
156 | 221 | | |
157 | 222 | | |
158 | 223 | | |
159 | | - | |
| 224 | + | |
160 | 225 | | |
161 | 226 | | |
162 | 227 | | |
| |||
189 | 254 | | |
190 | 255 | | |
191 | 256 | | |
192 | | - | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
193 | 263 | | |
194 | 264 | | |
195 | 265 | | |
| |||
230 | 300 | | |
231 | 301 | | |
232 | 302 | | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
233 | 356 | | |
234 | 357 | | |
235 | 358 | | |
| |||
0 commit comments