@polishd/next 0.2.3-dev.3 → 0.2.3-dev.5

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
@@ -25,6 +25,20 @@ request itself was the problem.
25
25
  - `polishd init` now writes `export const maxDuration = 300` into the
26
26
  dashboard page it generates, and the docs recommend it — headroom for heavy
27
27
  pages on hosts with strict limits, no longer a requirement.
28
+ - **A failed capture call now names its error.** The error box carries the
29
+ rejection's message and Next's error digest (the id to grep the host's
30
+ function logs for) instead of a generic "check your logs", the browser
31
+ console gets the full error, and the server logs every capture-action
32
+ failure under a `[polishd]` prefix.
33
+ - **The action guard no longer depends on the page module having loaded.**
34
+ When no policy is registered in the runtime — possible on serverless hosts
35
+ serving an action POST cold — it now derives the same policy from the
36
+ environment (token mode, public opt-out, or locked), instead of denying a
37
+ legitimate dashboard session. A genuine denial reads as a message in the
38
+ capture UI rather than an opaque digest.
39
+ - Planning a capture no longer depends on the design data being readable:
40
+ if those queries fail, the capture shoots `/` with no fingerprint instead
41
+ of failing outright.
28
42
 
29
43
  ### The dashboard streams instead of loading all at once
30
44
 
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/ai/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE1F,kDAAkD;AAClD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAGtE;AAED,MAAM,MAAM,iBAAiB;AAC3B,gFAAgF;AAC9E;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,0EAA0E;GACxE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,mBAAmB,CAAA;CAAE;AACxD;;;;;;;;;;GAUG;GACD;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAI/B,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;;CAKlD;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBxD"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/ai/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE1F,kDAAkD;AAClD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAGtE;AAED,MAAM,MAAM,iBAAiB;AAC3B,gFAAgF;AAC9E;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,0EAA0E;GACxE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,mBAAmB,CAAA;CAAE;AACxD;;;;;;;;;;GAUG;GACD;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAI/B,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AA+BD;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;;CAKlD;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBxD"}
package/dist/ai/guard.js CHANGED
@@ -29,6 +29,30 @@ let policy = null;
29
29
  export function registerPolishdAuth(next) {
30
30
  policy = next;
31
31
  }
32
+ /**
33
+ * The policy the environment alone determines, for runtimes where no page
34
+ * module has registered one. On a serverless host that is a normal state, not
35
+ * a broken flow: an action POST can be served by a fresh instance that loads
36
+ * the action's module without ever evaluating the host's `page.tsx`, so
37
+ * waiting for `createPolishdPage()` to register would deny the dashboard's
38
+ * own legitimate calls. Everything the built-in modes need is in the
39
+ * environment — the token gate reads `POLISHD_DASHBOARD_TOKEN` and a cookie,
40
+ * and the public opt-out is an env var — so this derives exactly what
41
+ * `resolvePolicy()` would have registered for them. A host's custom
42
+ * `authenticate` callback is code and cannot be derived; without a token
43
+ * alongside it, a production instance in this state still fails closed.
44
+ */
45
+ async function envPolicy() {
46
+ const { polishdDashboardToken, polishdTokenAuth } = await import("../dashboard/token-auth");
47
+ if (polishdDashboardToken()) {
48
+ return { mode: "guarded", authenticate: polishdTokenAuth() };
49
+ }
50
+ if (process.env.NODE_ENV === "production" &&
51
+ process.env.POLISHD_DASHBOARD_PUBLIC !== "true") {
52
+ return { mode: "setup-required" };
53
+ }
54
+ return { mode: "open" };
55
+ }
32
56
  /**
33
57
  * Thrown when an action is invoked without authorization. Next replaces the
34
58
  * message with an opaque digest in production, so nothing leaks to the caller.
@@ -45,18 +69,18 @@ export class PolishdUnauthorizedError extends Error {
45
69
  * open the gate.
46
70
  */
47
71
  export async function requirePolishdAuth() {
48
- // No dashboard page registered a policy in this runtime: deny rather than
49
- // guess. Reaching an action without the page module loaded is not a flow the
50
- // dashboard produces.
51
- if (!policy)
52
- throw new PolishdUnauthorizedError();
53
- if (policy.mode === "setup-required")
72
+ // A registered policy wins — it may carry the host's own `authenticate`.
73
+ // Without one (a fresh serverless instance serving an action POST before
74
+ // anything evaluated the host's page module), fall back to what the
75
+ // environment alone determines. See `envPolicy`.
76
+ const effective = policy ?? (await envPolicy());
77
+ if (effective.mode === "setup-required")
54
78
  throw new PolishdUnauthorizedError();
55
- if (policy.mode === "open")
79
+ if (effective.mode === "open")
56
80
  return;
57
81
  let ok = false;
58
82
  try {
59
- ok = await policy.authenticate(await polishdAuthContext());
83
+ ok = await effective.authenticate(await polishdAuthContext());
60
84
  }
61
85
  catch (err) {
62
86
  console.warn("[polishd] authenticate() threw during an action call, denying:", err instanceof Error ? err.message : err);
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/ai/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyBhD,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAoBD,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,0EAA0E;IAC1E,6EAA6E;IAC7E,sBAAsB;IACtB,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC;IAClD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC;IAC3E,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO;IAEnC,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,gEAAgE,EAChE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;QACF,EAAE,GAAG,KAAK,CAAC;IACb,CAAC;IACD,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/ai/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyBhD,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAoBD,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,SAAS;IACtB,MAAM,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAC9D,yBAAyB,CAC1B,CAAC;IACF,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,CAAC;IAC/D,CAAC;IACD,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,EAC/C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,iDAAiD;IACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC;IAC9E,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO;IAEtC,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,gEAAgE,EAChE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;QACF,EAAE,GAAG,KAAK,CAAC;IACb,CAAC;IACD,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-actions.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"AAuBA,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAoB7B;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA0C/E;AAED,8EAA8E;AAC9E,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhF,8EAA8E;AAC9E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAI9B"}
1
+ {"version":3,"file":"snapshot-actions.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"AAuBA,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AA2C7B;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAoD/E;AAED,8EAA8E;AAC9E,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,qBAAqB,CAAC,CAahC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhF,8EAA8E;AAC9E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAI9B"}
@@ -38,6 +38,27 @@ async function resolveSiteOrigin() {
38
38
  (host.startsWith("localhost") || host.startsWith("127.") ? "http" : "https");
39
39
  return `${proto}://${host}`;
40
40
  }
41
+ /**
42
+ * A denial, phrased for the error box. The capture actions return this rather
43
+ * than letting `PolishdUnauthorizedError` propagate: a thrown error reaches
44
+ * the dashboard as an opaque digest, while the capture UI renders a returned
45
+ * message. The denial itself is unchanged — no work happens.
46
+ */
47
+ const DENIED = {
48
+ ok: false,
49
+ message: "This dashboard session isn't authorized to capture. Reload the dashboard " +
50
+ "— if it asks you to unlock again, do so — then retry.",
51
+ };
52
+ /** True when the caller may proceed; false is a denial. */
53
+ async function authorized() {
54
+ try {
55
+ await requirePolishdAuth();
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
41
62
  /**
42
63
  * Capture is chunked into one action call per route — begin, then one
43
64
  * `captureSnapshotRouteAction` per returned route, then finish — so no single
@@ -50,7 +71,8 @@ async function resolveSiteOrigin() {
50
71
  * an opaque digest, while a returned message renders in the card.
51
72
  */
52
73
  export async function beginSnapshotCaptureAction() {
53
- await requirePolishdAuth();
74
+ if (!(await authorized()))
75
+ return DENIED;
54
76
  try {
55
77
  const origin = await resolveSiteOrigin();
56
78
  if (!origin) {
@@ -60,24 +82,35 @@ export async function beginSnapshotCaptureAction() {
60
82
  "to the origin the site is reachable at.",
61
83
  };
62
84
  }
63
- const data = await getDesignData();
64
- const dashboardRoute = resolveDashboardRoute();
65
- // Shoot what visitors have actually rendered, never the dashboard itself
66
- // (nor the telemetry pseudo-paths the collector namespaces under /~polishd).
67
- const scanned = data.pages
68
- .map((p) => p.path)
69
- .filter((p) => p.startsWith("/") && !p.startsWith("/~") && !isDashboardPath(p, dashboardRoute));
70
- const routes = (scanned.length > 0 ? scanned : ["/"]).slice(0, MAX_SNAPSHOT_ROUTES);
71
- // Stamp the snapshot with the same metrics fingerprint the AI review caches
72
- // under, so "taken before/after this round of changes" is a hash comparison.
85
+ // The scanned-page list and the fingerprint are both nice-to-haves from
86
+ // the design data; a database hiccup here must not sink the capture, so
87
+ // they degrade to shooting the root with no fingerprint.
88
+ let routes = ["/"];
73
89
  let fingerprint = null;
74
- if (data.ready && data.pages.length > 0) {
75
- const { settings } = await resolveSettings();
76
- fingerprint = fingerprintDigest(buildDesignDigest(data, settings.context));
90
+ try {
91
+ const data = await getDesignData();
92
+ const dashboardRoute = resolveDashboardRoute();
93
+ // Shoot what visitors have actually rendered, never the dashboard itself
94
+ // (nor the telemetry pseudo-paths the collector namespaces under /~polishd).
95
+ const scanned = data.pages
96
+ .map((p) => p.path)
97
+ .filter((p) => p.startsWith("/") && !p.startsWith("/~") && !isDashboardPath(p, dashboardRoute));
98
+ routes = (scanned.length > 0 ? scanned : ["/"]).slice(0, MAX_SNAPSHOT_ROUTES);
99
+ // Stamp the snapshot with the same metrics fingerprint the AI review
100
+ // caches under, so "taken before/after this round of changes" is a hash
101
+ // comparison.
102
+ if (data.ready && data.pages.length > 0) {
103
+ const { settings } = await resolveSettings();
104
+ fingerprint = fingerprintDigest(buildDesignDigest(data, settings.context));
105
+ }
106
+ }
107
+ catch (err) {
108
+ console.error("[polishd] snapshot route planning failed, shooting / only:", err);
77
109
  }
78
110
  return await beginSnapshot({ origin, routes, fingerprint });
79
111
  }
80
112
  catch (err) {
113
+ console.error("[polishd] beginSnapshotCaptureAction failed:", err);
81
114
  return {
82
115
  ok: false,
83
116
  message: `Snapshot capture failed unexpectedly: ${err instanceof Error ? err.message : "unknown error"}`,
@@ -86,11 +119,13 @@ export async function beginSnapshotCaptureAction() {
86
119
  }
87
120
  /** Shoot one route of the capture in progress — both devices, both themes. */
88
121
  export async function captureSnapshotRouteAction(id, route) {
89
- await requirePolishdAuth();
122
+ if (!(await authorized()))
123
+ return DENIED;
90
124
  try {
91
125
  return await captureSnapshotRoute(id, route);
92
126
  }
93
127
  catch (err) {
128
+ console.error("[polishd] captureSnapshotRouteAction failed:", err);
94
129
  return {
95
130
  ok: false,
96
131
  message: `Screenshot capture failed unexpectedly: ${err instanceof Error ? err.message : "unknown error"}`,
@@ -99,11 +134,13 @@ export async function captureSnapshotRouteAction(id, route) {
99
134
  }
100
135
  /** Record the accumulated shots as a snapshot and prune old ones. */
101
136
  export async function finishSnapshotCaptureAction(id) {
102
- await requirePolishdAuth();
137
+ if (!(await authorized()))
138
+ return DENIED;
103
139
  try {
104
140
  return await finishSnapshot(id);
105
141
  }
106
142
  catch (err) {
143
+ console.error("[polishd] finishSnapshotCaptureAction failed:", err);
107
144
  return {
108
145
  ok: false,
109
146
  message: `The snapshot couldn't be recorded: ${err instanceof Error ? err.message : "unknown error"}`,
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-actions.js","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-actions.js","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAwGhF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,kBAAkB,+BA2PlF"}
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAwGhF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,kBAAkB,+BAyQlF"}
@@ -58,6 +58,20 @@ export default function SnapshotsCard({ initial, captureIssue }) {
58
58
  // A site with no dark mode has its identical dark shots dropped at capture
59
59
  // time — hide the toggle rather than offering an empty view.
60
60
  const effectiveTheme = selected?.noDarkMode ? "light" : theme;
61
+ // What a rejected action call can tell us, phrased for the error box. In
62
+ // production Next masks a thrown server error to a generic message plus a
63
+ // digest — the digest is the correlation id to grep the host's function
64
+ // logs for, so it is worth surfacing. A transport-level death (the function
65
+ // killed at its time limit, a network drop) has no digest and keeps its
66
+ // fetch-layer message.
67
+ const describeRejection = (err) => {
68
+ console.error("[polishd] capture action rejected:", err);
69
+ if (err instanceof Error) {
70
+ const digest = err.digest;
71
+ return `${err.message}${digest ? ` [digest ${digest}]` : ""}`;
72
+ }
73
+ return String(err);
74
+ };
61
75
  const capture = () => {
62
76
  setError(null);
63
77
  startCapture(async () => {
@@ -82,11 +96,9 @@ export default function SnapshotsCard({ initial, captureIssue }) {
82
96
  failure = res.message;
83
97
  }
84
98
  }
85
- catch {
99
+ catch (err) {
86
100
  failed.push(route);
87
- failure =
88
- "the request failed mid-shoot — usually a serverless function " +
89
- "time limit; the host's function logs will name the exact failure";
101
+ failure = `the request died mid-shoot: ${describeRejection(err)}`;
90
102
  }
91
103
  setProgress({ done: i + 1, total: begun.routes.length });
92
104
  }
@@ -105,9 +117,10 @@ export default function SnapshotsCard({ initial, captureIssue }) {
105
117
  setError(failure ? `Capture failed: ${failure}.` : fin.message);
106
118
  }
107
119
  }
108
- catch {
109
- setError("The capture failed before a result came back — your host's function " +
110
- "logs will name the exact failure.");
120
+ catch (err) {
121
+ setError(`The capture request itself failed: ${describeRejection(err)}. ` +
122
+ "The same error is in the browser console, and your host's function " +
123
+ "logs have the server side of it.");
111
124
  }
112
125
  finally {
113
126
  setProgress(null);
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polishd/next",
3
- "version": "0.2.3-dev.3",
3
+ "version": "0.2.3-dev.5",
4
4
  "description": "Drop-in product analytics for Next.js — capture real user behavioral signals (rage/dead clicks, scroll depth, errors, web vitals) and explore them on a built-in dashboard. What gets measured gets improved.",
5
5
  "type": "module",
6
6
  "license": "MIT",