@polishd/next 0.2.2 → 0.2.3-dev.1

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.
Files changed (150) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +238 -0
  3. package/README.md +63 -0
  4. package/bin/doctor.mjs +8 -1
  5. package/dist/ai/digest.d.ts.map +1 -1
  6. package/dist/ai/digest.js +3 -2
  7. package/dist/ai/digest.js.map +1 -1
  8. package/dist/ai/github.d.ts +22 -1
  9. package/dist/ai/github.d.ts.map +1 -1
  10. package/dist/ai/github.js +99 -3
  11. package/dist/ai/github.js.map +1 -1
  12. package/dist/ai/issue-pages.d.ts +52 -0
  13. package/dist/ai/issue-pages.d.ts.map +1 -0
  14. package/dist/ai/issue-pages.js +50 -0
  15. package/dist/ai/issue-pages.js.map +1 -0
  16. package/dist/ai/issues.d.ts +13 -1
  17. package/dist/ai/issues.d.ts.map +1 -1
  18. package/dist/ai/issues.js +60 -4
  19. package/dist/ai/issues.js.map +1 -1
  20. package/dist/ai/summary.d.ts.map +1 -1
  21. package/dist/ai/summary.js +7 -0
  22. package/dist/ai/summary.js.map +1 -1
  23. package/dist/ai/types.d.ts +43 -0
  24. package/dist/ai/types.d.ts.map +1 -1
  25. package/dist/client/dom.d.ts +23 -0
  26. package/dist/client/dom.d.ts.map +1 -1
  27. package/dist/client/dom.js +45 -2
  28. package/dist/client/dom.js.map +1 -1
  29. package/dist/client/init.d.ts.map +1 -1
  30. package/dist/client/init.js +54 -14
  31. package/dist/client/init.js.map +1 -1
  32. package/dist/client/monitor.d.ts.map +1 -1
  33. package/dist/client/monitor.js +5 -1
  34. package/dist/client/monitor.js.map +1 -1
  35. package/dist/client/script-provenance.d.ts +21 -0
  36. package/dist/client/script-provenance.d.ts.map +1 -0
  37. package/dist/client/script-provenance.js +127 -0
  38. package/dist/client/script-provenance.js.map +1 -0
  39. package/dist/config.d.ts +10 -0
  40. package/dist/config.d.ts.map +1 -1
  41. package/dist/config.js +1 -0
  42. package/dist/config.js.map +1 -1
  43. package/dist/dashboard/chrome.d.ts +4 -2
  44. package/dist/dashboard/chrome.d.ts.map +1 -1
  45. package/dist/dashboard/chrome.js +15 -5
  46. package/dist/dashboard/chrome.js.map +1 -1
  47. package/dist/dashboard/design-review-card.d.ts.map +1 -1
  48. package/dist/dashboard/design-review-card.js +3 -3
  49. package/dist/dashboard/design-review-card.js.map +1 -1
  50. package/dist/dashboard/design.d.ts +5 -1
  51. package/dist/dashboard/design.d.ts.map +1 -1
  52. package/dist/dashboard/design.js +3 -2
  53. package/dist/dashboard/design.js.map +1 -1
  54. package/dist/dashboard/drawer.d.ts +34 -0
  55. package/dist/dashboard/drawer.d.ts.map +1 -0
  56. package/dist/dashboard/drawer.js +44 -0
  57. package/dist/dashboard/drawer.js.map +1 -0
  58. package/dist/dashboard/index.d.ts +3 -1
  59. package/dist/dashboard/index.d.ts.map +1 -1
  60. package/dist/dashboard/index.js +48 -37
  61. package/dist/dashboard/index.js.map +1 -1
  62. package/dist/dashboard/installs.d.ts.map +1 -1
  63. package/dist/dashboard/installs.js +2 -1
  64. package/dist/dashboard/installs.js.map +1 -1
  65. package/dist/dashboard/issues.d.ts +9 -0
  66. package/dist/dashboard/issues.d.ts.map +1 -0
  67. package/dist/dashboard/issues.js +81 -0
  68. package/dist/dashboard/issues.js.map +1 -0
  69. package/dist/dashboard/journeys.d.ts.map +1 -1
  70. package/dist/dashboard/journeys.js +4 -2
  71. package/dist/dashboard/journeys.js.map +1 -1
  72. package/dist/dashboard/metric-trends.d.ts +6 -0
  73. package/dist/dashboard/metric-trends.d.ts.map +1 -0
  74. package/dist/dashboard/metric-trends.js +236 -0
  75. package/dist/dashboard/metric-trends.js.map +1 -0
  76. package/dist/dashboard/pages.d.ts.map +1 -1
  77. package/dist/dashboard/pages.js +8 -46
  78. package/dist/dashboard/pages.js.map +1 -1
  79. package/dist/dashboard/settings.d.ts.map +1 -1
  80. package/dist/dashboard/settings.js +6 -2
  81. package/dist/dashboard/settings.js.map +1 -1
  82. package/dist/dashboard/show-more.d.ts.map +1 -1
  83. package/dist/dashboard/show-more.js +1 -1
  84. package/dist/dashboard/show-more.js.map +1 -1
  85. package/dist/dashboard/snapshot-actions.d.ts +16 -0
  86. package/dist/dashboard/snapshot-actions.d.ts.map +1 -0
  87. package/dist/dashboard/snapshot-actions.js +79 -0
  88. package/dist/dashboard/snapshot-actions.js.map +1 -0
  89. package/dist/dashboard/snapshots.d.ts +13 -0
  90. package/dist/dashboard/snapshots.d.ts.map +1 -0
  91. package/dist/dashboard/snapshots.js +88 -0
  92. package/dist/dashboard/snapshots.js.map +1 -0
  93. package/dist/dashboard/summary.d.ts.map +1 -1
  94. package/dist/dashboard/summary.js +11 -6
  95. package/dist/dashboard/summary.js.map +1 -1
  96. package/dist/dashboard/telemetry.d.ts +3 -1
  97. package/dist/dashboard/telemetry.d.ts.map +1 -1
  98. package/dist/dashboard/telemetry.js +55 -12
  99. package/dist/dashboard/telemetry.js.map +1 -1
  100. package/dist/dashboard/ui.d.ts +33 -6
  101. package/dist/dashboard/ui.d.ts.map +1 -1
  102. package/dist/dashboard/ui.js +44 -6
  103. package/dist/dashboard/ui.js.map +1 -1
  104. package/dist/dashboard.css +193 -2
  105. package/dist/server/ingest.d.ts +2 -5
  106. package/dist/server/ingest.d.ts.map +1 -1
  107. package/dist/server/ingest.js +47 -10
  108. package/dist/server/ingest.js.map +1 -1
  109. package/dist/server/queries.d.ts +64 -11
  110. package/dist/server/queries.d.ts.map +1 -1
  111. package/dist/server/queries.js +207 -37
  112. package/dist/server/queries.js.map +1 -1
  113. package/dist/server/reclassify.d.ts +3 -0
  114. package/dist/server/reclassify.d.ts.map +1 -0
  115. package/dist/server/reclassify.js +65 -0
  116. package/dist/server/reclassify.js.map +1 -0
  117. package/dist/server/snapshots.d.ts +81 -0
  118. package/dist/server/snapshots.d.ts.map +1 -0
  119. package/dist/server/snapshots.js +371 -0
  120. package/dist/server/snapshots.js.map +1 -0
  121. package/dist/server/store.d.ts +5 -0
  122. package/dist/server/store.d.ts.map +1 -1
  123. package/dist/server/store.js +17 -0
  124. package/dist/server/store.js.map +1 -1
  125. package/dist/server/telemetry.d.ts +13 -0
  126. package/dist/server/telemetry.d.ts.map +1 -1
  127. package/dist/server/telemetry.js +28 -7
  128. package/dist/server/telemetry.js.map +1 -1
  129. package/dist/shared/capture-status.d.ts +99 -0
  130. package/dist/shared/capture-status.d.ts.map +1 -0
  131. package/dist/shared/capture-status.js +133 -0
  132. package/dist/shared/capture-status.js.map +1 -0
  133. package/dist/shared/error-noise.d.ts +39 -0
  134. package/dist/shared/error-noise.d.ts.map +1 -0
  135. package/dist/shared/error-noise.js +101 -0
  136. package/dist/shared/error-noise.js.map +1 -0
  137. package/dist/shared/metric-buckets.d.ts +31 -0
  138. package/dist/shared/metric-buckets.d.ts.map +1 -0
  139. package/dist/shared/metric-buckets.js +49 -0
  140. package/dist/shared/metric-buckets.js.map +1 -0
  141. package/dist/shared/text-signals.d.ts +56 -0
  142. package/dist/shared/text-signals.d.ts.map +1 -0
  143. package/dist/shared/text-signals.js +80 -0
  144. package/dist/shared/text-signals.js.map +1 -0
  145. package/dist/shared/types.d.ts +1 -1
  146. package/dist/shared/types.d.ts.map +1 -1
  147. package/dist/shared/types.js +4 -0
  148. package/dist/shared/types.js.map +1 -1
  149. package/docs/SETUP.md +25 -0
  150. package/package.json +9 -2
@@ -8,8 +8,10 @@
8
8
  * events, and flushes on an interval, on soft navigation, and on pagehide.
9
9
  */
10
10
  import { defaultPolishdConfig, isDashboardPath } from "../config";
11
+ import { isIgnorableError } from "../shared/error-noise";
11
12
  import { scheduleDesignScan } from "./design-scan";
12
- import { componentOf, deviceCategory, hasTextSelection, isInteractive, labelOf, selectorOf, } from "./dom";
13
+ import { errorOrigin, startScriptProvenance } from "./script-provenance";
14
+ import { componentOf, deviceCategory, hasTextSelection, isInteractive, isSelectionGesture, isTextTarget, labelOf, selectorOf, } from "./dom";
13
15
  let started = false;
14
16
  // Next inlines this at build time. Guarded for any bundler that doesn't define
15
17
  // `process`, in which case we simply stay quiet.
@@ -27,6 +29,9 @@ export function initPolishd(options = {}) {
27
29
  if (cfg.sampleRate < 1 && Math.random() > cfg.sampleRate)
28
30
  return;
29
31
  started = true;
32
+ // Start before anything else can throw: this is what lets an error name the
33
+ // script it came from, and it has to be listening first.
34
+ startScriptProvenance();
30
35
  const queue = [];
31
36
  let currentPath = location.pathname;
32
37
  let maxScrollPct = 0;
@@ -111,7 +116,9 @@ export function initPolishd(options = {}) {
111
116
  if (selector === lastClick.selector && now - lastClick.time < cfg.rageClick.windowMs) {
112
117
  lastClick.count++;
113
118
  lastClick.time = now;
114
- if (lastClick.count === cfg.rageClick.count) {
119
+ if (lastClick.count === cfg.rageClick.count && !isSelectionGesture(target)) {
120
+ // Double/triple-clicking prose selects a word or paragraph — that
121
+ // burst is intent to copy, not frustration.
115
122
  push({ type: "rage_click", selector, component, text });
116
123
  }
117
124
  }
@@ -120,9 +127,11 @@ export function initPolishd(options = {}) {
120
127
  }
121
128
  // Dead: click that hits nothing interactive (likely confusion).
122
129
  if (!isInteractive(target)) {
123
- // A drag-to-highlight fires a click on the (non-interactive) text node on
124
- // mouse-up. That's intent, not confusion — don't log it as a dead click.
125
- if (hasTextSelection())
130
+ // Two shapes of click are about the text, not a dead control: a
131
+ // drag-to-highlight firing its click on mouse-up, and a click landing on
132
+ // a text element (cursor placement, the start of a selection). Neither
133
+ // is confusion — don't log them as dead clicks.
134
+ if (hasTextSelection() || isTextTarget(target))
126
135
  return;
127
136
  push({ type: "dead_click", selector, component, text });
128
137
  }
@@ -192,27 +201,58 @@ export function initPolishd(options = {}) {
192
201
  const onScroll = () => {
193
202
  const doc = document.documentElement;
194
203
  const scrollable = doc.scrollHeight - doc.clientHeight;
195
- const pct = scrollable <= 0 ? 100 : Math.round((doc.scrollTop / scrollable) * 100);
204
+ // A page with (nearly) nothing to scroll hits 100% by existing — depth
205
+ // carries no attention signal there, so record nothing and let the page
206
+ // read "no scroll data" instead of a flattering 100.
207
+ if (scrollable < doc.clientHeight * 0.1)
208
+ return;
209
+ const pct = Math.round((doc.scrollTop / scrollable) * 100);
196
210
  if (pct > maxScrollPct)
197
211
  maxScrollPct = Math.min(100, pct);
198
212
  };
199
213
  // ---- errors --------------------------------------------------------------
200
- const onError = (ev) => {
214
+ // `window` hears every throw in the tab, including the ones from extensions
215
+ // injected into the page. Those are not the site's bugs and nothing here can
216
+ // fix them, so they never become events.
217
+ //
218
+ // Provenance decides first and decides most: the scripts this document
219
+ // fetched are known (see `script-provenance.ts`), so code from anywhere else
220
+ // is identifiable without knowing what it's called. The message rules in
221
+ // `shared/error-noise.ts` only mop up what has no attributable frame at all —
222
+ // extension plumbing that throws with the page as its only stack entry.
223
+ //
224
+ // Errors that aren't the site's but aren't confidently an extension's are
225
+ // kept and labeled with `meta.origin`, never silently dropped.
226
+ const captureError = (message, origin, extra) => {
227
+ if (origin === "extension")
228
+ return;
229
+ if (isIgnorableError({ message, source: String(extra.meta.source ?? ""), ignore: cfg.ignoreErrors })) {
230
+ return;
231
+ }
201
232
  push({
202
233
  type: "js_error",
203
- component: componentOf(ev.target),
234
+ ...extra,
204
235
  meta: {
205
- message: String(ev.message).slice(0, 300),
206
- source: ev.filename || "",
207
- line: ev.lineno || 0,
236
+ ...extra.meta,
237
+ message: message.slice(0, 300),
238
+ // Absent means "site" — the common case shouldn't pay for the label.
239
+ ...(origin === "site" ? {} : { origin }),
208
240
  },
209
241
  });
210
242
  };
243
+ const onError = (ev) => {
244
+ const source = ev.filename || "";
245
+ captureError(String(ev.message), errorOrigin(source, ev.error?.stack), {
246
+ component: componentOf(ev.target),
247
+ meta: { source, line: ev.lineno || 0 },
248
+ });
249
+ };
211
250
  const onRejection = (ev) => {
212
251
  const reason = ev.reason;
213
- push({
214
- type: "js_error",
215
- meta: { message: String(reason?.message ?? reason).slice(0, 300), kind: "unhandledrejection" },
252
+ // A rejection carries no filename, so the stack is the only thing that can
253
+ // place the code that threw it.
254
+ captureError(String(reason?.message ?? reason), errorOrigin(undefined, reason?.stack), {
255
+ meta: { kind: "unhandledrejection" },
216
256
  });
217
257
  };
218
258
  // ---- web vitals (LCP, CLS) ----------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/client/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/client/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/client/monitor.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;AAE3G,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;CACF;AAED,KAAK,KAAK,GAAG;IACX,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAaF,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAe,EAAE,EAAE,KAAK,+BA2InF"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/client/monitor.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;AAE3G,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;CACF;AAED,KAAK,KAAK,GAAG;IACX,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAaF,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAe,EAAE,EAAE,KAAK,+BA+InF"}
@@ -131,7 +131,11 @@ export function PolishdMonitor({ name, children, className, content = false }) {
131
131
  meta: {
132
132
  width: Math.round(maxWidthPx),
133
133
  height: Math.round(maxHeightPx),
134
- scrollDepth: maxScrollDepth,
134
+ // A component that fits in the viewport is "100% scrolled" the
135
+ // moment it appears — depth only means something when the reader had
136
+ // to scroll to get through it, so shorter components omit it (the
137
+ // aggregation treats absent as no data, not 0).
138
+ ...(maxHeightPx > window.innerHeight ? { scrollDepth: maxScrollDepth } : {}),
135
139
  views: viewCount,
136
140
  },
137
141
  });
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/client/monitor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/client/monitor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type ErrorOrigin = "site" | "extension" | "foreign" | "unknown";
2
+ /**
3
+ * Begin recording which scripts this document loads.
4
+ *
5
+ * Called at init, which on Next runs before hydration — but `buffered: true`
6
+ * means even the entries from before this point are replayed, so a script that
7
+ * loaded during parse is still counted.
8
+ */
9
+ export declare function startScriptProvenance(): void;
10
+ /**
11
+ * Decide who owns an error, from the script URLs it can be attributed to.
12
+ *
13
+ * `source` is the browser's own blame (`ErrorEvent.filename`); `stack` is
14
+ * searched too because injected code frequently presents with the page as its
15
+ * top frame and the extension only further down — which is exactly how a
16
+ * wallet's "failed to connect" surfaces.
17
+ */
18
+ export declare function errorOrigin(source: string | undefined, stack: string | undefined): ErrorOrigin;
19
+ /** Test seam: forget everything recorded so far. */
20
+ export declare function resetScriptProvenance(): void;
21
+ //# sourceMappingURL=script-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-provenance.d.ts","sourceRoot":"","sources":["../../src/client/script-provenance.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAoBvE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAe5C;AA2BD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAY9F;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Polishd — script provenance: whose code actually threw.
3
+ *
4
+ * Pattern-matching error messages is guesswork that ages badly: every new
5
+ * extension brings a new string, and the list only ever grows. There is a
6
+ * better question the browser can answer directly — *did this document ever
7
+ * fetch that script?*
8
+ *
9
+ * Resource Timing records every resource the page loaded, including the
10
+ * lazily-imported chunks and CDN scripts added long after parse. Extension
11
+ * code is not in it: the browser injects content scripts, the document never
12
+ * requested them. So a stack frame pointing at a URL absent from that set is
13
+ * code the site did not ship — whatever it happens to be called this month.
14
+ *
15
+ * That gives four verdicts instead of a yes/no, which matters because the
16
+ * honest answer is sometimes "can't tell":
17
+ *
18
+ * site every frame is code this document loaded — a real bug
19
+ * extension a frame names an extension URL scheme — never the site's
20
+ * foreign a frame names a script the document never fetched — injected
21
+ * unknown nothing attributable (opaque cross-origin, empty stack)
22
+ *
23
+ * Only `extension` is confident enough to drop. `foreign` and `unknown` are
24
+ * kept and labeled, because a filter that silently eats what it can't identify
25
+ * is how a real bug goes missing.
26
+ */
27
+ import { isExtensionUrl } from "../shared/error-noise";
28
+ /** Every script URL this document is known to have fetched itself. */
29
+ const loadedScripts = new Set();
30
+ let observing = false;
31
+ /** Drop the `:line:col` suffix and any trailing bracket a stack frame carries. */
32
+ function bareUrl(raw) {
33
+ return raw.replace(/[)\]]+$/, "").replace(/:\d+(?::\d+)?$/, "");
34
+ }
35
+ function record(entry) {
36
+ const e = entry;
37
+ // `script` covers <script src> and dynamic import(); `link` covers modulepreload.
38
+ // Anything else on the page can't be the thing that threw.
39
+ if (e.initiatorType !== "script" && e.initiatorType !== "link")
40
+ return;
41
+ loadedScripts.add(bareUrl(e.name));
42
+ }
43
+ /**
44
+ * Begin recording which scripts this document loads.
45
+ *
46
+ * Called at init, which on Next runs before hydration — but `buffered: true`
47
+ * means even the entries from before this point are replayed, so a script that
48
+ * loaded during parse is still counted.
49
+ */
50
+ export function startScriptProvenance() {
51
+ if (observing || typeof PerformanceObserver === "undefined")
52
+ return;
53
+ observing = true;
54
+ try {
55
+ for (const entry of performance.getEntriesByType("resource"))
56
+ record(entry);
57
+ // The resource buffer is finite (250 entries by default) and a busy page
58
+ // can overflow it, so we keep our own set rather than re-reading it later.
59
+ new PerformanceObserver((list) => {
60
+ for (const entry of list.getEntries())
61
+ record(entry);
62
+ }).observe({ type: "resource", buffered: true });
63
+ }
64
+ catch {
65
+ // No Resource Timing: every verdict below degrades to same-origin checks,
66
+ // which still separates injected code from the site's own.
67
+ observing = false;
68
+ }
69
+ }
70
+ /**
71
+ * True when `url` is code this page is responsible for.
72
+ *
73
+ * Three ways to qualify, in descending confidence: the document fetched it,
74
+ * it shares the page's origin (covers inline scripts, which blame the document
75
+ * URL), or it's a blob the page itself minted — `blob:` inherits its creator's
76
+ * origin, so an extension's blob reads as `blob:chrome-extension://…` and
77
+ * correctly fails this test.
78
+ */
79
+ function isOurScript(url) {
80
+ if (loadedScripts.has(url))
81
+ return true;
82
+ if (isExtensionUrl(url))
83
+ return false;
84
+ try {
85
+ const origin = location.origin;
86
+ if (url.startsWith(`blob:${origin}`))
87
+ return true;
88
+ return new URL(url, location.href).origin === origin;
89
+ }
90
+ catch {
91
+ return false;
92
+ }
93
+ }
94
+ // Stack formats differ per engine, so rather than parse frames, pull out
95
+ // anything shaped like an absolute URL and classify each one.
96
+ const URL_IN_STACK = /[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s)'"]+/g;
97
+ /**
98
+ * Decide who owns an error, from the script URLs it can be attributed to.
99
+ *
100
+ * `source` is the browser's own blame (`ErrorEvent.filename`); `stack` is
101
+ * searched too because injected code frequently presents with the page as its
102
+ * top frame and the extension only further down — which is exactly how a
103
+ * wallet's "failed to connect" surfaces.
104
+ */
105
+ export function errorOrigin(source, stack) {
106
+ const urls = [];
107
+ if (source)
108
+ urls.push(bareUrl(source));
109
+ if (stack)
110
+ for (const match of stack.match(URL_IN_STACK) ?? [])
111
+ urls.push(bareUrl(match));
112
+ if (urls.length === 0)
113
+ return "unknown";
114
+ if (urls.some(isExtensionUrl))
115
+ return "extension";
116
+ // Every frame has to be ours for this to be the site's bug. One frame the
117
+ // document never loaded means something else is on the stack — a third-party
118
+ // script that qualifies (the page fetched it) still reads as "site", which is
119
+ // right: you shipped it.
120
+ return urls.every(isOurScript) ? "site" : "foreign";
121
+ }
122
+ /** Test seam: forget everything recorded so far. */
123
+ export function resetScriptProvenance() {
124
+ loadedScripts.clear();
125
+ observing = false;
126
+ }
127
+ //# sourceMappingURL=script-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-provenance.js","sourceRoot":"","sources":["../../src/client/script-provenance.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -27,6 +27,16 @@ export interface PolishdConfig {
27
27
  count: number;
28
28
  windowMs: number;
29
29
  };
30
+ /**
31
+ * Extra error messages to drop, on top of the built-in filtering.
32
+ *
33
+ * Errors thrown by browser extensions are always dropped — see
34
+ * `shared/error-noise.ts` for what that covers and why. This is the escape
35
+ * hatch for the rest: a noisy third-party embed, a known-benign warning, an
36
+ * error you've decided not to chase. Strings match case-insensitively
37
+ * anywhere in the message; regexes are tested against it as-is.
38
+ */
39
+ ignoreErrors: (string | RegExp)[];
30
40
  /** Local SQLite file used in dev. Ignored when POLISHD_DATABASE_URL is set. */
31
41
  databasePath: string;
32
42
  /** Name of the anonymous session cookie set by the middleware. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,aAUlC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAEpF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAeD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIpE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAClC,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,aAWlC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAEpF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAeD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIpE"}
package/dist/config.js CHANGED
@@ -18,6 +18,7 @@ export const defaultPolishdConfig = {
18
18
  maxBatchSize: 50,
19
19
  sampleRate: 1,
20
20
  rageClick: { count: 3, windowMs: 500 },
21
+ ignoreErrors: [],
21
22
  databasePath: ".polishd/analytics.db",
22
23
  sessionCookie: "polishd_session",
23
24
  dashboardRoute: "/polishd",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6BH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,cAAc;IACxB,eAAe,EAAE,MAAM;IACvB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;IACtC,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,UAAU;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiC;IACnE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,SAAS,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACnD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,oBAAoB,CAAC,aAAa,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,gEAAgE;AAEhE,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,wBAAwB,GAAG,KAAK,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,wBAAwB;QAAE,OAAO,wBAAwB,CAAC;IAC9D,MAAM,OAAO,GACX,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,oBAAoB,CAAC,cAAc,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuCH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,cAAc;IACxB,eAAe,EAAE,MAAM;IACvB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;IACtC,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,UAAU;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiC;IACnE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,SAAS,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACnD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,oBAAoB,CAAC,aAAa,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,gEAAgE;AAEhE,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,wBAAwB,GAAG,KAAK,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,wBAAwB;QAAE,OAAO,wBAAwB,CAAC;IAC9D,MAAM,OAAO,GACX,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,oBAAoB,CAAC,cAAc,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- export type PolishdDashboardTab = "analytics" | "design" | "installs" | "settings";
2
+ export type PolishdDashboardTab = "analytics" | "design" | "issues" | "installs" | "settings";
3
3
  /**
4
4
  * A link to another dashboard tab that reports for duty immediately — the rail
5
5
  * highlights and the skeleton appears on click, not on server response.
@@ -15,10 +15,12 @@ export declare function TabLink({ tab, className, title, current, busy, "aria-la
15
15
  "aria-label"?: string;
16
16
  children: ReactNode;
17
17
  }): import("react").JSX.Element;
18
- export default function DashboardChrome({ active, showInstalls, children, }: {
18
+ export default function DashboardChrome({ active, showInstalls, showIssues, children, }: {
19
19
  active: PolishdDashboardTab;
20
20
  /** Render the Installs tab (only collectors of telemetry pass true). */
21
21
  showInstalls?: boolean;
22
+ /** Render the Issues tab (only installs with GitHub connected pass true). */
23
+ showIssues?: boolean;
22
24
  children: ReactNode;
23
25
  }): import("react").JSX.Element;
24
26
  //# sourceMappingURL=chrome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/dashboard/chrome.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAmBnF;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EACtB,GAAG,EACH,SAAS,EACT,KAAK,EACL,OAAe,EACf,IAAY,EACZ,YAAY,EAAE,SAAS,EACvB,QAAQ,GACT,EAAE;IACD,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAoBA;AAkBD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,MAAM,EACN,YAAoB,EACpB,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAsEA"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/dashboard/chrome.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,CAAC;AAsBf;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EACtB,GAAG,EACH,SAAS,EACT,KAAK,EACL,OAAe,EACf,IAAY,EACZ,YAAY,EAAE,SAAS,EACvB,QAAQ,GACT,EAAE;IACD,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAoBA;AAkBD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,MAAM,EACN,YAAoB,EACpB,UAAkB,EAClB,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA8EA"}
@@ -26,10 +26,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
26
  import Link from "next/link";
27
27
  import { useRouter } from "next/navigation";
28
28
  import { createContext, useContext, useEffect, useRef, useState, useTransition, } from "react";
29
- import { ChartIcon, DropletIcon, GearIcon, GlobeIcon, SpinnerIcon, card, labelCls } from "./ui";
29
+ import { ChartIcon, DropletIcon, GearIcon, GlobeIcon, IssueIcon, SpinnerIcon, card, labelCls, } from "./ui";
30
30
  const TABS = [
31
31
  { id: "analytics", name: "Analytics", icon: _jsx(ChartIcon, {}) },
32
32
  { id: "design", name: "Design", icon: _jsx(DropletIcon, {}) },
33
+ // Shown only once a GitHub repo is connected — the tab has nothing to list,
34
+ // and no way to list it, until there's a tracker to read.
35
+ { id: "issues", name: "Issues", icon: _jsx(IssueIcon, {}) },
33
36
  // Shown only on installations that collect cross-install telemetry — for
34
37
  // everyone else (the senders) it would be a permanently empty screen.
35
38
  { id: "installs", name: "Installs", icon: _jsx(GlobeIcon, {}) },
@@ -69,7 +72,7 @@ function scrollTopFrom(node) {
69
72
  }
70
73
  }
71
74
  }
72
- export default function DashboardChrome({ active, showInstalls = false, children, }) {
75
+ export default function DashboardChrome({ active, showInstalls = false, showIssues = false, children, }) {
73
76
  const router = useRouter();
74
77
  const rootRef = useRef(null);
75
78
  const [pending, startNav] = useTransition();
@@ -82,6 +85,12 @@ export default function DashboardChrome({ active, showInstalls = false, children
82
85
  }, [active]);
83
86
  const selected = target ?? active;
84
87
  const loading = pending && target !== null;
88
+ // The tabs that only exist on some installations. Anything absent here is
89
+ // always shown.
90
+ const earned = {
91
+ issues: showIssues,
92
+ installs: showInstalls,
93
+ };
85
94
  const navigate = (tab) => {
86
95
  if (tab === selected)
87
96
  return;
@@ -90,9 +99,10 @@ export default function DashboardChrome({ active, showInstalls = false, children
90
99
  startNav(() => router.push(`?tab=${tab}`));
91
100
  };
92
101
  return (_jsx(TabNavContext.Provider, { value: navigate, children: _jsx("div", { ref: rootRef, className: "mx-auto max-w-6xl px-4 py-8 text-white sm:px-6 sm:py-10", children: _jsxs("div", { className: "flex flex-col gap-6 lg:flex-row lg:gap-10", children: [_jsx("aside", { className: "shrink-0 lg:w-44", children: _jsxs("div", { className: "lg:sticky lg:top-8", children: [_jsx("p", { className: labelCls, children: "Polishd" }), _jsx("p", { className: "mt-1 hidden text-[12px] leading-snug text-[#555] lg:block", children: "What gets measured gets improved" }), _jsx("nav", { "aria-label": "Dashboard sections", className: "mt-1 flex gap-1.5 lg:mt-5 lg:flex-col", children: TABS.filter(
93
- // Direct navigation to ?tab=installs still shows the rail
94
- // entry, so the page never renders with no tab highlighted.
95
- (tab) => tab.id !== "installs" || showInstalls || active === "installs").map((tab) => {
102
+ // Direct navigation to a tab this install hasn't earned
103
+ // still shows its rail entry, so the page never renders with
104
+ // no tab highlighted.
105
+ (tab) => earned[tab.id] !== false || active === tab.id).map((tab) => {
96
106
  const isSelected = selected === tab.id;
97
107
  return (_jsxs(TabLink, { tab: tab.id, current: isSelected, busy: loading && isSelected, className: `flex items-center gap-2 rounded-md border px-3 py-1.5 text-[13px] transition-colors ${isSelected
98
108
  ? "border-[#2e2e2e] bg-[#141414] font-medium text-white"
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/dashboard/chrome.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/dashboard/chrome.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"design-review-card.d.ts","sourceRoot":"","sources":["../../src/dashboard/design-review-card.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAK3E,4EAA4E;AAC5E,wBAAgB,oBAAoB,gCAenC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gEAAgE;AAChE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,YAAY,GACb,EAAE,qBAAqB,+BAsGvB"}
1
+ {"version":3,"file":"design-review-card.d.ts","sourceRoot":"","sources":["../../src/dashboard/design-review-card.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAK3E,4EAA4E;AAC5E,wBAAgB,oBAAoB,gCAgBnC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gEAAgE;AAChE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,YAAY,GACb,EAAE,qBAAqB,+BAwGvB"}
@@ -23,7 +23,7 @@ import { RefreshIcon, border, card, iconBtn, labelCls, primaryBtn, relTime } fro
23
23
  export function RefreshMetricsButton() {
24
24
  const router = useRouter();
25
25
  const [pending, startRefresh] = useTransition();
26
- return (_jsxs("button", { type: "button", onClick: () => startRefresh(() => router.refresh()), disabled: pending, title: "Recompute the design metrics from the latest page scans", className: "flex items-center gap-1.5 rounded-md border border-[#2e2e2e] px-2.5 py-1.5 text-[12px] text-[#aaa] transition-colors hover:border-[#555] hover:text-white disabled:cursor-not-allowed disabled:opacity-40", children: [_jsx(RefreshIcon, { spinning: pending }), pending ? "Refreshing…" : "Refresh metrics"] }));
26
+ return (_jsxs("button", { type: "button", "data-component": "design-metrics-refresh", onClick: () => startRefresh(() => router.refresh()), disabled: pending, title: "Recompute the design metrics from the latest page scans", className: "flex items-center gap-1.5 rounded-md border border-[#2e2e2e] px-2.5 py-1.5 text-[12px] text-[#aaa] transition-colors hover:border-[#555] hover:text-white disabled:cursor-not-allowed disabled:opacity-40", children: [_jsx(RefreshIcon, { spinning: pending }), pending ? "Refreshing…" : "Refresh metrics"] }));
27
27
  }
28
28
  /** The model's aesthetic read of the measured design system. */
29
29
  export default function DesignReviewCard({ initialReview, initialStale, hasApiKey, provider, model, scannedPages, }) {
@@ -45,7 +45,7 @@ export default function DesignReviewCard({ initialReview, initialStale, hasApiKe
45
45
  });
46
46
  };
47
47
  const canGenerate = hasApiKey && scannedPages > 0;
48
- return (_jsxs("section", { className: `mb-8 ${card} overflow-hidden`, children: [_jsxs("div", { className: `flex items-center justify-between gap-3 border-b ${border} px-4 py-3 sm:px-5`, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: labelCls, children: "Aesthetic review" }), hasApiKey && (_jsxs("span", { className: "hidden rounded-full bg-[#1a1a1a] px-2 py-0.5 text-[10px] font-medium text-[#888] sm:inline", children: [provider, " \u00B7 ", model] }))] }), _jsx("button", { type: "button", onClick: () => generate(review !== null), disabled: pending || !canGenerate, title: !hasApiKey
48
+ return (_jsxs("section", { className: `mb-8 ${card} overflow-hidden`, children: [_jsxs("div", { className: `flex items-center justify-between gap-3 border-b ${border} px-4 py-3 sm:px-5`, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: labelCls, children: "Aesthetic review" }), hasApiKey && (_jsxs("span", { className: "hidden rounded-full bg-[#1a1a1a] px-2 py-0.5 text-[10px] font-medium text-[#888] sm:inline", children: [provider, " \u00B7 ", model] }))] }), _jsx("button", { type: "button", "data-component": "design-review-refresh", onClick: () => generate(review !== null), disabled: pending || !canGenerate, title: !hasApiKey
49
49
  ? "Connect a model first — Settings tab"
50
50
  : scannedPages === 0
51
51
  ? "No pages scanned yet"
@@ -53,7 +53,7 @@ export default function DesignReviewCard({ initialReview, initialStale, hasApiKe
53
53
  ? "No model connected. The design review uses the same provider and key as the analytics summary — add one in Settings."
54
54
  : scannedPages === 0
55
55
  ? "No pages scanned yet — browse the site and the design metrics will appear here."
56
- : "No review yet — ask the model how coherent this design system reads, and what would sharpen it." }), hasApiKey ? (_jsx("button", { type: "button", onClick: () => generate(false), disabled: pending || !canGenerate, className: primaryBtn, children: pending ? "Reviewing…" : "Generate review" })) : (_jsx(TabLink, { tab: "settings", className: primaryBtn, children: "Connect a model" }))] }))] })] }));
56
+ : "No review yet — ask the model how coherent this design system reads, and what would sharpen it." }), hasApiKey ? (_jsx("button", { type: "button", "data-component": "design-review-generate", onClick: () => generate(false), disabled: pending || !canGenerate, className: primaryBtn, children: pending ? "Reviewing…" : "Generate review" })) : (_jsx(TabLink, { tab: "settings", className: primaryBtn, children: "Connect a model" }))] }))] })] }));
57
57
  }
58
58
  function StrengthsIssues({ strengths, issues, }) {
59
59
  const hasStrengths = !!strengths?.length;
@@ -1 +1 @@
1
- {"version":3,"file":"design-review-card.js","sourceRoot":"","sources":["../../src/dashboard/design-review-card.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEzF,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,aAAa,EAAE,CAAC;IAChD,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EACnD,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAC,yDAAyD,EAC/D,SAAS,EAAC,2MAA2M,aAErN,KAAC,WAAW,IAAC,QAAQ,EAAE,OAAO,GAAI,EACjC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,IACrC,CACV,CAAC;AACJ,CAAC;AAYD,gEAAgE;AAChE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,YAAY,GACU;IACtB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA6B,aAAa,CAAC,CAAC;IAChF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,aAAa,EAAE,CAAC;IAEjD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE;QAClC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,aAAa,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtB,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,SAAS,IAAI,YAAY,GAAG,CAAC,CAAC;IAElD,OAAO,CACL,mBAAS,SAAS,EAAE,QAAQ,IAAI,kBAAkB,aAChD,eAAK,SAAS,EAAE,oDAAoD,MAAM,oBAAoB,aAC5F,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAE,QAAQ,iCAAyB,EACjD,SAAS,IAAI,CACZ,gBAAM,SAAS,EAAC,4FAA4F,aACzG,QAAQ,cAAK,KAAK,IACd,CACR,IACG,EACN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,EACxC,QAAQ,EAAE,OAAO,IAAI,CAAC,WAAW,EACjC,KAAK,EACH,CAAC,SAAS;4BACR,CAAC,CAAC,sCAAsC;4BACxC,CAAC,CAAC,YAAY,KAAK,CAAC;gCAClB,CAAC,CAAC,sBAAsB;gCACxB,CAAC,CAAC,kCAAkC,gBAE/B,uBAAuB,EAClC,SAAS,EAAE,OAAO,YAElB,KAAC,WAAW,IAAC,QAAQ,EAAE,OAAO,GAAI,GAC3B,IACL,EAEN,eAAK,SAAS,EAAC,2BAA2B,aACvC,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,2FAA2F,YACvG,KAAK,GACF,CACP,EAEA,MAAM,CAAC,CAAC,CAAC,CACR,8BACE,YAAG,SAAS,EAAC,4CAA4C,YACvD,KAAC,SAAS,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAI,GAC9B,EACJ,KAAC,eAAe,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAI,EACvE,eAAK,SAAS,EAAC,0EAA0E,aACvF,yCACa,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,cAAK,MAAM,CAAC,QAAQ,OAAG,MAAM,CAAC,KAAK,IACpE,EACN,KAAK,IAAI,CACR,eAAM,SAAS,EAAC,yDAAyD,2EAElE,CACR,IACG,IACL,CACJ,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,mDAAmD,aAChE,YAAG,SAAS,EAAC,yCAAyC,YACnD,CAAC,SAAS;oCACT,CAAC,CAAC,sHAAsH;oCACxH,CAAC,CAAC,YAAY,KAAK,CAAC;wCAClB,CAAC,CAAC,iFAAiF;wCACnF,CAAC,CAAC,iGAAiG,GACrG,EACH,SAAS,CAAC,CAAC,CAAC,CACX,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,QAAQ,EAAE,OAAO,IAAI,CAAC,WAAW,EACjC,SAAS,EAAE,UAAU,YAEpB,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,GACpC,CACV,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,IAAC,GAAG,EAAC,UAAU,EAAC,SAAS,EAAE,UAAU,gCAEnC,CACX,IACG,CACP,IACG,IACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,MAAM,GAIP;IACC,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;IACnC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,CACL,eAAK,SAAS,EAAC,gCAAgC,aAC5C,YAAY,IAAI,CACf,0BACE,cAAK,SAAS,EAAE,GAAG,QAAQ,wBAAwB,wBAAe,EAClE,aAAI,SAAS,EAAC,aAAa,YACxB,SAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,cAAY,SAAS,EAAC,iDAAiD,aACrE,eAAM,SAAS,EAAC,iCAAiC,uBAAS,EAC1D,yBACE,KAAC,SAAS,IAAC,IAAI,EAAE,CAAC,GAAI,GACjB,KAJA,CAAC,CAKL,CACN,CAAC,GACC,IACD,CACP,EACA,SAAS,IAAI,CACZ,0BACE,cAAK,SAAS,EAAE,GAAG,QAAQ,sBAAsB,oCAA2B,EAC5E,aAAI,SAAS,EAAC,aAAa,YACxB,MAAO,CAAC,GAAG,CAAC,CAAC,GAAuB,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3C,cAAY,SAAS,EAAC,iDAAiD,aACrE,eAAM,SAAS,EAAC,+BAA+B,uBAAS,EACxD,2BACG,GAAG,CAAC,KAAK,EACV,gBAAM,SAAS,EAAC,wCAAwC,aACtD,eAAM,SAAS,EAAC,wEAAwE,YACtF,KAAC,SAAS,IAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAI,GAC5B,EACN,GAAG,CAAC,UAAU,IAAI,CACjB,gBAAM,SAAS,EAAC,6EAA6E,wBACzF,KAAC,SAAS,IAAC,IAAI,EAAE,GAAG,CAAC,UAAU,GAAI,IAChC,CACR,IACI,IACF,KAdA,CAAC,CAeL,CACN,CAAC,GACC,IACD,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"design-review-card.js","sourceRoot":"","sources":["../../src/dashboard/design-review-card.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import type { PolishdDesignData } from "../server/design";
2
2
  import type { PolishdAISettingsPublic, PolishdDesignReview } from "../ai/types";
3
+ import type { PolishdSnapshot } from "../server/snapshots";
3
4
  export interface DesignPanelProps {
4
5
  data: PolishdDesignData;
5
6
  review: PolishdDesignReview | null;
6
7
  reviewStale: boolean;
7
8
  settings: PolishdAISettingsPublic;
9
+ snapshots: PolishdSnapshot[];
10
+ /** A known-in-advance reason captures will fail here, or null. */
11
+ captureIssue: string | null;
8
12
  }
9
- export declare function DesignPanel({ data, review, reviewStale, settings }: DesignPanelProps): import("react").JSX.Element;
13
+ export declare function DesignPanel({ data, review, reviewStale, settings, snapshots, captureIssue, }: DesignPanelProps): import("react").JSX.Element;
10
14
  //# sourceMappingURL=design.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/dashboard/design.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAqZhF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAoEpF"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/dashboard/design.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAsZ3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,kEAAkE;IAClE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,GACb,EAAE,gBAAgB,+BAuElB"}