@checkly/playwright-core 1.48.21 → 1.48.22-beta.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 (185) hide show
  1. package/lib/cli/cli.js +61 -0
  2. package/lib/common/debugLogger.js +90 -0
  3. package/lib/generated/clockSource.js +2 -1
  4. package/lib/generated/consoleApiSource.js +2 -1
  5. package/lib/generated/injectedScriptSource.js +2 -1
  6. package/lib/generated/pollingRecorderSource.js +2 -1
  7. package/lib/generated/recorderSource.js +1 -1
  8. package/lib/generated/utilityScriptSource.js +2 -1
  9. package/lib/generated/webSocketMockSource.js +2 -1
  10. package/lib/server/recorder/java.js +4 -36
  11. package/lib/server/trace/recorder/tracing.js +22 -17
  12. package/lib/vite/{traceViewer/assets/codeMirrorModule-U6XMqGkV.js → recorder/assets/codeMirrorModule--bQcPrZ2.js} +2 -2
  13. package/lib/vite/recorder/assets/codeMirrorModule-Cy8X9Wtw.css +344 -0
  14. package/lib/vite/recorder/assets/index-BMeslH8X.js +9946 -0
  15. package/lib/vite/recorder/assets/index-BjXmTggo.css +2515 -0
  16. package/lib/vite/recorder/index.html +2 -2
  17. package/lib/vite/traceViewer/assets/codeMirrorModule-75b0ca4f.js +24 -0
  18. package/lib/vite/traceViewer/assets/codeMirrorModule-CBokkFJ2.js +16431 -0
  19. package/lib/vite/traceViewer/assets/codeMirrorModule-CNHvVrFd.js +16437 -0
  20. package/lib/vite/traceViewer/assets/{codeMirrorModule-BdBhzV6t.js → codeMirrorModule-CpGx_S8D.js} +2 -2
  21. package/lib/vite/traceViewer/assets/codeMirrorModule-SomGa-Da.js +16443 -0
  22. package/lib/vite/traceViewer/assets/codeMirrorModule-c1454a2e.js +24 -0
  23. package/lib/vite/traceViewer/assets/codeMirrorModule-c9bb9834.js +24 -0
  24. package/lib/vite/traceViewer/assets/{codeMirrorModule-Dx6AXgMV.js → codeMirrorModule-cc2329e4.js} +11 -1256
  25. package/lib/vite/traceViewer/assets/codeMirrorModule-d2cc7db0.js +15579 -0
  26. package/lib/vite/traceViewer/assets/codeMirrorModule-da915a35.js +15586 -0
  27. package/lib/vite/traceViewer/assets/{codeMirrorModule-CcviAl53.js → codeMirrorModule-f03b1a3e.js} +1118 -2370
  28. package/lib/vite/traceViewer/assets/codeMirrorModule-f333a775.js +24 -0
  29. package/lib/vite/traceViewer/assets/{codeMirrorModule-V7N6ppkd.js → codeMirrorModule-uWDlVSQz.js} +2 -2
  30. package/lib/vite/{recorder/assets/codeMirrorModule-d0KhC1qL.js → traceViewer/assets/codeMirrorModule-xvopPhZ4.js} +1 -1
  31. package/lib/vite/traceViewer/assets/{codeMirrorModule-BqcXH1AO.js → codeMirrorModule-yboVpgC0.js} +2 -1248
  32. package/lib/vite/traceViewer/assets/{inspectorTab-DpvLVMq5.js → inspectorTab-B4ynvyY9.js} +18 -8
  33. package/lib/vite/traceViewer/assets/{inspectorTab-BPzVEZSf.js → inspectorTab-BqBvUFio.js} +18 -8
  34. package/lib/vite/traceViewer/assets/{workbench-Bjkiwcr1.js → inspectorTab-Dw0Gnh1T.js} +1847 -3605
  35. package/lib/vite/traceViewer/assets/{inspectorTab-BABZNwlH.js → inspectorTab-Ywa000c9.js} +16 -6
  36. package/lib/vite/traceViewer/assets/{inspectorTab-BHcfR9dD.js → inspectorTab-wfvwpMHs.js} +2 -2
  37. package/lib/vite/traceViewer/assets/{workbench-BcgGQnKb.js → workbench-CROk6Fcc.js} +2 -2
  38. package/lib/vite/traceViewer/assets/{workbench-ByyWxoT8.js → workbench-CfXOj3eT.js} +2 -2
  39. package/lib/vite/traceViewer/assets/{workbench-DhqI6jeL.js → workbench-D9CTkv-4.js} +2 -2
  40. package/lib/vite/traceViewer/assets/{workbench-I4s6sWjN.js → workbench-DNolpp3y.js} +1 -1
  41. package/lib/vite/traceViewer/assets/workbench-DUc2iD0P.js +1473 -0
  42. package/lib/vite/traceViewer/assets/{workbench-B13nfocr.js → workbench-LKskf2Iy.js} +1 -1
  43. package/lib/vite/traceViewer/assets/workbench-dnZM5a7x.js +1473 -0
  44. package/lib/vite/traceViewer/assets/wsPort-54626118.js +18361 -0
  45. package/lib/vite/traceViewer/assets/{workbench-Crj6jzdv.js → wsPort-57f274c6.js} +4308 -5066
  46. package/lib/vite/traceViewer/assets/wsPort-762c6840.js +64 -0
  47. package/lib/vite/traceViewer/assets/wsPort-85286e61.js +18361 -0
  48. package/lib/vite/traceViewer/assets/wsPort-98e00a94.js +64 -0
  49. package/lib/vite/traceViewer/assets/{wsPort-EUvw-dwH.js → wsPort-CAXygIGt.js} +3 -3
  50. package/lib/vite/traceViewer/assets/{workbench-C5OQh9VX.js → wsPort-cc0077b5.js} +4046 -4623
  51. package/lib/vite/traceViewer/assets/wsPort-edfeeb7d.js +64 -0
  52. package/lib/vite/traceViewer/assets/wsPort-ee2830d7.js +64 -0
  53. package/lib/vite/traceViewer/assets/{workbench-BwodYCgl.js → wsPort-peeLnQhT.js} +985 -1540
  54. package/lib/vite/traceViewer/assets/xtermModule-443332e6.js +9 -0
  55. package/lib/vite/traceViewer/assets/xtermModule-60687b6b.js +6410 -0
  56. package/lib/vite/traceViewer/codeMirrorModule.5d0f417c.css +1 -0
  57. package/lib/vite/traceViewer/codeMirrorModule.eb494ea9.css +344 -0
  58. package/lib/vite/traceViewer/codicon.79f233d0.ttf +0 -0
  59. package/lib/vite/traceViewer/{embedded.27BGR_eD.js → embedded.6N1v7bZ1.js} +4 -3
  60. package/lib/vite/traceViewer/{embedded.DTjd2aiy.js → embedded.BOw0jX78.js} +4 -3
  61. package/lib/vite/traceViewer/{embedded.Dxe2heQk.js → embedded.BXYl5zRv.js} +1 -1
  62. package/lib/vite/traceViewer/{embedded.SsjKHrxC.js → embedded.BaqdbLsy.js} +4 -3
  63. package/lib/vite/traceViewer/embedded.CwwTDBzP.js +106 -0
  64. package/lib/vite/traceViewer/{embedded.Zu332ZC1.js → embedded.DeCrOtlO.js} +2 -2
  65. package/lib/vite/traceViewer/embedded.html +6 -6
  66. package/lib/vite/traceViewer/embedded.i_k4ceMJ.js +106 -0
  67. package/lib/vite/traceViewer/index.1a1fe659.css +1 -0
  68. package/lib/vite/traceViewer/index.1b525c1c.js +181 -0
  69. package/lib/vite/traceViewer/index.55e65778.js +181 -0
  70. package/lib/vite/traceViewer/{index.6KJ-JQ0L.js → index.5nqVcfiC.js} +2 -2
  71. package/lib/vite/traceViewer/{index.C0EgJ4oW.js → index.5ooko4n7.js} +21 -36
  72. package/lib/vite/traceViewer/index.76e9f312.css +124 -0
  73. package/lib/vite/traceViewer/{index.Dz3icWJV.js → index.Bugo2TbS.js} +4 -3
  74. package/lib/vite/traceViewer/{index.PqcsvBxQ.js → index.BzvnAP7t.js} +4 -3
  75. package/lib/vite/traceViewer/{index.CLxsp2W_.js → index.CM_h9lHr.js} +2 -2
  76. package/lib/vite/traceViewer/{index.yxAwzeWG.js → index.CY13pBr8.js} +4 -3
  77. package/lib/vite/traceViewer/index.DW2ZzZfL.js +197 -0
  78. package/lib/vite/traceViewer/{index.CB297BuW.js → index.DZkJsFod.js} +1 -1
  79. package/lib/vite/traceViewer/index.DblJtEW_.js +197 -0
  80. package/lib/vite/traceViewer/index.a265fbdb.js +2 -0
  81. package/lib/vite/traceViewer/index.c9f6fa8f.js +2 -0
  82. package/lib/vite/traceViewer/index.d86e70ca.js +181 -0
  83. package/lib/vite/traceViewer/index.decad628.js +2 -0
  84. package/lib/vite/traceViewer/index.e8730524.js +181 -0
  85. package/lib/vite/traceViewer/index.ed9a3c58.js +2 -0
  86. package/lib/vite/traceViewer/index.html +7 -7
  87. package/lib/vite/traceViewer/{recorder.BufKu9Hp.js → recorder.3Xfrl_zV.js} +3 -2
  88. package/lib/vite/traceViewer/{recorder.am-MV-DQ.js → recorder.B76AH9PE.js} +3 -2
  89. package/lib/vite/traceViewer/{recorder.C88JDknq.js → recorder.BVExlUUk.js} +1 -1
  90. package/lib/vite/traceViewer/{recorder.7Wl6HrQl.js → recorder.Db1aK_DY.js} +3 -2
  91. package/lib/vite/traceViewer/recorder.html +4 -4
  92. package/lib/vite/traceViewer/recorder.uj3cfoMf.js +551 -0
  93. package/lib/vite/traceViewer/uiMode.08ab2d90.js +4 -0
  94. package/lib/vite/traceViewer/uiMode.0d0d667b.js +4 -0
  95. package/lib/vite/traceViewer/uiMode.216233d5.js +1484 -0
  96. package/lib/vite/traceViewer/{uiMode.DVWUEIHq.css → uiMode.2c31018f.css} +88 -188
  97. package/lib/vite/traceViewer/uiMode.3ff70f7d.js +4 -0
  98. package/lib/vite/traceViewer/uiMode.4d0a45af.js +1484 -0
  99. package/lib/vite/traceViewer/uiMode.66eb0ce2.js +1484 -0
  100. package/lib/vite/traceViewer/uiMode.8b41a49d.css +1 -0
  101. package/lib/vite/traceViewer/uiMode.8d080c01.js +1486 -0
  102. package/lib/vite/traceViewer/uiMode.BKrDfnAk.js +1725 -0
  103. package/lib/vite/traceViewer/uiMode.BMYUvsRh.js +1725 -0
  104. package/lib/vite/traceViewer/{uiMode.BZoFj6zV.js → uiMode.BVpTBGoe.js} +4 -3
  105. package/lib/vite/traceViewer/uiMode.BWhJCEE9.js +1725 -0
  106. package/lib/vite/traceViewer/uiMode.Bg9fACTB.js +1725 -0
  107. package/lib/vite/traceViewer/{uiMode.CpC2B27N.js → uiMode.CYBsUhm_.js} +2 -2
  108. package/lib/vite/traceViewer/{uiMode.Dlo9s_YX.js → uiMode.DCSdxlAq.js} +4 -3
  109. package/lib/vite/traceViewer/{uiMode.2tr9k625.js → uiMode.DjTS7tqC.js} +1 -1
  110. package/lib/vite/traceViewer/{uiMode.wsGnVMQK.js → uiMode.DtleKuGI.js} +4 -3
  111. package/lib/vite/traceViewer/uiMode.UamAvOMX.js +1725 -0
  112. package/lib/vite/traceViewer/uiMode.bBcXYWNF.js +1725 -0
  113. package/lib/vite/traceViewer/uiMode.ca6ec898.js +4 -0
  114. package/lib/vite/traceViewer/{uiMode.iq7CyYy7.js → uiMode.e-PLonGl.js} +2 -2
  115. package/lib/vite/traceViewer/uiMode.e_-GuqEi.js +1725 -0
  116. package/lib/vite/traceViewer/uiMode.f1YADWIl.js +1724 -0
  117. package/lib/vite/traceViewer/uiMode.html +7 -7
  118. package/lib/vite/traceViewer/uiMode.kHsXCfV8.js +1490 -0
  119. package/lib/vite/traceViewer/uiMode.myF_lyEH.js +1724 -0
  120. package/lib/vite/traceViewer/{workbench.B3X2QtYa.css → wsPort.162042f9.css} +63 -315
  121. package/lib/vite/traceViewer/{workbench.wuxQoE2z.css → wsPort.997c92cf.css} +145 -335
  122. package/lib/vite/traceViewer/wsPort.9c9a6767.css +1 -0
  123. package/lib/vite/traceViewer/xtermModule.125f4259.css +191 -0
  124. package/lib/vite/traceViewer/xtermModule.6428296b.css +32 -0
  125. package/package.json +1 -1
  126. package/lib/vite/recorder/assets/codeMirrorModule-ez37Vkbh.css +0 -1
  127. package/lib/vite/recorder/assets/index-BW-aOBcL.css +0 -1
  128. package/lib/vite/recorder/assets/index-Bxxcmxlu.js +0 -42
  129. package/lib/vite/traceViewer/assets/codeMirrorModule-5yiV-3wl.js +0 -16831
  130. package/lib/vite/traceViewer/assets/codeMirrorModule-B7Z3vq11.js +0 -24
  131. package/lib/vite/traceViewer/assets/codeMirrorModule-C6p3E9Zg.js +0 -24
  132. package/lib/vite/traceViewer/assets/codeMirrorModule-Ca-1BNel.js +0 -24
  133. package/lib/vite/traceViewer/assets/codeMirrorModule-CqYUz5ms.js +0 -24
  134. package/lib/vite/traceViewer/assets/codeMirrorModule-DS3v0XrQ.js +0 -24
  135. package/lib/vite/traceViewer/assets/codeMirrorModule-DZoSgqUd.js +0 -24
  136. package/lib/vite/traceViewer/assets/codeMirrorModule-EhKN7Okm.js +0 -16449
  137. package/lib/vite/traceViewer/assets/codeMirrorModule-MzSmL4X2.js +0 -24
  138. package/lib/vite/traceViewer/assets/codeMirrorModule-T_sdMrbM.js +0 -24
  139. package/lib/vite/traceViewer/assets/inspectorTab-Bbgq0hgt.js +0 -64
  140. package/lib/vite/traceViewer/assets/inspectorTab-DhBbZz8I.js +0 -64
  141. package/lib/vite/traceViewer/assets/workbench-C43LWZEX.js +0 -72
  142. package/lib/vite/traceViewer/assets/workbench-DZqNXdoV.js +0 -9
  143. package/lib/vite/traceViewer/assets/workbench-DrQjKdyE.js +0 -72
  144. package/lib/vite/traceViewer/assets/workbench-Pa1v1Ojh.js +0 -72
  145. package/lib/vite/traceViewer/assets/workbench-caTaZnzx.js +0 -72
  146. package/lib/vite/traceViewer/assets/workbench-gtYcQBNA.js +0 -9
  147. package/lib/vite/traceViewer/assets/workbench-u2lRPMOT.js +0 -72
  148. package/lib/vite/traceViewer/assets/xtermModule-CZ7sDYXB.js +0 -6529
  149. package/lib/vite/traceViewer/embedded.BBZ9gQEw.js +0 -104
  150. package/lib/vite/traceViewer/embedded.BQq6Psnz.js +0 -104
  151. package/lib/vite/traceViewer/embedded.BVDVQOzc.js +0 -2
  152. package/lib/vite/traceViewer/embedded.Bn8Ptzv6.js +0 -2
  153. package/lib/vite/traceViewer/embedded.CorI3dFX.js +0 -104
  154. package/lib/vite/traceViewer/embedded.CvhnUgIi.js +0 -2
  155. package/lib/vite/traceViewer/embedded.D27cnKiB.js +0 -104
  156. package/lib/vite/traceViewer/embedded.D4lqGydT.js +0 -2
  157. package/lib/vite/traceViewer/embedded.DPqrDeET.js +0 -2
  158. package/lib/vite/traceViewer/embedded.DbzY7Q8w.js +0 -2
  159. package/lib/vite/traceViewer/embedded.f-PLGsBT.js +0 -2
  160. package/lib/vite/traceViewer/index.B7aiTMfZ.js +0 -2
  161. package/lib/vite/traceViewer/index.B8dgQwuN.js +0 -2
  162. package/lib/vite/traceViewer/index.BGj8jY3H.js +0 -2
  163. package/lib/vite/traceViewer/index.BSak5QT9.js +0 -2
  164. package/lib/vite/traceViewer/index.BrT2kfuc.js +0 -2
  165. package/lib/vite/traceViewer/index.CUpI-BFe.js +0 -195
  166. package/lib/vite/traceViewer/index.DkRbtWVo.js +0 -195
  167. package/lib/vite/traceViewer/index.DsjmhbB6.js +0 -195
  168. package/lib/vite/traceViewer/index._cX8k4co.js +0 -2
  169. package/lib/vite/traceViewer/index.pMAN88y-.js +0 -2
  170. package/lib/vite/traceViewer/recorder.Ch-WHviK.js +0 -2
  171. package/lib/vite/traceViewer/recorder.POd-toIn.js +0 -2
  172. package/lib/vite/traceViewer/uiMode.BEZVCe5O.js +0 -5
  173. package/lib/vite/traceViewer/uiMode.C4nbcio6.js +0 -1730
  174. package/lib/vite/traceViewer/uiMode.D-tg1Oci.js +0 -1730
  175. package/lib/vite/traceViewer/uiMode.D3cNFP6u.css +0 -1
  176. package/lib/vite/traceViewer/uiMode.DKjMBMlc.js +0 -1730
  177. package/lib/vite/traceViewer/uiMode.DVrL7a1K.js +0 -10
  178. package/lib/vite/traceViewer/uiMode.DdtUZZVS.js +0 -5
  179. package/lib/vite/traceViewer/uiMode.Dg9oJCQU.js +0 -10
  180. package/lib/vite/traceViewer/uiMode.DwZAzstF.js +0 -10
  181. package/lib/vite/traceViewer/uiMode.O07awP3T.js +0 -10
  182. package/lib/vite/traceViewer/uiMode.gGHHTsyL.js +0 -1730
  183. package/lib/vite/traceViewer/uiMode.jY2s-9ps.js +0 -10
  184. package/lib/vite/traceViewer/workbench.DjbIuxix.css +0 -1
  185. package/lib/vite/traceViewer/workbench.DyTpxWVb.css +0 -1
@@ -1,104 +0,0 @@
1
- import { M as MultiTraceModel, r as reactExports, b as currentTheme, t as toggleTheme, j as jsxRuntimeExports, W as Workbench, a as applyTheme, c as createRoot } from "./assets/workbench-Crj6jzdv.js";
2
- function openPage(url, target) {
3
- if (url)
4
- window.parent.postMessage({ method: "openExternal", params: { url, target } }, "*");
5
- }
6
- function openSourceLocation({ file, line, column }) {
7
- window.parent.postMessage({ method: "openSourceLocation", params: { file, line, column } }, "*");
8
- }
9
- const EmbeddedWorkbenchLoader = () => {
10
- const [traceURLs, setTraceURLs] = reactExports.useState([]);
11
- const [model, setModel] = reactExports.useState(emptyModel);
12
- const [progress, setProgress] = reactExports.useState({ done: 0, total: 0 });
13
- const [processingErrorMessage, setProcessingErrorMessage] = reactExports.useState(null);
14
- reactExports.useEffect(() => {
15
- window.addEventListener("message", async ({ data: { method, params } }) => {
16
- if (method === "loadTraceRequested") {
17
- setTraceURLs(params.traceUrl ? [params.traceUrl] : []);
18
- setProcessingErrorMessage(null);
19
- } else if (method === "applyTheme") {
20
- if (currentTheme() !== params.theme)
21
- toggleTheme();
22
- }
23
- });
24
- window.parent.postMessage({ type: "loaded" }, "*");
25
- }, []);
26
- reactExports.useEffect(() => {
27
- (async () => {
28
- if (traceURLs.length) {
29
- const swListener = (event) => {
30
- if (event.data.method === "progress")
31
- setProgress(event.data.params);
32
- };
33
- navigator.serviceWorker.addEventListener("message", swListener);
34
- setProgress({ done: 0, total: 1 });
35
- const contextEntries = [];
36
- for (let i = 0; i < traceURLs.length; i++) {
37
- const url = traceURLs[i];
38
- const params = new URLSearchParams();
39
- params.set("trace", url);
40
- const response = await fetch(`contexts?${params.toString()}`);
41
- if (!response.ok) {
42
- setProcessingErrorMessage((await response.json()).error);
43
- return;
44
- }
45
- contextEntries.push(...await response.json());
46
- }
47
- navigator.serviceWorker.removeEventListener("message", swListener);
48
- const model2 = new MultiTraceModel(contextEntries);
49
- setProgress({ done: 0, total: 0 });
50
- setModel(model2);
51
- } else {
52
- setModel(emptyModel);
53
- }
54
- })();
55
- }, [traceURLs]);
56
- reactExports.useEffect(() => {
57
- var _a;
58
- if (processingErrorMessage)
59
- (_a = window.parent) == null ? void 0 : _a.postMessage({ method: "showErrorMessage", params: { message: processingErrorMessage } }, "*");
60
- }, [processingErrorMessage]);
61
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "vbox workbench-loader", children: [
62
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "progress", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "inner-progress", style: { width: progress.total ? 100 * progress.done / progress.total + "%" : 0 } }) }),
63
- /* @__PURE__ */ jsxRuntimeExports.jsx(Workbench, { model, openPage, onOpenExternally: openSourceLocation, showSettings: true }),
64
- !traceURLs.length && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "empty-state", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "title", children: "Select test to see the trace" }) })
65
- ] });
66
- };
67
- const emptyModel = new MultiTraceModel([]);
68
- (async () => {
69
- applyTheme();
70
- const handleKeyEvent = (e) => {
71
- var _a;
72
- if (!e.isTrusted)
73
- return;
74
- (_a = window.parent) == null ? void 0 : _a.postMessage({
75
- type: e.type,
76
- key: e.key,
77
- keyCode: e.keyCode,
78
- code: e.code,
79
- shiftKey: e.shiftKey,
80
- altKey: e.altKey,
81
- ctrlKey: e.ctrlKey,
82
- metaKey: e.metaKey,
83
- repeat: e.repeat
84
- }, "*");
85
- };
86
- window.addEventListener("keydown", handleKeyEvent);
87
- window.addEventListener("keyup", handleKeyEvent);
88
- if (window.location.protocol !== "file:") {
89
- if (!navigator.serviceWorker)
90
- throw new Error(`Service workers are not supported.
91
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);
92
- navigator.serviceWorker.register("sw.bundle.js");
93
- if (!navigator.serviceWorker.controller) {
94
- await new Promise((f) => {
95
- navigator.serviceWorker.oncontrollerchange = () => f();
96
- });
97
- }
98
- setInterval(function() {
99
- fetch("ping");
100
- }, 1e4);
101
- }
102
- createRoot(document.querySelector("#root")).render(/* @__PURE__ */ jsxRuntimeExports.jsx(EmbeddedWorkbenchLoader, {}));
103
- })();
104
- //# sourceMappingURL=embedded.BBZ9gQEw.js.map
@@ -1,104 +0,0 @@
1
- import { M as MultiTraceModel, r as reactExports, b as currentTheme, t as toggleTheme, j as jsxRuntimeExports, W as Workbench, a as applyTheme, c as createRoot } from "./assets/workbench-Bjkiwcr1.js";
2
- function openPage(url, target) {
3
- if (url)
4
- window.parent.postMessage({ method: "openExternal", params: { url, target } }, "*");
5
- }
6
- function openSourceLocation({ file, line, column }) {
7
- window.parent.postMessage({ method: "openSourceLocation", params: { file, line, column } }, "*");
8
- }
9
- const EmbeddedWorkbenchLoader = () => {
10
- const [traceURLs, setTraceURLs] = reactExports.useState([]);
11
- const [model, setModel] = reactExports.useState(emptyModel);
12
- const [progress, setProgress] = reactExports.useState({ done: 0, total: 0 });
13
- const [processingErrorMessage, setProcessingErrorMessage] = reactExports.useState(null);
14
- reactExports.useEffect(() => {
15
- window.addEventListener("message", async ({ data: { method, params } }) => {
16
- if (method === "loadTraceRequested") {
17
- setTraceURLs(params.traceUrl ? [params.traceUrl] : []);
18
- setProcessingErrorMessage(null);
19
- } else if (method === "applyTheme") {
20
- if (currentTheme() !== params.theme)
21
- toggleTheme();
22
- }
23
- });
24
- window.parent.postMessage({ type: "loaded" }, "*");
25
- }, []);
26
- reactExports.useEffect(() => {
27
- (async () => {
28
- if (traceURLs.length) {
29
- const swListener = (event) => {
30
- if (event.data.method === "progress")
31
- setProgress(event.data.params);
32
- };
33
- navigator.serviceWorker.addEventListener("message", swListener);
34
- setProgress({ done: 0, total: 1 });
35
- const contextEntries = [];
36
- for (let i = 0; i < traceURLs.length; i++) {
37
- const url = traceURLs[i];
38
- const params = new URLSearchParams();
39
- params.set("trace", url);
40
- const response = await fetch(`contexts?${params.toString()}`);
41
- if (!response.ok) {
42
- setProcessingErrorMessage((await response.json()).error);
43
- return;
44
- }
45
- contextEntries.push(...await response.json());
46
- }
47
- navigator.serviceWorker.removeEventListener("message", swListener);
48
- const model2 = new MultiTraceModel(contextEntries);
49
- setProgress({ done: 0, total: 0 });
50
- setModel(model2);
51
- } else {
52
- setModel(emptyModel);
53
- }
54
- })();
55
- }, [traceURLs]);
56
- reactExports.useEffect(() => {
57
- var _a;
58
- if (processingErrorMessage)
59
- (_a = window.parent) == null ? void 0 : _a.postMessage({ method: "showErrorMessage", params: { message: processingErrorMessage } }, "*");
60
- }, [processingErrorMessage]);
61
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "vbox workbench-loader", children: [
62
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "progress", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "inner-progress", style: { width: progress.total ? 100 * progress.done / progress.total + "%" : 0 } }) }),
63
- /* @__PURE__ */ jsxRuntimeExports.jsx(Workbench, { model, openPage, onOpenExternally: openSourceLocation, showSettings: true }),
64
- !traceURLs.length && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "empty-state", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "title", children: "Select test to see the trace" }) })
65
- ] });
66
- };
67
- const emptyModel = new MultiTraceModel([]);
68
- (async () => {
69
- applyTheme();
70
- const handleKeyEvent = (e) => {
71
- var _a;
72
- if (!e.isTrusted)
73
- return;
74
- (_a = window.parent) == null ? void 0 : _a.postMessage({
75
- type: e.type,
76
- key: e.key,
77
- keyCode: e.keyCode,
78
- code: e.code,
79
- shiftKey: e.shiftKey,
80
- altKey: e.altKey,
81
- ctrlKey: e.ctrlKey,
82
- metaKey: e.metaKey,
83
- repeat: e.repeat
84
- }, "*");
85
- };
86
- window.addEventListener("keydown", handleKeyEvent);
87
- window.addEventListener("keyup", handleKeyEvent);
88
- if (window.location.protocol !== "file:") {
89
- if (!navigator.serviceWorker)
90
- throw new Error(`Service workers are not supported.
91
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);
92
- navigator.serviceWorker.register("sw.bundle.js");
93
- if (!navigator.serviceWorker.controller) {
94
- await new Promise((f) => {
95
- navigator.serviceWorker.oncontrollerchange = () => f();
96
- });
97
- }
98
- setInterval(function() {
99
- fetch("ping");
100
- }, 1e4);
101
- }
102
- createRoot(document.querySelector("#root")).render(/* @__PURE__ */ jsxRuntimeExports.jsx(EmbeddedWorkbenchLoader, {}));
103
- })();
104
- //# sourceMappingURL=embedded.BQq6Psnz.js.map
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,W as k,a as x,c as M}from"./assets/workbench-C43LWZEX.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(k,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{x();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}M(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,W as k,a as x,c as M}from"./assets/workbench-u2lRPMOT.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(k,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{x();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}M(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,104 +0,0 @@
1
- import { M as MultiTraceModel, r as reactExports, b as currentTheme, t as toggleTheme, j as jsxRuntimeExports, W as Workbench, a as applyTheme, c as createRoot } from "./assets/workbench-BwodYCgl.js";
2
- function openPage(url, target) {
3
- if (url)
4
- window.parent.postMessage({ method: "openExternal", params: { url, target } }, "*");
5
- }
6
- function openSourceLocation({ file, line, column }) {
7
- window.parent.postMessage({ method: "openSourceLocation", params: { file, line, column } }, "*");
8
- }
9
- const EmbeddedWorkbenchLoader = () => {
10
- const [traceURLs, setTraceURLs] = reactExports.useState([]);
11
- const [model, setModel] = reactExports.useState(emptyModel);
12
- const [progress, setProgress] = reactExports.useState({ done: 0, total: 0 });
13
- const [processingErrorMessage, setProcessingErrorMessage] = reactExports.useState(null);
14
- reactExports.useEffect(() => {
15
- window.addEventListener("message", async ({ data: { method, params } }) => {
16
- if (method === "loadTraceRequested") {
17
- setTraceURLs(params.traceUrl ? [params.traceUrl] : []);
18
- setProcessingErrorMessage(null);
19
- } else if (method === "applyTheme") {
20
- if (currentTheme() !== params.theme)
21
- toggleTheme();
22
- }
23
- });
24
- window.parent.postMessage({ type: "loaded" }, "*");
25
- }, []);
26
- reactExports.useEffect(() => {
27
- (async () => {
28
- if (traceURLs.length) {
29
- const swListener = (event) => {
30
- if (event.data.method === "progress")
31
- setProgress(event.data.params);
32
- };
33
- navigator.serviceWorker.addEventListener("message", swListener);
34
- setProgress({ done: 0, total: 1 });
35
- const contextEntries = [];
36
- for (let i = 0; i < traceURLs.length; i++) {
37
- const url = traceURLs[i];
38
- const params = new URLSearchParams();
39
- params.set("trace", url);
40
- const response = await fetch(`contexts?${params.toString()}`);
41
- if (!response.ok) {
42
- setProcessingErrorMessage((await response.json()).error);
43
- return;
44
- }
45
- contextEntries.push(...await response.json());
46
- }
47
- navigator.serviceWorker.removeEventListener("message", swListener);
48
- const model2 = new MultiTraceModel(contextEntries);
49
- setProgress({ done: 0, total: 0 });
50
- setModel(model2);
51
- } else {
52
- setModel(emptyModel);
53
- }
54
- })();
55
- }, [traceURLs]);
56
- reactExports.useEffect(() => {
57
- var _a;
58
- if (processingErrorMessage)
59
- (_a = window.parent) == null ? void 0 : _a.postMessage({ method: "showErrorMessage", params: { message: processingErrorMessage } }, "*");
60
- }, [processingErrorMessage]);
61
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "vbox workbench-loader", children: [
62
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "progress", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "inner-progress", style: { width: progress.total ? 100 * progress.done / progress.total + "%" : 0 } }) }),
63
- /* @__PURE__ */ jsxRuntimeExports.jsx(Workbench, { model, openPage, onOpenExternally: openSourceLocation, showSettings: true }),
64
- !traceURLs.length && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "empty-state", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "title", children: "Select test to see the trace" }) })
65
- ] });
66
- };
67
- const emptyModel = new MultiTraceModel([]);
68
- (async () => {
69
- applyTheme();
70
- const handleKeyEvent = (e) => {
71
- var _a;
72
- if (!e.isTrusted)
73
- return;
74
- (_a = window.parent) == null ? void 0 : _a.postMessage({
75
- type: e.type,
76
- key: e.key,
77
- keyCode: e.keyCode,
78
- code: e.code,
79
- shiftKey: e.shiftKey,
80
- altKey: e.altKey,
81
- ctrlKey: e.ctrlKey,
82
- metaKey: e.metaKey,
83
- repeat: e.repeat
84
- }, "*");
85
- };
86
- window.addEventListener("keydown", handleKeyEvent);
87
- window.addEventListener("keyup", handleKeyEvent);
88
- if (window.location.protocol !== "file:") {
89
- if (!navigator.serviceWorker)
90
- throw new Error(`Service workers are not supported.
91
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);
92
- navigator.serviceWorker.register("sw.bundle.js");
93
- if (!navigator.serviceWorker.controller) {
94
- await new Promise((f) => {
95
- navigator.serviceWorker.oncontrollerchange = () => f();
96
- });
97
- }
98
- setInterval(function() {
99
- fetch("ping");
100
- }, 1e4);
101
- }
102
- createRoot(document.querySelector("#root")).render(/* @__PURE__ */ jsxRuntimeExports.jsx(EmbeddedWorkbenchLoader, {}));
103
- })();
104
- //# sourceMappingURL=embedded.CorI3dFX.js.map
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,W as k,a as x,c as M}from"./assets/workbench-DrQjKdyE.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(k,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{x();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}M(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,104 +0,0 @@
1
- import { M as MultiTraceModel, r as reactExports, b as currentTheme, t as toggleTheme, j as jsxRuntimeExports, W as Workbench, a as applyTheme, c as createRoot } from "./assets/workbench-C5OQh9VX.js";
2
- function openPage(url, target) {
3
- if (url)
4
- window.parent.postMessage({ method: "openExternal", params: { url, target } }, "*");
5
- }
6
- function openSourceLocation({ file, line, column }) {
7
- window.parent.postMessage({ method: "openSourceLocation", params: { file, line, column } }, "*");
8
- }
9
- const EmbeddedWorkbenchLoader = () => {
10
- const [traceURLs, setTraceURLs] = reactExports.useState([]);
11
- const [model, setModel] = reactExports.useState(emptyModel);
12
- const [progress, setProgress] = reactExports.useState({ done: 0, total: 0 });
13
- const [processingErrorMessage, setProcessingErrorMessage] = reactExports.useState(null);
14
- reactExports.useEffect(() => {
15
- window.addEventListener("message", async ({ data: { method, params } }) => {
16
- if (method === "loadTraceRequested") {
17
- setTraceURLs(params.traceUrl ? [params.traceUrl] : []);
18
- setProcessingErrorMessage(null);
19
- } else if (method === "applyTheme") {
20
- if (currentTheme() !== params.theme)
21
- toggleTheme();
22
- }
23
- });
24
- window.parent.postMessage({ type: "loaded" }, "*");
25
- }, []);
26
- reactExports.useEffect(() => {
27
- (async () => {
28
- if (traceURLs.length) {
29
- const swListener = (event) => {
30
- if (event.data.method === "progress")
31
- setProgress(event.data.params);
32
- };
33
- navigator.serviceWorker.addEventListener("message", swListener);
34
- setProgress({ done: 0, total: 1 });
35
- const contextEntries = [];
36
- for (let i = 0; i < traceURLs.length; i++) {
37
- const url = traceURLs[i];
38
- const params = new URLSearchParams();
39
- params.set("trace", url);
40
- const response = await fetch(`contexts?${params.toString()}`);
41
- if (!response.ok) {
42
- setProcessingErrorMessage((await response.json()).error);
43
- return;
44
- }
45
- contextEntries.push(...await response.json());
46
- }
47
- navigator.serviceWorker.removeEventListener("message", swListener);
48
- const model2 = new MultiTraceModel(contextEntries);
49
- setProgress({ done: 0, total: 0 });
50
- setModel(model2);
51
- } else {
52
- setModel(emptyModel);
53
- }
54
- })();
55
- }, [traceURLs]);
56
- reactExports.useEffect(() => {
57
- var _a;
58
- if (processingErrorMessage)
59
- (_a = window.parent) == null ? void 0 : _a.postMessage({ method: "showErrorMessage", params: { message: processingErrorMessage } }, "*");
60
- }, [processingErrorMessage]);
61
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "vbox workbench-loader", children: [
62
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "progress", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "inner-progress", style: { width: progress.total ? 100 * progress.done / progress.total + "%" : 0 } }) }),
63
- /* @__PURE__ */ jsxRuntimeExports.jsx(Workbench, { model, openPage, onOpenExternally: openSourceLocation, showSettings: true }),
64
- !traceURLs.length && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "empty-state", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "title", children: "Select test to see the trace" }) })
65
- ] });
66
- };
67
- const emptyModel = new MultiTraceModel([]);
68
- (async () => {
69
- applyTheme();
70
- const handleKeyEvent = (e) => {
71
- var _a;
72
- if (!e.isTrusted)
73
- return;
74
- (_a = window.parent) == null ? void 0 : _a.postMessage({
75
- type: e.type,
76
- key: e.key,
77
- keyCode: e.keyCode,
78
- code: e.code,
79
- shiftKey: e.shiftKey,
80
- altKey: e.altKey,
81
- ctrlKey: e.ctrlKey,
82
- metaKey: e.metaKey,
83
- repeat: e.repeat
84
- }, "*");
85
- };
86
- window.addEventListener("keydown", handleKeyEvent);
87
- window.addEventListener("keyup", handleKeyEvent);
88
- if (window.location.protocol !== "file:") {
89
- if (!navigator.serviceWorker)
90
- throw new Error(`Service workers are not supported.
91
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);
92
- navigator.serviceWorker.register("sw.bundle.js");
93
- if (!navigator.serviceWorker.controller) {
94
- await new Promise((f) => {
95
- navigator.serviceWorker.oncontrollerchange = () => f();
96
- });
97
- }
98
- setInterval(function() {
99
- fetch("ping");
100
- }, 1e4);
101
- }
102
- createRoot(document.querySelector("#root")).render(/* @__PURE__ */ jsxRuntimeExports.jsx(EmbeddedWorkbenchLoader, {}));
103
- })();
104
- //# sourceMappingURL=embedded.D27cnKiB.js.map
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,a as k,c as x}from"./assets/inspectorTab-DhBbZz8I.js";import{W as M}from"./assets/workbench-B13nfocr.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(M,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{k();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}x(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,W as k,a as x,c as M}from"./assets/workbench-caTaZnzx.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(k,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{x();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}M(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,W as k,a as x,c as M}from"./assets/workbench-Pa1v1Ojh.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(k,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{x();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}M(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as u,r,b as y,t as E,j as o,a as k,c as x}from"./assets/inspectorTab-Bbgq0hgt.js";import{W as M}from"./assets/workbench-gtYcQBNA.js";function S(t,e){t&&window.parent.postMessage({method:"openExternal",params:{url:t,target:e}},"*")}function j({file:t,line:e,column:a}){window.parent.postMessage({method:"openSourceLocation",params:{file:t,line:e,column:a}},"*")}const L=()=>{const[t,e]=r.useState([]),[a,w]=r.useState(h),[c,d]=r.useState({done:0,total:0}),[l,g]=r.useState(null);return r.useEffect(()=>{window.addEventListener("message",async({data:{method:s,params:n}})=>{s==="loadTraceRequested"?(e(n.traceUrl?[n.traceUrl]:[]),g(null)):s==="applyTheme"&&y()!==n.theme&&E()}),window.parent.postMessage({type:"loaded"},"*")},[]),r.useEffect(()=>{(async()=>{if(t.length){const s=i=>{i.data.method==="progress"&&d(i.data.params)};navigator.serviceWorker.addEventListener("message",s),d({done:0,total:1});const n=[];for(let i=0;i<t.length;i++){const v=t[i],m=new URLSearchParams;m.set("trace",v);const p=await fetch(`contexts?${m.toString()}`);if(!p.ok){g((await p.json()).error);return}n.push(...await p.json())}navigator.serviceWorker.removeEventListener("message",s);const f=new u(n);d({done:0,total:0}),w(f)}else w(h)})()},[t]),r.useEffect(()=>{var s;l&&((s=window.parent)==null||s.postMessage({method:"showErrorMessage",params:{message:l}},"*"))},[l]),o.jsxs("div",{className:"vbox workbench-loader",children:[o.jsx("div",{className:"progress",children:o.jsx("div",{className:"inner-progress",style:{width:c.total?100*c.done/c.total+"%":0}})}),o.jsx(M,{model:a,openPage:S,onOpenExternally:j,showSettings:!0}),!t.length&&o.jsx("div",{className:"empty-state",children:o.jsx("div",{className:"title",children:"Select test to see the trace"})})]})},h=new u([]);(async()=>{k();const t=e=>{var a;e.isTrusted&&((a=window.parent)==null||a.postMessage({type:e.type,key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat},"*"))};if(window.addEventListener("keydown",t),window.addEventListener("keyup",t),window.location.protocol!=="file:"){if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch("ping")},1e4)}x(document.querySelector("#root")).render(o.jsx(L,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as k,r as o,j as e,T as W,t as D,a as M,c as C}from"./assets/inspectorTab-DhBbZz8I.js";import{W as F}from"./assets/workbench-B13nfocr.js";import{T as O,W as A}from"./assets/testServerConnection-DeE2kSzz.js";const I=()=>{const[i,N]=o.useState(!1),[c,p]=o.useState([]),[g,E]=o.useState([]),[f,S]=o.useState(L),[v,w]=o.useState({done:0,total:0}),[T,u]=o.useState(!1),[y,m]=o.useState(null),[x,U]=o.useState(null),h=o.useCallback(t=>{const r=[],a=[],s=new URL(window.location.href);for(let n=0;n<t.length;n++){const l=t.item(n);if(!l)continue;const b=URL.createObjectURL(l);r.push(b),a.push(l.name),s.searchParams.append("trace",b),s.searchParams.append("traceFileName",l.name)}const d=s.toString();window.history.pushState({},"",d),p(r),E(a),u(!1),m(null)},[]);o.useEffect(()=>{const t=async r=>{var a;if((a=r.clipboardData)!=null&&a.files.length){for(const s of r.clipboardData.files)if(s.type!=="application/zip")return;r.preventDefault(),h(r.clipboardData.files)}};return document.addEventListener("paste",t),()=>document.removeEventListener("paste",t)});const P=o.useCallback(t=>{t.preventDefault(),h(t.dataTransfer.files)},[h]),R=o.useCallback(t=>{t.preventDefault(),t.target.files&&h(t.target.files)},[h]);o.useEffect(()=>{const t=new URL(window.location.href).searchParams,r=t.getAll("trace");N(t.has("isServer"));for(const a of r)if(a.startsWith("file:")){U(a||null);return}if(t.has("isServer")){const a=new URLSearchParams(window.location.search).get("ws"),s=new URL(`../${a}`,window.location.toString());s.protocol=window.location.protocol==="https:"?"wss:":"ws:";const d=new O(new A(s));d.onLoadTraceRequested(async n=>{p(n.traceUrl?[n.traceUrl]:[]),u(!1),m(null)}),d.initialize({}).catch(()=>{})}else r.some(a=>a.startsWith("blob:"))||p(r)},[]),o.useEffect(()=>{(async()=>{if(c.length){const t=s=>{s.data.method==="progress"&&w(s.data.params)};navigator.serviceWorker.addEventListener("message",t),w({done:0,total:1});const r=[];for(let s=0;s<c.length;s++){const d=c[s],n=new URLSearchParams;n.set("trace",d),g.length&&n.set("traceFileName",g[s]);const l=await fetch(`contexts?${n.toString()}`);if(!l.ok){i||p([]),m((await l.json()).error);return}r.push(...await l.json())}navigator.serviceWorker.removeEventListener("message",t);const a=new k(r);w({done:0,total:0}),S(a)}else S(L)})()},[i,c,g]);const j=!!(!i&&!T&&!x&&(!c.length||y));return e.jsxs("div",{className:"vbox workbench-loader",onDragOver:t=>{t.preventDefault(),u(!0)},children:[e.jsxs("div",{className:"hbox header",...j?{inert:"true"}:{},children:[e.jsx("div",{className:"logo",children:e.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"})}),e.jsx("div",{className:"product",children:"Playwright"}),f.title&&e.jsx("div",{className:"title",children:f.title}),e.jsx("div",{className:"spacer"}),e.jsx(W,{icon:"color-mode",title:"Toggle color mode",toggled:!1,onClick:()=>D()})]}),e.jsx("div",{className:"progress",children:e.jsx("div",{className:"inner-progress",style:{width:v.total?100*v.done/v.total+"%":0}})}),e.jsx(F,{model:f,inert:j,showSettings:!0}),x&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"}),e.jsxs("div",{style:{paddingTop:20},children:[e.jsxs("div",{children:["1. Click ",e.jsx("a",{href:x,children:"here"})," to put your trace into the download shelf"]}),e.jsxs("div",{children:["2. Go to ",e.jsx("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"})]}),e.jsx("div",{children:"3. Drop the trace from the download shelf into the page"})]})]}),j&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{className:"processing-error",role:"alert",children:y}),e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"}),e.jsx("div",{children:"or"}),e.jsx("button",{onClick:()=>{const t=document.createElement("input");t.type="file",t.multiple=!0,t.click(),t.addEventListener("change",r=>R(r))},type:"button",children:"Select file(s)"}),e.jsx("div",{style:{maxWidth:400},children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."})]}),i&&!c.length&&e.jsx("div",{className:"drop-target",children:e.jsx("div",{className:"title",children:"Select test to see the trace"})}),T&&e.jsx("div",{className:"drop-target",onDragLeave:()=>{u(!1)},onDrop:t=>P(t),children:e.jsx("div",{className:"title",children:"Release to analyse the Playwright Trace"})})]})},L=new k([]);(async()=>{if(M(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(i=>setTimeout(i,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(i=>{navigator.serviceWorker.oncontrollerchange=()=>i()}),setInterval(function(){fetch("ping")},1e4)}C(document.querySelector("#root")).render(e.jsx(I,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as k,r as o,j as e,T as W,t as D,W as M,a as C,c as F}from"./assets/workbench-C43LWZEX.js";import{T as O,W as A}from"./assets/testServerConnection-DeE2kSzz.js";const I=()=>{const[i,N]=o.useState(!1),[c,p]=o.useState([]),[g,E]=o.useState([]),[f,S]=o.useState(L),[v,w]=o.useState({done:0,total:0}),[T,u]=o.useState(!1),[y,m]=o.useState(null),[x,U]=o.useState(null),h=o.useCallback(t=>{const r=[],a=[],s=new URL(window.location.href);for(let n=0;n<t.length;n++){const l=t.item(n);if(!l)continue;const b=URL.createObjectURL(l);r.push(b),a.push(l.name),s.searchParams.append("trace",b),s.searchParams.append("traceFileName",l.name)}const d=s.toString();window.history.pushState({},"",d),p(r),E(a),u(!1),m(null)},[]);o.useEffect(()=>{const t=async r=>{var a;if((a=r.clipboardData)!=null&&a.files.length){for(const s of r.clipboardData.files)if(s.type!=="application/zip")return;r.preventDefault(),h(r.clipboardData.files)}};return document.addEventListener("paste",t),()=>document.removeEventListener("paste",t)});const P=o.useCallback(t=>{t.preventDefault(),h(t.dataTransfer.files)},[h]),R=o.useCallback(t=>{t.preventDefault(),t.target.files&&h(t.target.files)},[h]);o.useEffect(()=>{const t=new URL(window.location.href).searchParams,r=t.getAll("trace");N(t.has("isServer"));for(const a of r)if(a.startsWith("file:")){U(a||null);return}if(t.has("isServer")){const a=new URLSearchParams(window.location.search).get("ws"),s=new URL(`../${a}`,window.location.toString());s.protocol=window.location.protocol==="https:"?"wss:":"ws:";const d=new O(new A(s));d.onLoadTraceRequested(async n=>{p(n.traceUrl?[n.traceUrl]:[]),u(!1),m(null)}),d.initialize({}).catch(()=>{})}else r.some(a=>a.startsWith("blob:"))||p(r)},[]),o.useEffect(()=>{(async()=>{if(c.length){const t=s=>{s.data.method==="progress"&&w(s.data.params)};navigator.serviceWorker.addEventListener("message",t),w({done:0,total:1});const r=[];for(let s=0;s<c.length;s++){const d=c[s],n=new URLSearchParams;n.set("trace",d),g.length&&n.set("traceFileName",g[s]);const l=await fetch(`contexts?${n.toString()}`);if(!l.ok){i||p([]),m((await l.json()).error);return}r.push(...await l.json())}navigator.serviceWorker.removeEventListener("message",t);const a=new k(r);w({done:0,total:0}),S(a)}else S(L)})()},[i,c,g]);const j=!!(!i&&!T&&!x&&(!c.length||y));return e.jsxs("div",{className:"vbox workbench-loader",onDragOver:t=>{t.preventDefault(),u(!0)},children:[e.jsxs("div",{className:"hbox header",...j?{inert:"true"}:{},children:[e.jsx("div",{className:"logo",children:e.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"})}),e.jsx("div",{className:"product",children:"Playwright"}),f.title&&e.jsx("div",{className:"title",children:f.title}),e.jsx("div",{className:"spacer"}),e.jsx(W,{icon:"color-mode",title:"Toggle color mode",toggled:!1,onClick:()=>D()})]}),e.jsx("div",{className:"progress",children:e.jsx("div",{className:"inner-progress",style:{width:v.total?100*v.done/v.total+"%":0}})}),e.jsx(M,{model:f,inert:j,showSettings:!0}),x&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"}),e.jsxs("div",{style:{paddingTop:20},children:[e.jsxs("div",{children:["1. Click ",e.jsx("a",{href:x,children:"here"})," to put your trace into the download shelf"]}),e.jsxs("div",{children:["2. Go to ",e.jsx("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"})]}),e.jsx("div",{children:"3. Drop the trace from the download shelf into the page"})]})]}),j&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{className:"processing-error",role:"alert",children:y}),e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"}),e.jsx("div",{children:"or"}),e.jsx("button",{onClick:()=>{const t=document.createElement("input");t.type="file",t.multiple=!0,t.click(),t.addEventListener("change",r=>R(r))},type:"button",children:"Select file(s)"}),e.jsx("div",{style:{maxWidth:400},children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."})]}),i&&!c.length&&e.jsx("div",{className:"drop-target",children:e.jsx("div",{className:"title",children:"Select test to see the trace"})}),T&&e.jsx("div",{className:"drop-target",onDragLeave:()=>{u(!1)},onDrop:t=>P(t),children:e.jsx("div",{className:"title",children:"Release to analyse the Playwright Trace"})})]})},L=new k([]);(async()=>{if(C(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(i=>setTimeout(i,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(i=>{navigator.serviceWorker.oncontrollerchange=()=>i()}),setInterval(function(){fetch("ping")},1e4)}F(document.querySelector("#root")).render(e.jsx(I,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as k,r as o,j as e,T as W,t as D,W as M,a as C,c as F}from"./assets/workbench-caTaZnzx.js";import{T as O,W as A}from"./assets/testServerConnection-DeE2kSzz.js";const I=()=>{const[i,N]=o.useState(!1),[c,p]=o.useState([]),[g,E]=o.useState([]),[f,S]=o.useState(L),[v,w]=o.useState({done:0,total:0}),[T,u]=o.useState(!1),[y,m]=o.useState(null),[x,U]=o.useState(null),h=o.useCallback(t=>{const r=[],a=[],s=new URL(window.location.href);for(let n=0;n<t.length;n++){const l=t.item(n);if(!l)continue;const b=URL.createObjectURL(l);r.push(b),a.push(l.name),s.searchParams.append("trace",b),s.searchParams.append("traceFileName",l.name)}const d=s.toString();window.history.pushState({},"",d),p(r),E(a),u(!1),m(null)},[]);o.useEffect(()=>{const t=async r=>{var a;if((a=r.clipboardData)!=null&&a.files.length){for(const s of r.clipboardData.files)if(s.type!=="application/zip")return;r.preventDefault(),h(r.clipboardData.files)}};return document.addEventListener("paste",t),()=>document.removeEventListener("paste",t)});const P=o.useCallback(t=>{t.preventDefault(),h(t.dataTransfer.files)},[h]),R=o.useCallback(t=>{t.preventDefault(),t.target.files&&h(t.target.files)},[h]);o.useEffect(()=>{const t=new URL(window.location.href).searchParams,r=t.getAll("trace");N(t.has("isServer"));for(const a of r)if(a.startsWith("file:")){U(a||null);return}if(t.has("isServer")){const a=new URLSearchParams(window.location.search).get("ws"),s=new URL(`../${a}`,window.location.toString());s.protocol=window.location.protocol==="https:"?"wss:":"ws:";const d=new O(new A(s));d.onLoadTraceRequested(async n=>{p(n.traceUrl?[n.traceUrl]:[]),u(!1),m(null)}),d.initialize({}).catch(()=>{})}else r.some(a=>a.startsWith("blob:"))||p(r)},[]),o.useEffect(()=>{(async()=>{if(c.length){const t=s=>{s.data.method==="progress"&&w(s.data.params)};navigator.serviceWorker.addEventListener("message",t),w({done:0,total:1});const r=[];for(let s=0;s<c.length;s++){const d=c[s],n=new URLSearchParams;n.set("trace",d),g.length&&n.set("traceFileName",g[s]);const l=await fetch(`contexts?${n.toString()}`);if(!l.ok){i||p([]),m((await l.json()).error);return}r.push(...await l.json())}navigator.serviceWorker.removeEventListener("message",t);const a=new k(r);w({done:0,total:0}),S(a)}else S(L)})()},[i,c,g]);const j=!!(!i&&!T&&!x&&(!c.length||y));return e.jsxs("div",{className:"vbox workbench-loader",onDragOver:t=>{t.preventDefault(),u(!0)},children:[e.jsxs("div",{className:"hbox header",...j?{inert:"true"}:{},children:[e.jsx("div",{className:"logo",children:e.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"})}),e.jsx("div",{className:"product",children:"Playwright"}),f.title&&e.jsx("div",{className:"title",children:f.title}),e.jsx("div",{className:"spacer"}),e.jsx(W,{icon:"color-mode",title:"Toggle color mode",toggled:!1,onClick:()=>D()})]}),e.jsx("div",{className:"progress",children:e.jsx("div",{className:"inner-progress",style:{width:v.total?100*v.done/v.total+"%":0}})}),e.jsx(M,{model:f,inert:j,showSettings:!0}),x&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"}),e.jsxs("div",{style:{paddingTop:20},children:[e.jsxs("div",{children:["1. Click ",e.jsx("a",{href:x,children:"here"})," to put your trace into the download shelf"]}),e.jsxs("div",{children:["2. Go to ",e.jsx("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"})]}),e.jsx("div",{children:"3. Drop the trace from the download shelf into the page"})]})]}),j&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{className:"processing-error",role:"alert",children:y}),e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"}),e.jsx("div",{children:"or"}),e.jsx("button",{onClick:()=>{const t=document.createElement("input");t.type="file",t.multiple=!0,t.click(),t.addEventListener("change",r=>R(r))},type:"button",children:"Select file(s)"}),e.jsx("div",{style:{maxWidth:400},children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."})]}),i&&!c.length&&e.jsx("div",{className:"drop-target",children:e.jsx("div",{className:"title",children:"Select test to see the trace"})}),T&&e.jsx("div",{className:"drop-target",onDragLeave:()=>{u(!1)},onDrop:t=>P(t),children:e.jsx("div",{className:"title",children:"Release to analyse the Playwright Trace"})})]})},L=new k([]);(async()=>{if(C(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(i=>setTimeout(i,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(i=>{navigator.serviceWorker.oncontrollerchange=()=>i()}),setInterval(function(){fetch("ping")},1e4)}F(document.querySelector("#root")).render(e.jsx(I,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as k,r as o,j as e,T as W,t as D,W as M,a as C,c as F}from"./assets/workbench-Pa1v1Ojh.js";import{T as O,W as A}from"./assets/testServerConnection-DeE2kSzz.js";const I=()=>{const[i,N]=o.useState(!1),[c,p]=o.useState([]),[g,E]=o.useState([]),[f,S]=o.useState(L),[v,w]=o.useState({done:0,total:0}),[T,u]=o.useState(!1),[y,m]=o.useState(null),[x,U]=o.useState(null),h=o.useCallback(t=>{const r=[],a=[],s=new URL(window.location.href);for(let n=0;n<t.length;n++){const l=t.item(n);if(!l)continue;const b=URL.createObjectURL(l);r.push(b),a.push(l.name),s.searchParams.append("trace",b),s.searchParams.append("traceFileName",l.name)}const d=s.toString();window.history.pushState({},"",d),p(r),E(a),u(!1),m(null)},[]);o.useEffect(()=>{const t=async r=>{var a;if((a=r.clipboardData)!=null&&a.files.length){for(const s of r.clipboardData.files)if(s.type!=="application/zip")return;r.preventDefault(),h(r.clipboardData.files)}};return document.addEventListener("paste",t),()=>document.removeEventListener("paste",t)});const P=o.useCallback(t=>{t.preventDefault(),h(t.dataTransfer.files)},[h]),R=o.useCallback(t=>{t.preventDefault(),t.target.files&&h(t.target.files)},[h]);o.useEffect(()=>{const t=new URL(window.location.href).searchParams,r=t.getAll("trace");N(t.has("isServer"));for(const a of r)if(a.startsWith("file:")){U(a||null);return}if(t.has("isServer")){const a=new URLSearchParams(window.location.search).get("ws"),s=new URL(`../${a}`,window.location.toString());s.protocol=window.location.protocol==="https:"?"wss:":"ws:";const d=new O(new A(s));d.onLoadTraceRequested(async n=>{p(n.traceUrl?[n.traceUrl]:[]),u(!1),m(null)}),d.initialize({}).catch(()=>{})}else r.some(a=>a.startsWith("blob:"))||p(r)},[]),o.useEffect(()=>{(async()=>{if(c.length){const t=s=>{s.data.method==="progress"&&w(s.data.params)};navigator.serviceWorker.addEventListener("message",t),w({done:0,total:1});const r=[];for(let s=0;s<c.length;s++){const d=c[s],n=new URLSearchParams;n.set("trace",d),g.length&&n.set("traceFileName",g[s]);const l=await fetch(`contexts?${n.toString()}`);if(!l.ok){i||p([]),m((await l.json()).error);return}r.push(...await l.json())}navigator.serviceWorker.removeEventListener("message",t);const a=new k(r);w({done:0,total:0}),S(a)}else S(L)})()},[i,c,g]);const j=!!(!i&&!T&&!x&&(!c.length||y));return e.jsxs("div",{className:"vbox workbench-loader",onDragOver:t=>{t.preventDefault(),u(!0)},children:[e.jsxs("div",{className:"hbox header",...j?{inert:"true"}:{},children:[e.jsx("div",{className:"logo",children:e.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"})}),e.jsx("div",{className:"product",children:"Playwright"}),f.title&&e.jsx("div",{className:"title",children:f.title}),e.jsx("div",{className:"spacer"}),e.jsx(W,{icon:"color-mode",title:"Toggle color mode",toggled:!1,onClick:()=>D()})]}),e.jsx("div",{className:"progress",children:e.jsx("div",{className:"inner-progress",style:{width:v.total?100*v.done/v.total+"%":0}})}),e.jsx(M,{model:f,inert:j,showSettings:!0}),x&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"}),e.jsxs("div",{style:{paddingTop:20},children:[e.jsxs("div",{children:["1. Click ",e.jsx("a",{href:x,children:"here"})," to put your trace into the download shelf"]}),e.jsxs("div",{children:["2. Go to ",e.jsx("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"})]}),e.jsx("div",{children:"3. Drop the trace from the download shelf into the page"})]})]}),j&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{className:"processing-error",role:"alert",children:y}),e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"}),e.jsx("div",{children:"or"}),e.jsx("button",{onClick:()=>{const t=document.createElement("input");t.type="file",t.multiple=!0,t.click(),t.addEventListener("change",r=>R(r))},type:"button",children:"Select file(s)"}),e.jsx("div",{style:{maxWidth:400},children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."})]}),i&&!c.length&&e.jsx("div",{className:"drop-target",children:e.jsx("div",{className:"title",children:"Select test to see the trace"})}),T&&e.jsx("div",{className:"drop-target",onDragLeave:()=>{u(!1)},onDrop:t=>P(t),children:e.jsx("div",{className:"title",children:"Release to analyse the Playwright Trace"})})]})},L=new k([]);(async()=>{if(C(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(i=>setTimeout(i,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(i=>{navigator.serviceWorker.oncontrollerchange=()=>i()}),setInterval(function(){fetch("ping")},1e4)}F(document.querySelector("#root")).render(e.jsx(I,{}))})();
@@ -1,2 +0,0 @@
1
- import{M as k,r as o,j as e,T as W,t as D,a as M,c as C}from"./assets/inspectorTab-Bbgq0hgt.js";import{W as F}from"./assets/workbench-gtYcQBNA.js";import{T as O,W as A}from"./assets/testServerConnection-DeE2kSzz.js";const I=()=>{const[i,N]=o.useState(!1),[c,p]=o.useState([]),[g,E]=o.useState([]),[f,S]=o.useState(L),[v,w]=o.useState({done:0,total:0}),[T,u]=o.useState(!1),[y,m]=o.useState(null),[x,U]=o.useState(null),h=o.useCallback(t=>{const r=[],a=[],s=new URL(window.location.href);for(let n=0;n<t.length;n++){const l=t.item(n);if(!l)continue;const b=URL.createObjectURL(l);r.push(b),a.push(l.name),s.searchParams.append("trace",b),s.searchParams.append("traceFileName",l.name)}const d=s.toString();window.history.pushState({},"",d),p(r),E(a),u(!1),m(null)},[]);o.useEffect(()=>{const t=async r=>{var a;if((a=r.clipboardData)!=null&&a.files.length){for(const s of r.clipboardData.files)if(s.type!=="application/zip")return;r.preventDefault(),h(r.clipboardData.files)}};return document.addEventListener("paste",t),()=>document.removeEventListener("paste",t)});const P=o.useCallback(t=>{t.preventDefault(),h(t.dataTransfer.files)},[h]),R=o.useCallback(t=>{t.preventDefault(),t.target.files&&h(t.target.files)},[h]);o.useEffect(()=>{const t=new URL(window.location.href).searchParams,r=t.getAll("trace");N(t.has("isServer"));for(const a of r)if(a.startsWith("file:")){U(a||null);return}if(t.has("isServer")){const a=new URLSearchParams(window.location.search).get("ws"),s=new URL(`../${a}`,window.location.toString());s.protocol=window.location.protocol==="https:"?"wss:":"ws:";const d=new O(new A(s));d.onLoadTraceRequested(async n=>{p(n.traceUrl?[n.traceUrl]:[]),u(!1),m(null)}),d.initialize({}).catch(()=>{})}else r.some(a=>a.startsWith("blob:"))||p(r)},[]),o.useEffect(()=>{(async()=>{if(c.length){const t=s=>{s.data.method==="progress"&&w(s.data.params)};navigator.serviceWorker.addEventListener("message",t),w({done:0,total:1});const r=[];for(let s=0;s<c.length;s++){const d=c[s],n=new URLSearchParams;n.set("trace",d),g.length&&n.set("traceFileName",g[s]);const l=await fetch(`contexts?${n.toString()}`);if(!l.ok){i||p([]),m((await l.json()).error);return}r.push(...await l.json())}navigator.serviceWorker.removeEventListener("message",t);const a=new k(r);w({done:0,total:0}),S(a)}else S(L)})()},[i,c,g]);const j=!!(!i&&!T&&!x&&(!c.length||y));return e.jsxs("div",{className:"vbox workbench-loader",onDragOver:t=>{t.preventDefault(),u(!0)},children:[e.jsxs("div",{className:"hbox header",...j?{inert:"true"}:{},children:[e.jsx("div",{className:"logo",children:e.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"})}),e.jsx("div",{className:"product",children:"Playwright"}),f.title&&e.jsx("div",{className:"title",children:f.title}),e.jsx("div",{className:"spacer"}),e.jsx(W,{icon:"color-mode",title:"Toggle color mode",toggled:!1,onClick:()=>D()})]}),e.jsx("div",{className:"progress",children:e.jsx("div",{className:"inner-progress",style:{width:v.total?100*v.done/v.total+"%":0}})}),e.jsx(F,{model:f,inert:j,showSettings:!0}),x&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"}),e.jsxs("div",{style:{paddingTop:20},children:[e.jsxs("div",{children:["1. Click ",e.jsx("a",{href:x,children:"here"})," to put your trace into the download shelf"]}),e.jsxs("div",{children:["2. Go to ",e.jsx("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"})]}),e.jsx("div",{children:"3. Drop the trace from the download shelf into the page"})]})]}),j&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{className:"processing-error",role:"alert",children:y}),e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"}),e.jsx("div",{children:"or"}),e.jsx("button",{onClick:()=>{const t=document.createElement("input");t.type="file",t.multiple=!0,t.click(),t.addEventListener("change",r=>R(r))},type:"button",children:"Select file(s)"}),e.jsx("div",{style:{maxWidth:400},children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."})]}),i&&!c.length&&e.jsx("div",{className:"drop-target",children:e.jsx("div",{className:"title",children:"Select test to see the trace"})}),T&&e.jsx("div",{className:"drop-target",onDragLeave:()=>{u(!1)},onDrop:t=>P(t),children:e.jsx("div",{className:"title",children:"Release to analyse the Playwright Trace"})})]})},L=new k([]);(async()=>{if(M(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(i=>setTimeout(i,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2
- Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(i=>{navigator.serviceWorker.oncontrollerchange=()=>i()}),setInterval(function(){fetch("ping")},1e4)}C(document.querySelector("#root")).render(e.jsx(I,{}))})();