@dev.fast/whiteboard 0.2.1-preview.20261005.98 → 0.2.1-preview.20261006.99
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/dist/build-info.json +1 -1
- package/dist/{cli-runner-D8y2_luU.js → cli-runner-CMmd6o_m.js} +2 -2
- package/dist/cli.js +1 -1
- package/dist/{headless-host-BJxf4dUU.js → headless-host-CVMDNmLU.js} +1 -1
- package/dist/{process-error-telemetry-v9e5h6D7.js → process-error-telemetry-CkiiadgB.js} +2 -1
- package/dist/server/desktop-host.js +1 -1
- package/package.json +5 -5
- package/src/review-stack.ts +8 -3
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.2.1-preview.
|
|
1
|
+
{"version":"0.2.1-preview.20261006.99","commit":"b8634e9e5ae077e753c5bdd743c9702d31fb9efe","dirty":true,"builtAt":"2026-10-06T15:32:34.232Z"}
|
|
@@ -4495,7 +4495,7 @@ async function runReviewCli(input) {
|
|
|
4495
4495
|
process.once("SIGINT", stop);
|
|
4496
4496
|
process.once("SIGTERM", stop);
|
|
4497
4497
|
try {
|
|
4498
|
-
const { runHeadlessServer } = await import("./headless-host-
|
|
4498
|
+
const { runHeadlessServer } = await import("./headless-host-CVMDNmLU.js");
|
|
4499
4499
|
await runHeadlessServer({
|
|
4500
4500
|
stateDir,
|
|
4501
4501
|
port,
|
|
@@ -4546,7 +4546,7 @@ async function runReviewCli(input) {
|
|
|
4546
4546
|
if (problem) throw new Error(`Cannot tell whether a Whiteboard Desktop is using ${stateDir}: ${problem.message}`);
|
|
4547
4547
|
const inUse = () => /* @__PURE__ */ new Error(`A Whiteboard server is using ${stateDir}. Stop it first, then run whiteboard server reset-id again.`);
|
|
4548
4548
|
if (desktops.instances.some(({ discovery }) => [discovery.appPid, discovery.serverPid].some((pid) => processIsAlive(pid)))) throw inUse();
|
|
4549
|
-
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-Bh5FIrmf.js"), import("./headless-host-
|
|
4549
|
+
const [{ openReviewProfile }, { withHeadlessServerLock }] = await Promise.all([import("./profile-Bh5FIrmf.js"), import("./headless-host-CVMDNmLU.js")]);
|
|
4550
4550
|
const reset = await withHeadlessServerLock(await realpath(stateDir), async () => {
|
|
4551
4551
|
const local = await openReviewProfile(stateDir, { manageWorkspaces: false });
|
|
4552
4552
|
try {
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@ import { p as isObjectValue } from "./src-X9phtB2j.js";
|
|
|
2
2
|
import { O as withFileLock, P as writePrivateJsonAtomic } from "./s3-config-CAxhO9u_.js";
|
|
3
3
|
import "./review-home-paths-6zZH-1c9.js";
|
|
4
4
|
import { t as openReviewProfile } from "./profile-4ry2f3AM.js";
|
|
5
|
-
import { i as createWhiteboardCore, l as createNodeRequestListener, n as installProcessErrorTelemetry, p as GlobalReviewDesktopVerbRelay, t as drainServerCrashReport } from "./process-error-telemetry-
|
|
5
|
+
import { i as createWhiteboardCore, l as createNodeRequestListener, n as installProcessErrorTelemetry, p as GlobalReviewDesktopVerbRelay, t as drainServerCrashReport } from "./process-error-telemetry-CkiiadgB.js";
|
|
6
6
|
import { i as reviewServerDiscoveryPath, t as headlessServerLockPath } from "./server-discovery-Dbzn3w6Z.js";
|
|
7
7
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
8
8
|
import { mkdir, realpath, rm } from "node:fs/promises";
|
|
@@ -2081,9 +2081,10 @@ async function resolveReviewStackLayers(subject, reviews, runGitHubApi = default
|
|
|
2081
2081
|
if (!stack) return [];
|
|
2082
2082
|
const currentIndex = stack.pull_requests.findIndex((pr) => pr.number === pullRequestNumber);
|
|
2083
2083
|
return stack.pull_requests.map((pr, index) => {
|
|
2084
|
-
const
|
|
2084
|
+
const matches = reviews.filter((candidate) => {
|
|
2085
2085
|
return (candidate.origin?.pullRequestUrl?.replace(/\/pull\/\d+.*$/, "") ?? candidate.pins?.repositoryId) === repoKey && candidate.origin?.pullRequestNumber === pr.number;
|
|
2086
2086
|
});
|
|
2087
|
+
const review = matches.find((candidate) => candidate.reviewId === subject.reviewId) ?? matches.findLast((candidate) => !candidate.dismissedAt) ?? matches.at(-1);
|
|
2087
2088
|
return {
|
|
2088
2089
|
branch: pr.head.ref,
|
|
2089
2090
|
pullRequestNumber: pr.number,
|
|
@@ -14,7 +14,7 @@ import { t as openReviewProfile } from "../profile-4ry2f3AM.js";
|
|
|
14
14
|
import { r as reviewTelemetryChannel, t as ReviewTelemetry } from "../review-telemetry-DEFnQsQ2.js";
|
|
15
15
|
import { o as REVIEW_TELEMETRY_TABS } from "../request-origin-D_4QIdoN.js";
|
|
16
16
|
import { c as removeLegacyReviewSkills, d as skipCliInstall, i as finishCliInstallUpdate, l as resetCliInstall, n as applyCliInstall, r as declineCliInstall, s as removeCliInstall, t as aliasInstallationToAccount, u as resolveCliInstallStatus } from "../account-alias-DOHN1RSH.js";
|
|
17
|
-
import { a as serverJson, c as recordClientError, d as HttpJsonError, f as ReviewServerError, i as createWhiteboardCore, l as createNodeRequestListener, n as installProcessErrorTelemetry, o as captureSanitizedUiTelemetry, p as GlobalReviewDesktopVerbRelay, r as serverCrashReportPath, s as clientErrorsForSession, t as drainServerCrashReport, u as readBoundedRequestJson } from "../process-error-telemetry-
|
|
17
|
+
import { a as serverJson, c as recordClientError, d as HttpJsonError, f as ReviewServerError, i as createWhiteboardCore, l as createNodeRequestListener, n as installProcessErrorTelemetry, o as captureSanitizedUiTelemetry, p as GlobalReviewDesktopVerbRelay, r as serverCrashReportPath, s as clientErrorsForSession, t as drainServerCrashReport, u as readBoundedRequestJson } from "../process-error-telemetry-CkiiadgB.js";
|
|
18
18
|
import { c as readQuerySchemas } from "../authoring-tools-Cr6Kpjsx.js";
|
|
19
19
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
20
20
|
import { z } from "zod";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dev.fast/whiteboard",
|
|
3
|
-
"version": "0.2.1-preview.
|
|
3
|
+
"version": "0.2.1-preview.20261006.99",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
"typescript": "6.0.3",
|
|
73
73
|
"vitest": "4.1.11",
|
|
74
74
|
"@dev.fast/json": "0.0.0",
|
|
75
|
-
"@dev.fast/review-protocol": "0.0.0",
|
|
76
75
|
"@dev.fast/review-share-protocol": "0.1.2",
|
|
77
|
-
"@dev.fast/
|
|
78
|
-
"@dev.fast/trace-protocol": "0.5.0"
|
|
76
|
+
"@dev.fast/review-protocol": "0.0.0",
|
|
77
|
+
"@dev.fast/trace-protocol": "0.5.0",
|
|
78
|
+
"@dev.fast/trace-core": "0.0.0"
|
|
79
79
|
},
|
|
80
80
|
"engines": {
|
|
81
81
|
"node": ">=24 <25"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"repo": "devdotfast/review",
|
|
86
86
|
"docs": "packages/review/instructions/authoring.md"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "b8634e9e5ae077e753c5bdd743c9702d31fb9efe",
|
|
89
89
|
"scripts": {
|
|
90
90
|
"prebuild": "pnpm run build:workspace-deps",
|
|
91
91
|
"ensure:diffr": "diffr-fetch --into bin",
|
package/src/review-stack.ts
CHANGED
|
@@ -23,10 +23,10 @@ const GitHubStacksSchema = z.array(
|
|
|
23
23
|
export type RunGitHubApi = (host: string, endpoint: string) => Promise<string>;
|
|
24
24
|
|
|
25
25
|
export async function resolveReviewStackLayers(
|
|
26
|
-
subject: Pick<ReviewApiSummary, "origin"
|
|
26
|
+
subject: Pick<ReviewApiSummary, "origin"> & { reviewId?: string },
|
|
27
27
|
reviews: readonly Pick<
|
|
28
28
|
ReviewApiSummary,
|
|
29
|
-
"reviewId" | "title" | "origin" | "pins"
|
|
29
|
+
"reviewId" | "title" | "origin" | "pins" | "dismissedAt"
|
|
30
30
|
>[],
|
|
31
31
|
runGitHubApi: RunGitHubApi = defaultRunGitHubApi,
|
|
32
32
|
): Promise<ReviewStackLayer[]> {
|
|
@@ -66,7 +66,7 @@ export async function resolveReviewStackLayers(
|
|
|
66
66
|
);
|
|
67
67
|
|
|
68
68
|
return stack.pull_requests.map((pr, index) => {
|
|
69
|
-
const
|
|
69
|
+
const matches = reviews.filter((candidate) => {
|
|
70
70
|
const repository =
|
|
71
71
|
candidate.origin?.pullRequestUrl?.replace(/\/pull\/\d+.*$/, "") ??
|
|
72
72
|
candidate.pins?.repositoryId;
|
|
@@ -77,6 +77,11 @@ export async function resolveReviewStackLayers(
|
|
|
77
77
|
);
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
+
const review =
|
|
81
|
+
matches.find((candidate) => candidate.reviewId === subject.reviewId) ??
|
|
82
|
+
matches.findLast((candidate) => !candidate.dismissedAt) ??
|
|
83
|
+
matches.at(-1);
|
|
84
|
+
|
|
80
85
|
return {
|
|
81
86
|
branch: pr.head.ref,
|
|
82
87
|
pullRequestNumber: pr.number,
|