prreviewbuddy 0.55.1 → 0.55.10
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 +152 -0
- package/dist/{delete_review-B2bqhgtx.js → delete_review-C5bz0Pts.js} +942 -39
- package/dist/main.js +9 -4
- package/dist/server.js +182 -213
- package/package.json +1 -1
- package/static/shell.css +25 -20
- package/static/sidebar.css +154 -23
- package/static/workspace.js +58 -55
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,157 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.55.10
|
|
4
|
+
|
|
5
|
+
**Complexity worth keeping loses its side rules.** In a KISS review, each item in the list had a
|
|
6
|
+
grey line down its left edge, which made the list look like a timeline or a run of quotations. The
|
|
7
|
+
disclosure arrow and the space between items already show where each one ends, so the line is
|
|
8
|
+
gone, and the items sit a little closer to the left so they line up with the heading.
|
|
9
|
+
|
|
10
|
+
## 0.55.9
|
|
11
|
+
|
|
12
|
+
**No more 404s in the workspace console.** Opening a review, the Diagrams tab or a file logged a
|
|
13
|
+
"Failed to load resource" error for every chunk the page loads on demand. Vite's preload hints asked
|
|
14
|
+
for each chunk at the site root, while the workspace serves them from `/assets/`. The chunks
|
|
15
|
+
themselves always loaded, so nothing was broken, but the hints were wasted and the console was
|
|
16
|
+
noisy. They now point at `/assets/`, and the page fetches a dynamic import's chunks in parallel as
|
|
17
|
+
intended.
|
|
18
|
+
|
|
19
|
+
## 0.55.8
|
|
20
|
+
|
|
21
|
+
**Author's context links to the PR description on GitHub.** In the extension, which sits on the PR
|
|
22
|
+
page where GitHub already shows the description in full, Author's context is now a link, **View PR
|
|
23
|
+
description on GitHub ↗**, instead of a second copy of it: on the Conversation tab it scrolls to
|
|
24
|
+
and focuses GitHub's own description, and from any other tab it goes there. Cmd-, Ctrl-, Shift- and
|
|
25
|
+
Alt-click do what they do on any link. Why this change? follows straight after. This is deliberate,
|
|
26
|
+
host-specific layout: the extension does not duplicate what GitHub renders on the same page. The
|
|
27
|
+
workspace keeps its copy of the description, which is the one the analysis read, and adds the same
|
|
28
|
+
link to the section's header, opening GitHub in a new tab; once the review is stale it reads **View
|
|
29
|
+
current PR description on GitHub ↗**, including when it goes stale with the page open. Neither
|
|
30
|
+
shows the link for a review with no PR, such as a local branch. Both hosts still give the analysis
|
|
31
|
+
the stored description. (Extension 0.25.6.)
|
|
32
|
+
|
|
33
|
+
**The CLI prints the PR description's link.** When a review of a PR finishes, the terminal shows
|
|
34
|
+
`PR description:` and its GitHub link under the review's own.
|
|
35
|
+
|
|
36
|
+
**Mermaid diagrams in the workspace.** A block fenced as `mermaid` in a PR description or comment
|
|
37
|
+
is now drawn as a diagram, as GitHub draws it, from the Mermaid the workspace already bundles, with
|
|
38
|
+
nothing fetched from anywhere else. Each one is drawn when it first comes into view, including when
|
|
39
|
+
a collapsed section opens, at its natural size, scrolling sideways in a narrow pane rather than
|
|
40
|
+
shrinking past reading. **View source** shows the Mermaid behind it, with **Copy source**. One that
|
|
41
|
+
cannot be drawn shows its source with "This diagram couldn’t be displayed." Each is labelled for
|
|
42
|
+
screen readers by the title above it, such as "Mermaid diagram: Diagram Walkthrough". Diagrams are
|
|
43
|
+
treated as untrusted, and so are the Diagrams tab's, which a model wrote: both draw through one
|
|
44
|
+
engine, with strict mode, plain-text labels, no scripts, and no links, including `click … href`,
|
|
45
|
+
which is drawn as an ordinary node. A diagram can no longer switch HTML labels back on or inject its
|
|
46
|
+
own styles through `%%{init}%%` or front matter. The extension leaves diagrams to GitHub, on whose
|
|
47
|
+
page it sits.
|
|
48
|
+
|
|
49
|
+
**Workspace pages load nothing from other sites.** Every workspace page now sends a
|
|
50
|
+
Content-Security-Policy that limits images, styles, fonts, media and connections to the workspace
|
|
51
|
+
itself. Mermaid fetches the picture in an image shape (`A@{ img: "https://…" }`) while it lays the
|
|
52
|
+
diagram out, before anything can sanitise it, so without this a PR description could tell its
|
|
53
|
+
author when you opened the review, and from where. Such a diagram now shows its source instead. A
|
|
54
|
+
test draws hostile diagrams with the real Mermaid in Chromium, through both the description and the
|
|
55
|
+
Diagrams tab, and fails on any request that leaves the page.
|
|
56
|
+
|
|
57
|
+
## 0.55.7
|
|
58
|
+
|
|
59
|
+
**Supports common GitHub-formatted PR descriptions and bot walkthroughs.** A PR description or
|
|
60
|
+
comment that used HTML, such as a template's `<details>` or a review bot's file walkthrough table,
|
|
61
|
+
showed as raw tag text in Author's context and on the PR context page. A documented safe subset is
|
|
62
|
+
now formatted: collapsible `<details>` sections (always starting closed, with Markdown inside them
|
|
63
|
+
when set apart by blank lines), tables (which scroll on their own rather than widening the page),
|
|
64
|
+
paragraphs, lists, links, emphasis, code and line breaks. Images, audio and video are linked, not
|
|
65
|
+
displayed inline: a screenshot becomes **View image: Login page** (or **View attached image** when
|
|
66
|
+
it has no description), and audio and video become **Open attached audio** and **Open attached
|
|
67
|
+
video**. They open in a new tab in your own browser session, so a private repository's uploads open
|
|
68
|
+
too, and nothing is fetched until you choose to. Only https media is linked. Anything else outside
|
|
69
|
+
the subset, such as preformatted HTML, shows as the text inside it, never as tags. The subset is
|
|
70
|
+
rebuilt from a fixed allowlist with only safe attributes: scripts, styles, frames, forms and event
|
|
71
|
+
handlers never reach the page, a link must be http(s) or in-page, and anything left open is closed
|
|
72
|
+
within the description. The preview opens on the author's words, past any HTML ahead of them.
|
|
73
|
+
Analysis output is unchanged. (Extension 0.25.5.)
|
|
74
|
+
|
|
75
|
+
**A long description closes from its top.** Once the full PR description is open, Author's context
|
|
76
|
+
has a **Show less** in its header, which stays at the top of the pane while you read, so you no
|
|
77
|
+
longer scroll to the end of a long description to close it; the one under the description is still
|
|
78
|
+
there. Closing takes you back to the section if you had scrolled past it, with keyboard focus on
|
|
79
|
+
**View full PR description**, and opening it again returns you to where you were reading.
|
|
80
|
+
|
|
81
|
+
## 0.55.6
|
|
82
|
+
|
|
83
|
+
**File paths are shown whole.** A deep directory above a file name was cut short with an ellipsis,
|
|
84
|
+
and the full path appeared only in a browser tooltip on hover. The directory now wraps onto a
|
|
85
|
+
second line where it needs one, so the whole path is always on screen, and the tooltips are gone.
|
|
86
|
+
This covers file locations on issues and questions, related files, the Guide's file rows, the Files
|
|
87
|
+
tab and KISS locations, in the workspace and the extension. The extension's file list, which had no
|
|
88
|
+
tooltip, no longer hides the end of a long directory either. (Extension 0.25.4.)
|
|
89
|
+
|
|
90
|
+
## 0.55.5
|
|
91
|
+
|
|
92
|
+
**Why this change? says what is known, plainly.** Each state now has a label anyone can read and a
|
|
93
|
+
colour that says how sure it is: **Author's reason** (green), the author's own words in the PR
|
|
94
|
+
description; **Possible reason** (gold), "The PR description doesn't give a clear reason. Based on
|
|
95
|
+
the change itself, this appears to…"; and **Reason unclear** (grey), "It isn't clear why this
|
|
96
|
+
change is needed.", with **Ask the author** and the question to ask. Colour is only a thin rule
|
|
97
|
+
beside the reason and the label's own colour; the text stays dark, and the label says it all
|
|
98
|
+
without colour. Once that question is marked answered the section reads **Answer available**: "This
|
|
99
|
+
question has been marked answered. Run the review again after adding the answer to the PR
|
|
100
|
+
description."
|
|
101
|
+
|
|
102
|
+
**A refused reason is never shown as nothing.** When the analysis says the author gave a reason but
|
|
103
|
+
the words it quotes can't be confirmed in the PR description, the section used to show nothing at
|
|
104
|
+
all. It now shows Reason unclear, asking the analysis's own question when it gave one, or "What
|
|
105
|
+
problem does this change solve, or what goal does it serve?". That question has the same id on
|
|
106
|
+
every analysis, so marking it answered survives a rerun, even when the analysis happens to ask it
|
|
107
|
+
in the same words. The refused wording is still never shown, and the evidence the refused reason
|
|
108
|
+
came with is not presented as a reason.
|
|
109
|
+
|
|
110
|
+
**What the harness corrected moves into Analysis details.** The amber box above the review, which
|
|
111
|
+
showed on every tab, is gone; its notes are now listed under Analysis details on the Overview. The
|
|
112
|
+
note for a refused reason says only what the check found, since a quote also fails when it is two
|
|
113
|
+
words or is the template's text. The refused quote (cut at 500 characters) and its evidence are
|
|
114
|
+
kept in the review's audit record, or the extension's dev trace.
|
|
115
|
+
|
|
116
|
+
The prompt asks for the author's words exactly as written, backticks and punctuation included, and
|
|
117
|
+
treats a reason found only in commits, review comments or a linked issue as inferred. Under
|
|
118
|
+
Possible reason, the kind of each piece of evidence ("Test", "Code") is now the size of the text
|
|
119
|
+
beside it. (Extension 0.25.3.)
|
|
120
|
+
|
|
121
|
+
## 0.55.4
|
|
122
|
+
|
|
123
|
+
**Empty pages use the full width.** On the PR context page, the note saying no pull request
|
|
124
|
+
discussion was brought in, and on Diagrams, the card offering to draw a change map or an
|
|
125
|
+
implementation diagram, were held to a narrow column. They now fill the page's width like the
|
|
126
|
+
rest of the workspace.
|
|
127
|
+
|
|
128
|
+
## 0.55.3
|
|
129
|
+
|
|
130
|
+
**Template comments stay hidden.** HTML comments in a PR description, such as a template's
|
|
131
|
+
`<!-- Describe your change -->`, showed as literal text in Author's context, in both the full view
|
|
132
|
+
and the preview. They are now hidden, as on GitHub. The same goes for comments in review comments
|
|
133
|
+
on the PR context page. A comment inside a code block or written as inline code is still shown,
|
|
134
|
+
since there it is code, and a code fence inside a comment no longer turns the rest of the
|
|
135
|
+
description into code. The preview never shows part of a comment. Model output is unchanged:
|
|
136
|
+
nothing it writes is hidden.
|
|
137
|
+
|
|
138
|
+
## 0.55.2
|
|
139
|
+
|
|
140
|
+
**A lighter Overview.** Author's context, Why this change? and What's changing no longer read as
|
|
141
|
+
one block:
|
|
142
|
+
|
|
143
|
+
- **Author's context** opens on a short preview of the first thing the author wrote, past any
|
|
144
|
+
template heading such as "Summary": a paragraph's first two sentences (or about 400 characters,
|
|
145
|
+
never cut mid-word), a list's first three items, or "Code block included" for a long code block.
|
|
146
|
+
**View full PR description** shows the whole description, as written. A description that fits
|
|
147
|
+
the preview is shown whole, with no button.
|
|
148
|
+
- **Why this change?** shows the label and the motive. The author's quote behind a stated motive
|
|
149
|
+
is under **Author's words**, one click away, since the motive usually says the same thing.
|
|
150
|
+
- **What's changing** is asked for in about 80 to 120 words, and says what the change does without
|
|
151
|
+
repeating why it exists or judging it. Analyses made before this version keep their summary.
|
|
152
|
+
- More space between the three sections, and more again before the risk verdict and the
|
|
153
|
+
suggested review path.
|
|
154
|
+
|
|
3
155
|
## 0.55.1
|
|
4
156
|
|
|
5
157
|
**Load more on the Notifications page.** The list shows the newest fifteen, and Load more reveals
|