prreviewbuddy 0.55.6 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,131 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.56.0
4
+
5
+ **Work in one focused tab, with Back and Forward that know where you were.** The workspace now has
6
+ Back and Forward buttons at the start of the top bar, before Reviews. They move through this tab's
7
+ workspace history: from the Reviews list into a review, between Overview, themes, Issues,
8
+ Questions, Files, PR context, Diagrams and KISS, and back out again. The browser's own Back and
9
+ Forward buttons, mouse buttons and shortcuts use the same history, and so do **⌘[** and **⌘]** on a
10
+ Mac (**Ctrl+[** and **Ctrl+]** elsewhere). The shortcuts do nothing while you are typing in a field
11
+ or a dialog is open. The workspace's Back is disabled on the first workspace page in a tab, so it
12
+ never takes you to a site you came from; the browser's Back still does.
13
+
14
+ **Coming back puts every page as you left it.** Back to the Reviews list restores the search,
15
+ filters, rows you loaded with Load more, opened history rows, scroll position and the review you
16
+ had selected. Back to a review restores its section or theme, exactly the files that were open, each
17
+ where you were reading it (the change you stepped to, how far Show more had gone, Expand, and the
18
+ line at the top), the document and sidebar scroll, whether Buddy AI was open and where in its conversation,
19
+ the folded parts of the sidebar, and keyboard focus. If something changed while you were away, for
20
+ example a finding is gone after an update or a file is shorter, you land on the closest thing that
21
+ is still there. Open files and scrolling are part of a page, not steps of their own, so one Back
22
+ always goes to the previous page. A reload keeps all of this too, and so does going back an instant
23
+ after scrolling. Pressing Back and Forward faster than a file can load ends on the page you stopped
24
+ at, with that page's files, never with an earlier page's.
25
+
26
+ **An unsent Buddy AI question survives.** A question you have started typing is kept per tab while
27
+ you move around, through a refresh, and through the reloads a review does to itself when an
28
+ analysis or update lands. While an earlier question is still being answered you can write the next
29
+ one, and it is kept even if you leave and come back: it waits in the box, never sent by itself, and
30
+ Ask is there once the answer arrives. Enter does nothing until then, so typing can never stop the
31
+ running answer. A question that did not go, because you stopped it, the server could not be
32
+ reached, or another page of the review was already asking, goes back into the box. Text you wrote
33
+ is cleared only when it is sent or when you delete it.
34
+
35
+ **New tabs still work as links do.** The sidebar's views and themes are now real links, so
36
+ Cmd-click, Ctrl-click, middle-click and the browser's "Open link in new tab" open them in a tab of
37
+ their own, for comparing side by side. Each new tab starts its own history.
38
+
39
+ **Search and filters no longer add history steps.** Changing the search, the status, author or PR
40
+ filter on the Reviews list updates its address in place, so Back from a review returns to the list
41
+ as you filtered it rather than stepping back through each filter. Bookmarked list addresses open
42
+ exactly as before.
43
+
44
+ At phone width the version number in the top bar gives way to Back and Forward; it is now also at
45
+ the foot of Help.
46
+
47
+ Tested in current Chromium, Firefox and WebKit (Safari's engine), each with and without the
48
+ browser's Navigation API. Safari itself and earlier major versions have not been run, so support
49
+ there is provisional.
50
+
51
+ ## 0.55.10
52
+
53
+ **Complexity worth keeping loses its side rules.** In a KISS review, each item in the list had a
54
+ grey line down its left edge, which made the list look like a timeline or a run of quotations. The
55
+ disclosure arrow and the space between items already show where each one ends, so the line is
56
+ gone, and the items sit a little closer to the left so they line up with the heading.
57
+
58
+ ## 0.55.9
59
+
60
+ **No more 404s in the workspace console.** Opening a review, the Diagrams tab or a file logged a
61
+ "Failed to load resource" error for every chunk the page loads on demand. Vite's preload hints asked
62
+ for each chunk at the site root, while the workspace serves them from `/assets/`. The chunks
63
+ themselves always loaded, so nothing was broken, but the hints were wasted and the console was
64
+ noisy. They now point at `/assets/`, and the page fetches a dynamic import's chunks in parallel as
65
+ intended.
66
+
67
+ ## 0.55.8
68
+
69
+ **Author's context links to the PR description on GitHub.** In the extension, which sits on the PR
70
+ page where GitHub already shows the description in full, Author's context is now a link, **View PR
71
+ description on GitHub ↗**, instead of a second copy of it: on the Conversation tab it scrolls to
72
+ and focuses GitHub's own description, and from any other tab it goes there. Cmd-, Ctrl-, Shift- and
73
+ Alt-click do what they do on any link. Why this change? follows straight after. This is deliberate,
74
+ host-specific layout: the extension does not duplicate what GitHub renders on the same page. The
75
+ workspace keeps its copy of the description, which is the one the analysis read, and adds the same
76
+ link to the section's header, opening GitHub in a new tab; once the review is stale it reads **View
77
+ current PR description on GitHub ↗**, including when it goes stale with the page open. Neither
78
+ shows the link for a review with no PR, such as a local branch. Both hosts still give the analysis
79
+ the stored description. (Extension 0.25.6.)
80
+
81
+ **The CLI prints the PR description's link.** When a review of a PR finishes, the terminal shows
82
+ `PR description:` and its GitHub link under the review's own.
83
+
84
+ **Mermaid diagrams in the workspace.** A block fenced as `mermaid` in a PR description or comment
85
+ is now drawn as a diagram, as GitHub draws it, from the Mermaid the workspace already bundles, with
86
+ nothing fetched from anywhere else. Each one is drawn when it first comes into view, including when
87
+ a collapsed section opens, at its natural size, scrolling sideways in a narrow pane rather than
88
+ shrinking past reading. **View source** shows the Mermaid behind it, with **Copy source**. One that
89
+ cannot be drawn shows its source with "This diagram couldn’t be displayed." Each is labelled for
90
+ screen readers by the title above it, such as "Mermaid diagram: Diagram Walkthrough". Diagrams are
91
+ treated as untrusted, and so are the Diagrams tab's, which a model wrote: both draw through one
92
+ engine, with strict mode, plain-text labels, no scripts, and no links, including `click … href`,
93
+ which is drawn as an ordinary node. A diagram can no longer switch HTML labels back on or inject its
94
+ own styles through `%%{init}%%` or front matter. The extension leaves diagrams to GitHub, on whose
95
+ page it sits.
96
+
97
+ **Workspace pages load nothing from other sites.** Every workspace page now sends a
98
+ Content-Security-Policy that limits images, styles, fonts, media and connections to the workspace
99
+ itself. Mermaid fetches the picture in an image shape (`A@{ img: "https://…" }`) while it lays the
100
+ diagram out, before anything can sanitise it, so without this a PR description could tell its
101
+ author when you opened the review, and from where. Such a diagram now shows its source instead. A
102
+ test draws hostile diagrams with the real Mermaid in Chromium, through both the description and the
103
+ Diagrams tab, and fails on any request that leaves the page.
104
+
105
+ ## 0.55.7
106
+
107
+ **Supports common GitHub-formatted PR descriptions and bot walkthroughs.** A PR description or
108
+ comment that used HTML, such as a template's `<details>` or a review bot's file walkthrough table,
109
+ showed as raw tag text in Author's context and on the PR context page. A documented safe subset is
110
+ now formatted: collapsible `<details>` sections (always starting closed, with Markdown inside them
111
+ when set apart by blank lines), tables (which scroll on their own rather than widening the page),
112
+ paragraphs, lists, links, emphasis, code and line breaks. Images, audio and video are linked, not
113
+ displayed inline: a screenshot becomes **View image: Login page** (or **View attached image** when
114
+ it has no description), and audio and video become **Open attached audio** and **Open attached
115
+ video**. They open in a new tab in your own browser session, so a private repository's uploads open
116
+ too, and nothing is fetched until you choose to. Only https media is linked. Anything else outside
117
+ the subset, such as preformatted HTML, shows as the text inside it, never as tags. The subset is
118
+ rebuilt from a fixed allowlist with only safe attributes: scripts, styles, frames, forms and event
119
+ handlers never reach the page, a link must be http(s) or in-page, and anything left open is closed
120
+ within the description. The preview opens on the author's words, past any HTML ahead of them.
121
+ Analysis output is unchanged. (Extension 0.25.5.)
122
+
123
+ **A long description closes from its top.** Once the full PR description is open, Author's context
124
+ has a **Show less** in its header, which stays at the top of the pane while you read, so you no
125
+ longer scroll to the end of a long description to close it; the one under the description is still
126
+ there. Closing takes you back to the section if you had scrolled past it, with keyboard focus on
127
+ **View full PR description**, and opening it again returns you to where you were reading.
128
+
3
129
  ## 0.55.6
4
130
 
5
131
  **File paths are shown whole.** A deep directory above a file name was cut short with an ellipsis,