@seungyeop-lee/beads-ui 0.15.0 → 0.16.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/CHANGES.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # Changes
2
2
 
3
+ ## 0.16.0
4
+
5
+ - [`88e5ed5`](https://github.com/seungyeop-lee/beads-ui/commit/88e5ed5d18eb6dea75c59a320d899d1f4103de91)
6
+ chore: move pnpm settings to pnpm-workspace.yaml
7
+ >
8
+ > pnpm 11 no longer reads the "pnpm" field in package.json and warned on
9
+ > every command. Move the build-script allowlist to pnpm-workspace.yaml
10
+ > using the new allowBuilds format (lefthook allowed, esbuild denied — it
11
+ > ships platform binaries via optionalDependencies).
12
+ >
13
+ - [`d9de748`](https://github.com/seungyeop-lee/beads-ui/commit/d9de74810e95e66542e5e46ff25d6a55a302a786)
14
+ fix: drop postpack cleanup that breaks pnpm 11 pack/publish
15
+ >
16
+ > pnpm 11 stats the packed files after running postpack to print the
17
+ > tarball report. The postpack `rm` deleted the freshly built bundle
18
+ > first, so `pnpm pack` and `pnpm publish` exited non-zero even though
19
+ > the tarball itself was valid — breaking install:global and the
20
+ > postversion publish step.
21
+ >
22
+ > The bundle files are gitignored, so leaving them in the working tree
23
+ > is harmless and prepack rebuilds them on every pack anyway.
24
+ >
25
+ - [`045dcbf`](https://github.com/seungyeop-lee/beads-ui/commit/045dcbfa367488400a855c285f6cc0effb26f14e)
26
+ fix(server): restore issue comments with bd 1.x
27
+ >
28
+ > Recent bd releases dropped the `comments` array from `bd show --json`
29
+ > (only `comment_count` remains), so detail pushes carried no comments and
30
+ > the detail view always showed "No comments yet". The client-side
31
+ > get-comments fallback never fired because the detail store snapshot is
32
+ > not available when the view loads.
33
+ >
34
+ > Compensate in the adaptation layer: when fetching an issue-detail
35
+ > subscription, fetch comments via `bd comments <id> --json` and attach
36
+ > them to the pushed item. Skip the extra call when `comment_count` is 0
37
+ > or comments are already inline (older bd).
38
+ >
39
+ > Also replace the removed `bd comment --author` flag with the global
40
+ > `--actor` flag so adding comments from the UI works again.
41
+ >
42
+ - [`f727a00`](https://github.com/seungyeop-lee/beads-ui/commit/f727a002eb17557ad5f0c56628e0eb19a7787263)
43
+ chore: add codegraph and MCP server configuration
44
+ - [`4204073`](https://github.com/seungyeop-lee/beads-ui/commit/42040737759f90d26b8d123df4d59794e038f37e)
45
+ chore: bump pnpm to 11.5.2
46
+
47
+ _Released by [seungyeop-lee](https://github.com/seungyeop-lee) on 2026-06-05._
48
+
3
49
  ## 0.15.0
4
50
 
5
51
  - [`cedbc9f`](https://github.com/seungyeop-lee/beads-ui/commit/cedbc9f27a37094457493524677752ccea3cf191)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seungyeop-lee/beads-ui",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "Local UI for Beads — Collaborate on issues with your coding agent.",
5
5
  "keywords": [
6
6
  "agent",
@@ -225,6 +225,9 @@ export async function fetchListForSubscription(spec, options = {}) {
225
225
  }
226
226
 
227
227
  const items = normalizeIssueList(raw);
228
+ if (String(spec.type) === 'issue-detail') {
229
+ await attachComments(items, options);
230
+ }
228
231
  return { ok: true, items };
229
232
  } catch (err) {
230
233
  log('bd invocation failed for %o (args=%o): %o', spec, args, err);
@@ -239,6 +242,34 @@ export async function fetchListForSubscription(spec, options = {}) {
239
242
  }
240
243
  }
241
244
 
245
+ /**
246
+ * Attach comments to issue-detail items. Recent bd releases omit the
247
+ * `comments` array from `bd show --json` (only `comment_count` remains), so
248
+ * the detail push must fetch them separately via `bd comments <id> --json`.
249
+ * On fetch failure `comments` stays absent so the client fallback can retry.
250
+ *
251
+ * @param {Array<{ id: string } & Record<string, unknown>>} items
252
+ * @param {{ cwd?: string }} [options]
253
+ * @returns {Promise<void>}
254
+ */
255
+ async function attachComments(items, options = {}) {
256
+ for (const it of items) {
257
+ if (Array.isArray(it.comments)) {
258
+ continue;
259
+ }
260
+ if (it.comment_count === 0) {
261
+ it.comments = [];
262
+ continue;
263
+ }
264
+ const res = await runBdJson(['comments', it.id, '--json'], {
265
+ cwd: options.cwd
266
+ });
267
+ if (res.code === 0 && Array.isArray(res.stdoutJson)) {
268
+ it.comments = res.stdoutJson;
269
+ }
270
+ }
271
+ }
272
+
242
273
  /**
243
274
  * Create a `bad_request` error object.
244
275
  *
package/server/ws.js CHANGED
@@ -1197,11 +1197,12 @@ export async function handleMessage(ws, data) {
1197
1197
  return;
1198
1198
  }
1199
1199
 
1200
- // Get git user name for author attribution
1200
+ // Get git user name for author attribution. bd 1.x removed the
1201
+ // `--author` flag; the global `--actor` flag sets the comment author.
1201
1202
  const author = await getGitUserName();
1202
1203
  const args = ['comment', id, text.trim()];
1203
1204
  if (author) {
1204
- args.push('--author', author);
1205
+ args.push('--actor', author);
1205
1206
  }
1206
1207
 
1207
1208
  const res = await runBd(args);