@hot-updater/console 1.2.0-rc.0 → 1.2.0-rc.10

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 (84) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/StoreSubmission-ViTkW4eJ.js +1 -0
  3. package/.output/public/assets/{index-PQ3UCeQV.js → index-DH9-mB8D.js} +2 -2
  4. package/.output/public/assets/{native-builds-c4BpOLAe.js → native-builds-BGgFQTDW.js} +2 -2
  5. package/.output/public/assets/native-builds-CxomzFqe.js +1 -0
  6. package/.output/public/assets/native-builds_._buildId-DD58_Phd.js +1 -0
  7. package/.output/public/assets/{native-builds_._buildId-9p4FFpa4.js → native-builds_._buildId-DvQDKnUQ.js} +2 -2
  8. package/.output/public/assets/{styles-Ccxthuz1.css → styles-uK-0vUMk.css} +1 -1
  9. package/.output/server/{__23tanstack-start-server-fn-resolver-nWkGzoo3.mjs → __23tanstack-start-server-fn-resolver-ClYi5o3F.mjs} +46 -46
  10. package/.output/server/_chunks/ssr-renderer.mjs +2 -2
  11. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
  12. package/.output/server/_ssr/{BundleIdDisplay-C2YJNpHa.mjs → BundleIdDisplay-DwXVKZD1.mjs} +2 -2
  13. package/.output/server/_ssr/{ConsoleFeatureUnavailable-Co4rDns4.mjs → ConsoleFeatureUnavailable-a0YZjfJt.mjs} +6 -6
  14. package/.output/server/_ssr/{EventDetails-CTvni55k.mjs → EventDetails-DLmuxP2p.mjs} +6 -6
  15. package/.output/server/_ssr/{HashValueDisplay-BBswr65a.mjs → HashValueDisplay-BArRgHY9.mjs} +2 -2
  16. package/.output/server/_ssr/{InsightsPageHeader-ueG4Pkov.mjs → InsightsPageHeader-Cpfe3N74.mjs} +6 -6
  17. package/.output/server/_ssr/{NotFoundPage-BES4AfvN.mjs → NotFoundPage-DZVJdjfb.mjs} +2 -2
  18. package/.output/server/_ssr/{RolloutPercentageBadge-Bkl0uDbV.mjs → RolloutPercentageBadge-D5cg9FC7.mjs} +3 -3
  19. package/.output/server/_ssr/{StoreSubmission-0TLWxjym.mjs → StoreSubmission-DVr58WKm.mjs} +5 -5
  20. package/.output/server/_ssr/{alert-dialog-Cn0L__fU.mjs → alert-dialog-CnEvXwFO.mjs} +1 -1
  21. package/.output/server/_ssr/{api-qUMT9H2M.mjs → api-BrkiPYff.mjs} +3 -3
  22. package/.output/server/_ssr/{api-keys-Dt6_6uWi.mjs → api-keys-B0gWgJ1z.mjs} +8 -8
  23. package/.output/server/_ssr/{api-keys-DgiwJvLW.mjs → api-keys-DZIeUKDy.mjs} +2 -2
  24. package/.output/server/_ssr/{api-keys-rpc-BqbL9Iyl.mjs → api-keys-rpc-BExzs1qj.mjs} +3 -3
  25. package/.output/server/_ssr/{api-rpc-CzZPviuV.mjs → api-rpc-Bp6d62Jh.mjs} +3 -3
  26. package/.output/server/_ssr/{auth-rpc-CPZyE2Rz.mjs → auth-rpc-Bjf1L5Ff.mjs} +4 -4
  27. package/.output/server/_ssr/{auth.server-C2hyK1tQ.mjs → auth.server-CfBpqOaJ.mjs} +2 -2
  28. package/.output/server/_ssr/{badge-C4HK6j63.mjs → badge-ldxZp5-5.mjs} +1 -1
  29. package/.output/server/_ssr/{config.server-CwjEf3S5.mjs → config.server-CLxGGSJG.mjs} +3 -3
  30. package/.output/server/_ssr/{console-access-B2mUKj3_.mjs → console-access-Cpzb2uTH.mjs} +2 -2
  31. package/.output/server/_ssr/{console-features-api-X8ItTwxM.mjs → console-features-api-BTeS0zof.mjs} +5 -5
  32. package/.output/server/_ssr/{console-features-rpc-BRTvGLBV.mjs → console-features-rpc-Cf6Nm0Tm.mjs} +3 -3
  33. package/.output/server/_ssr/{dialog-L9IrT3sY.mjs → dialog-n7lSfirt.mjs} +1 -1
  34. package/.output/server/_ssr/{empty-CkTC2uZd.mjs → empty-yUHeIvWw.mjs} +2 -2
  35. package/.output/server/_ssr/{field-W7Ikmzjb.mjs → field-DI4GVjB2.mjs} +2 -2
  36. package/.output/server/_ssr/{input-group-BFnD9l_p.mjs → input-group-D2NsIUQe.mjs} +1 -1
  37. package/.output/server/_ssr/{insights-api-Cuz8lmZx.mjs → insights-api-dRPjuTC6.mjs} +3 -3
  38. package/.output/server/_ssr/{insights-failures-rpc-CxI071Ew.mjs → insights-failures-rpc-B3sIkMZL.mjs} +4 -4
  39. package/.output/server/_ssr/{insights-CtPYme4Q.mjs → insights-hQsGvChW.mjs} +19 -19
  40. package/.output/server/_ssr/{insights-Dz42GlcZ.mjs → insights-pDzs-nig.mjs} +2 -2
  41. package/.output/server/_ssr/{insights-recovery-rpc-B-9bs9Gz.mjs → insights-recovery-rpc-BEKMGqnd.mjs} +3 -3
  42. package/.output/server/_ssr/{insights-rpc-5NfC16-Q.mjs → insights-rpc-4Ua-Rrkb.mjs} +3 -3
  43. package/.output/server/_ssr/{insights-search-CtQj0m7f.mjs → insights-search-B46dHNwI.mjs} +2 -2
  44. package/.output/server/_ssr/{insights-usage-rpc-CFWx4_pK.mjs → insights-usage-rpc-C1Kd9bIa.mjs} +3 -3
  45. package/.output/server/_ssr/{insights-usage-rpc-Qnyviyah.mjs → insights-usage-rpc-vSM27rBC.mjs} +3 -3
  46. package/.output/server/_ssr/{insights-C9KDOFcN.mjs → insights-y7OKDFkt.mjs} +5 -5
  47. package/.output/server/_ssr/{insights_.distribution-CXItWbX1.mjs → insights_.distribution-COe2wJ5u.mjs} +13 -13
  48. package/.output/server/_ssr/{insights_.distribution-BamrEztu.mjs → insights_.distribution-Dhzmd8Nc.mjs} +5 -5
  49. package/.output/server/_ssr/{insights_.distribution-Czd0Jtle.mjs → insights_.distribution-y-zG-kBD.mjs} +2 -2
  50. package/.output/server/_ssr/{installations-BaHA_zCp.mjs → installations-Bi9QnC2R.mjs} +2 -2
  51. package/.output/server/_ssr/{installations-Q6t6CEZ8.mjs → installations-CoY4Usdk.mjs} +11 -11
  52. package/.output/server/_ssr/{installations-Dy8zAJI_.mjs → installations-CtcBn-oO.mjs} +4 -4
  53. package/.output/server/_ssr/{native-builds-BWTUWJUF.mjs → native-builds-CNY5cOzi.mjs} +2 -2
  54. package/.output/server/_ssr/{native-builds-Cuw87Y51.mjs → native-builds-CY_3E2YI.mjs} +24 -83
  55. package/.output/server/_ssr/{native-builds_._buildId-Dr3Mc32p.mjs → native-builds_._buildId-BwqRJrtG.mjs} +2 -2
  56. package/.output/server/_ssr/{native-builds_._buildId-CbhHK93c.mjs → native-builds_._buildId-DBFNbZbW.mjs} +50 -26
  57. package/.output/server/_ssr/{release-adoption-rpc-BHxQWHWw.mjs → release-adoption-rpc-DTGL6Iq8.mjs} +5 -5
  58. package/.output/server/_ssr/{remote-config-Bmh0t1FQ.mjs → remote-config-BMBuTQ8-.mjs} +17 -17
  59. package/.output/server/_ssr/{remote-config-DWlhe-Nu.mjs → remote-config-BS7gD-T2.mjs} +2 -2
  60. package/.output/server/_ssr/{remote-config-CrVQfJ9y.mjs → remote-config-BkRETRdL.mjs} +2 -2
  61. package/.output/server/_ssr/{remote-config-rpc-BYJbiG9k.mjs → remote-config-rpc-iaISfgVV.mjs} +3 -3
  62. package/.output/server/_ssr/{router-Bg_TI2qP.mjs → router-CskHODBx.mjs} +54 -32
  63. package/.output/server/_ssr/{routes-Do9CHvbC.mjs → routes-Cc0tMcVR.mjs} +17 -17
  64. package/.output/server/_ssr/{routes-fs827NQ-.mjs → routes-OvkN78Fv.mjs} +10 -10
  65. package/.output/server/_ssr/{schema-migration-rpc-vH6ZlJgo.mjs → schema-migration-rpc-BM0ONBoH.mjs} +3 -3
  66. package/.output/server/_ssr/{select-BoRQ8ytA.mjs → select-Wr3C9fFR.mjs} +1 -1
  67. package/.output/server/_ssr/{server-DtM4lJ0t.mjs → server-B6NM23G9.mjs} +3 -3
  68. package/.output/server/_ssr/{sidebar-D1AgCVIN.mjs → sidebar-DLSnkI8V.mjs} +2 -2
  69. package/.output/server/_ssr/ssr.mjs +1 -1
  70. package/.output/server/_ssr/{switch-CY0ZEeD2.mjs → switch-A-ACWcS7.mjs} +2 -2
  71. package/.output/server/_ssr/{table-ClsVe-Mz.mjs → table-BIKD-aZQ.mjs} +1 -1
  72. package/.output/server/_ssr/{tabs-BJacHKeX.mjs → tabs-DRHoxI4L.mjs} +2 -2
  73. package/.output/server/{_tanstack-start-manifest_v-CF4kCd6q.mjs → _tanstack-start-manifest_v-uhJWytDm.mjs} +9 -9
  74. package/.output/server/index.mjs +138 -138
  75. package/package.json +7 -7
  76. package/src/components/ConsoleAccessPage.tsx +36 -6
  77. package/src/components/features/native-builds/CopyableText.tsx +5 -2
  78. package/src/components/features/native-builds/ImportBuild.tsx +7 -31
  79. package/src/components/features/native-builds/InstallCard.tsx +47 -24
  80. package/src/components/features/native-builds/NativeBuildsTable.tsx +4 -6
  81. package/src/routes/api/native-builds/$buildId/download.ts +9 -4
  82. package/.output/public/assets/StoreSubmission-JpngSvHS.js +0 -1
  83. package/.output/public/assets/native-builds-BswZazmc.js +0 -1
  84. package/.output/public/assets/native-builds_._buildId-BRiNTN3j.js +0 -1
@@ -1,10 +1,10 @@
1
- import { n as consoleFeatures } from "./console-features-BTV-XuhQ.mjs";
2
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
3
- import { A as createSsrRpc } from "./sidebar-D1AgCVIN.mjs";
4
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
5
- import { v as notFound } from "../_libs/@tanstack/react-router+[...].mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
+ import { A as createSsrRpc } from "./sidebar-DLSnkI8V.mjs";
6
4
  import { i as useQuery, r as queryOptions } from "../_libs/tanstack__react-query.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/console-features-api-X8ItTwxM.js
5
+ import { n as consoleFeatures } from "./console-features-BTV-XuhQ.mjs";
6
+ import { v as notFound } from "../_libs/@tanstack/react-router+[...].mjs";
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/console-features-api-BTeS0zof.js
8
8
  /** The features this console serves, for navigation and route guards. */
9
9
  var getConsoleFeaturesRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(createSsrRpc("82ec3500e57f9e81dac6d3f3a7bd9e34915da3121429beec87b7ad153dc6eafe"));
10
10
  var consoleFeaturesQueryKey = ["console", "features"];
@@ -1,14 +1,14 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-BVvRVOz5.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/console-features-rpc-BRTvGLBV.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/console-features-rpc-Cf6Nm0Tm.js
5
5
  var getConsoleFeaturesRpc_createServerFn_handler = createServerRpc({
6
6
  id: "82ec3500e57f9e81dac6d3f3a7bd9e34915da3121429beec87b7ad153dc6eafe",
7
7
  name: "getConsoleFeaturesRpc",
8
8
  filename: "src/lib/console-features-rpc.ts"
9
9
  }, (opts) => getConsoleFeaturesRpc.__executeServer(opts));
10
10
  var getConsoleFeaturesRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(getConsoleFeaturesRpc_createServerFn_handler, async () => {
11
- const { prepareConfig } = await import("./config.server-CwjEf3S5.mjs");
11
+ const { prepareConfig } = await import("./config.server-CLxGGSJG.mjs");
12
12
  const { runtime } = await prepareConfig();
13
13
  return {
14
14
  features: await runtime.features(),
@@ -1,7 +1,7 @@
1
1
  import "../_runtime.mjs";
2
2
  import { $ as DialogTitle$1, Q as DialogTrigger$1, at as DialogBackdrop, bt as require_react, et as DialogRoot, it as DialogClose, nt as DialogPopup, rt as DialogDescription$1, tt as DialogPortal$1, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { t as X } from "../_libs/lucide-react.mjs";
4
- import { k as cn, t as Button$1 } from "./sidebar-D1AgCVIN.mjs";
4
+ import { k as cn, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
5
5
  require_react();
6
6
  var import_jsx_runtime = require_jsx_runtime();
7
7
  function Dialog$1({ ...props }) {
@@ -1,7 +1,7 @@
1
1
  import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
2
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
3
- import { k as cn } from "./sidebar-D1AgCVIN.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/empty-CkTC2uZd.js
3
+ import { k as cn } from "./sidebar-DLSnkI8V.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/empty-yUHeIvWw.js
5
5
  var import_jsx_runtime = require_jsx_runtime();
6
6
  function Empty({ className, ...props }) {
7
7
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
@@ -1,8 +1,8 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
4
- import { k as cn } from "./sidebar-D1AgCVIN.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/field-W7Ikmzjb.js
4
+ import { k as cn } from "./sidebar-DLSnkI8V.mjs";
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/field-DI4GVjB2.js
6
6
  var import_react = /* @__PURE__ */ __toESM(require_react());
7
7
  var import_jsx_runtime = require_jsx_runtime();
8
8
  function Label({ className, htmlFor, ...props }) {
@@ -1,7 +1,7 @@
1
1
  import "../_runtime.mjs";
2
2
  import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
4
- import { k as cn, n as Input, t as Button$1 } from "./sidebar-D1AgCVIN.mjs";
4
+ import { k as cn, n as Input, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
5
5
  require_react();
6
6
  var import_jsx_runtime = require_jsx_runtime();
7
7
  function Textarea({ className, ...props }) {
@@ -1,10 +1,10 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
- import { A as createSsrRpc } from "./sidebar-D1AgCVIN.mjs";
3
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
+ import { A as createSsrRpc } from "./sidebar-DLSnkI8V.mjs";
4
4
  import { i as useQuery, t as useInfiniteQuery } from "../_libs/tanstack__react-query.mjs";
5
5
  import { c as readUpdateFailuresInput } from "./insights-failures-B9VPkzZE.mjs";
6
6
  import { n as readFailureReportsInput } from "./insights-errors-7BCwFybo.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-api-Cuz8lmZx.js
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-api-dRPjuTC6.js
8
8
  var getUpdateFailuresRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readUpdateFailuresInput).handler(createSsrRpc("0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97"));
9
9
  var listFailureReportsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readFailureReportsInput).handler(createSsrRpc("b4388826a9b515fb4d2113270aa8ded1c50ba13d7f07ac2b268c41396e87d0a3"));
10
10
  /** `insights()`'s defaults, for a server that does not report its periods. */
@@ -1,9 +1,9 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-BVvRVOz5.mjs";
4
4
  import { c as readUpdateFailuresInput } from "./insights-failures-B9VPkzZE.mjs";
5
5
  import { n as readFailureReportsInput } from "./insights-errors-7BCwFybo.mjs";
6
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-failures-rpc-CxI071Ew.js
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-failures-rpc-B3sIkMZL.js
7
7
  var getUpdateFailuresRpc_createServerFn_handler = createServerRpc({
8
8
  id: "0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97",
9
9
  name: "getUpdateFailuresRpc",
@@ -11,7 +11,7 @@ var getUpdateFailuresRpc_createServerFn_handler = createServerRpc({
11
11
  }, (opts) => getUpdateFailuresRpc.__executeServer(opts));
12
12
  var getUpdateFailuresRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readUpdateFailuresInput).handler(getUpdateFailuresRpc_createServerFn_handler, async ({ data }) => {
13
13
  const [{ prepareConfig }, { getUpdateFailuresReport }, { requireFeature }] = await Promise.all([
14
- import("./config.server-CwjEf3S5.mjs"),
14
+ import("./config.server-CLxGGSJG.mjs"),
15
15
  import("./updateFailures-n-tGv90S.mjs"),
16
16
  import("./runtime.server-BdMY1blX.mjs")
17
17
  ]);
@@ -25,7 +25,7 @@ var listFailureReportsRpc_createServerFn_handler = createServerRpc({
25
25
  }, (opts) => listFailureReportsRpc.__executeServer(opts));
26
26
  var listFailureReportsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readFailureReportsInput).handler(listFailureReportsRpc_createServerFn_handler, async ({ data }) => {
27
27
  const [{ prepareConfig }, { listFailureReports }, { requireFeature }] = await Promise.all([
28
- import("./config.server-CwjEf3S5.mjs"),
28
+ import("./config.server-CLxGGSJG.mjs"),
29
29
  import("./failureReports-Cn_zU9S8.mjs"),
30
30
  import("./runtime.server-BdMY1blX.mjs")
31
31
  ]);
@@ -1,36 +1,36 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
3
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
4
  import { C as ComboboxTrigger$1, D as ScrollAreaViewport, E as ScrollAreaScrollbar, O as ScrollAreaRoot, S as ComboboxInput$1, T as ScrollAreaThumb, _ as ComboboxPositioner, b as ComboboxCollection$1, bt as require_react, d as ComboboxRoot, f as ComboboxEmpty$1, g as ComboboxPopup, h as ComboboxGroup$1, m as ComboboxGroupLabel, p as ComboboxItem$1, u as ComboboxItemIndicator, v as ComboboxPortal, w as ScrollAreaCorner, x as ComboboxClear$1, y as ComboboxList$1, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
4
5
  import { O as List, U as CircleOff, V as Copy, X as Check, Y as ChevronDown, _ as RefreshCw, g as RotateCcw, h as RotateCw, i as TriangleAlert, nt as ArrowRight, q as ChevronRight, r as Undo2, t as X, tt as ArrowUpRight } from "../_libs/lucide-react.mjs";
5
- import { A as createSsrRpc, C as Skeleton, O as buttonVariants, a as SheetContent, c as SheetTitle, i as Sheet, k as cn, l as SheetTrigger, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button$1 } from "./sidebar-D1AgCVIN.mjs";
6
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
7
- import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
6
+ import { A as createSsrRpc, C as Skeleton, O as buttonVariants, a as SheetContent, c as SheetTitle, i as Sheet, k as cn, l as SheetTrigger, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
7
+ import { a as Badge, c as CardDescription, d as CardTitle, i as AlertTitle, l as CardFooter, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-ldxZp5-5.mjs";
8
+ import { a as AlertDialogDescription, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1 } from "./alert-dialog-CnEvXwFO.mjs";
9
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-BIKD-aZQ.mjs";
8
10
  import { a as useQueries, i as useQuery, s as useQueryClient } from "../_libs/tanstack__react-query.mjs";
9
- import { i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-CkTC2uZd.mjs";
10
- import { a as Badge, c as CardDescription, d as CardTitle, i as AlertTitle, l as CardFooter, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-C4HK6j63.mjs";
11
- import { a as AlertDialogDescription, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1 } from "./alert-dialog-Cn0L__fU.mjs";
12
- import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-ClsVe-Mz.mjs";
13
11
  import { n as toast } from "../_libs/sonner.mjs";
12
+ import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
13
+ import { i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-yUHeIvWw.mjs";
14
14
  import { w as isUUIDv7 } from "./dist-TEpM_UAD.mjs";
15
15
  import { r as recoveryWindows, t as insightsPeriodEnd } from "./insights-recovery-BtXVU3ro.mjs";
16
16
  import { a as failureReasonLabel, i as failureRate, o as failureStageLabel, r as failureDetailParts, s as formatRate, t as checkFailureRate } from "./insights-failures-B9VPkzZE.mjs";
17
17
  import { t as groupFailureReports } from "./insights-errors-7BCwFybo.mjs";
18
18
  import { n as usageMetrics } from "./insights-usage-DiGnuxW8.mjs";
19
19
  import { a as readAdoptionReleasesInput, i as readAdoptionReleaseInput, n as crashRateOf, o as readBundleEventsInput, r as defaultAdoptionReleases, s as recommendsRollback, t as CRASH_RATE_THRESHOLD } from "./release-adoption-DoAtNPED.mjs";
20
- import { i as comparedBundleIds, n as InfoTooltip, t as DEFAULT_INSIGHTS_CHANNEL } from "./insights-search-CtQj0m7f.mjs";
21
- import { i as useFailureReportsQuery, l as useInsightsRetention, r as keepsTwelveMonths, t as DEFAULT_INSIGHTS_RETENTION, u as useUpdateFailuresQuery } from "./insights-api-Cuz8lmZx.mjs";
22
- import { t as Route } from "./insights-C9KDOFcN.mjs";
23
- import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs$1 } from "./tabs-BJacHKeX.mjs";
20
+ import { i as comparedBundleIds, n as InfoTooltip, t as DEFAULT_INSIGHTS_CHANNEL } from "./insights-search-B46dHNwI.mjs";
21
+ import { i as useFailureReportsQuery, l as useInsightsRetention, r as keepsTwelveMonths, t as DEFAULT_INSIGHTS_RETENTION, u as useUpdateFailuresQuery } from "./insights-api-dRPjuTC6.mjs";
22
+ import { t as Route } from "./insights-y7OKDFkt.mjs";
23
+ import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs$1 } from "./tabs-DRHoxI4L.mjs";
24
24
  import { t as PlatformIcon } from "./PlatformIcon-CFLiTjh1.mjs";
25
- import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-BFnD9l_p.mjs";
26
- import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-BoRQ8ytA.mjs";
27
- import { i as useChannelsQuery, p as usePreflightReleaseMutation, y as useUpdateReleaseMutation } from "./api-qUMT9H2M.mjs";
28
- import { t as BundleIdDisplay } from "./BundleIdDisplay-C2YJNpHa.mjs";
29
- import { n as getAppUsageReportRpc, t as Progress$1 } from "./insights-usage-rpc-Qnyviyah.mjs";
30
- import { i as InsightsPeriodSelector, n as InsightsErrorAlert, o as UsagePeriodSelector, r as InsightsPageHeader } from "./InsightsPageHeader-ueG4Pkov.mjs";
31
- import { i as HttpResponseBody, n as EventTimestamp, o as useInsightsTimeFormat, t as EventBundleTransition } from "./EventDetails-CTvni55k.mjs";
25
+ import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-D2NsIUQe.mjs";
26
+ import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-Wr3C9fFR.mjs";
27
+ import { i as useChannelsQuery, p as usePreflightReleaseMutation, y as useUpdateReleaseMutation } from "./api-BrkiPYff.mjs";
28
+ import { t as BundleIdDisplay } from "./BundleIdDisplay-DwXVKZD1.mjs";
29
+ import { n as getAppUsageReportRpc, t as Progress$1 } from "./insights-usage-rpc-vSM27rBC.mjs";
30
+ import { i as InsightsPeriodSelector, n as InsightsErrorAlert, o as UsagePeriodSelector, r as InsightsPageHeader } from "./InsightsPageHeader-Cpfe3N74.mjs";
31
+ import { i as HttpResponseBody, n as EventTimestamp, o as useInsightsTimeFormat, t as EventBundleTransition } from "./EventDetails-DLmuxP2p.mjs";
32
32
  import { a as CartesianGrid, i as Line, l as ResponsiveContainer, n as YAxis, o as ReferenceLine, r as XAxis, s as Tooltip, t as LineChart } from "../_libs/recharts+[...].mjs";
33
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-CtPYme4Q.js
33
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-hQsGvChW.js
34
34
  var import_react = /* @__PURE__ */ __toESM(require_react());
35
35
  var import_jsx_runtime = require_jsx_runtime();
36
36
  var THEMES = {
@@ -1,5 +1,5 @@
1
- import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-Co4rDns4.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-Dz42GlcZ.js
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-a0YZjfJt.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-pDzs-nig.js
3
3
  var SplitNotFoundComponent = ConsoleFeatureUnavailable;
4
4
  //#endregion
5
5
  export { SplitNotFoundComponent as notFoundComponent };
@@ -1,8 +1,8 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-BVvRVOz5.mjs";
4
4
  import { n as readRecoveryInput } from "./insights-recovery-BtXVU3ro.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-rpc-B-9bs9Gz.js
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-rpc-BEKMGqnd.js
6
6
  function readBundleActivityInput(inputs) {
7
7
  if (!Array.isArray(inputs) || inputs.length > 20) throw new Error("Choose up to 20 bundles.");
8
8
  return inputs.map((input) => {
@@ -21,7 +21,7 @@ var getBundleActivityRpc_createServerFn_handler = createServerRpc({
21
21
  }, (opts) => getBundleActivityRpc.__executeServer(opts));
22
22
  var getBundleActivityRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readBundleActivityInput).handler(getBundleActivityRpc_createServerFn_handler, async ({ data }) => {
23
23
  const [{ prepareConfig }, { getBundleActivity }, { requireFeature }] = await Promise.all([
24
- import("./config.server-CwjEf3S5.mjs"),
24
+ import("./config.server-CLxGGSJG.mjs"),
25
25
  import("./bundleActivity-MLrjNJCT.mjs"),
26
26
  import("./runtime.server-BdMY1blX.mjs")
27
27
  ]);
@@ -1,10 +1,10 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-BVvRVOz5.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-rpc-5NfC16-Q.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-rpc-4Ua-Rrkb.js
5
5
  /** The Insights reads, once the console's access check and the feature guard pass. */
6
6
  var insightsReads = async () => {
7
- const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-CwjEf3S5.mjs"), import("./runtime.server-BdMY1blX.mjs")]);
7
+ const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-CLxGGSJG.mjs"), import("./runtime.server-BdMY1blX.mjs")]);
8
8
  const { runtime } = await prepareConfig();
9
9
  return requireFeature(runtime, "insights");
10
10
  };
@@ -1,10 +1,10 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { A as Info } from "../_libs/lucide-react.mjs";
4
- import { D as TooltipTrigger, T as TooltipContent, t as Button$1, w as Tooltip$1 } from "./sidebar-D1AgCVIN.mjs";
4
+ import { D as TooltipTrigger, T as TooltipContent, t as Button$1, w as Tooltip$1 } from "./sidebar-DLSnkI8V.mjs";
5
5
  import { w as isUUIDv7 } from "./dist-TEpM_UAD.mjs";
6
6
  import { r as extractTimestampFromUUIDv7 } from "./uuidv7-BIF4nb_q.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-search-CtQj0m7f.js
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-search-B46dHNwI.js
8
8
  var import_react = /* @__PURE__ */ __toESM(require_react());
9
9
  var import_jsx_runtime = require_jsx_runtime();
10
10
  function InfoTooltip({ label, children }) {
@@ -1,8 +1,8 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-BVvRVOz5.mjs";
4
4
  import { t as readAppUsageInput } from "./insights-usage-DiGnuxW8.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-CFWx4_pK.js
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-C1Kd9bIa.js
6
6
  var getAppUsageReportRpc_createServerFn_handler = createServerRpc({
7
7
  id: "8a98cd9c178e4a54185d62c25a95f09d3d59850c43d3f5baa1563e1614ad942e",
8
8
  name: "getAppUsageReportRpc",
@@ -18,7 +18,7 @@ var getAppUsageReportRpc = createServerFn({ method: "GET" }).middleware([console
18
18
  };
19
19
  }).handler(getAppUsageReportRpc_createServerFn_handler, async ({ data }) => {
20
20
  const [{ prepareConfig }, { getAppUsageReport }, { requireFeature }] = await Promise.all([
21
- import("./config.server-CwjEf3S5.mjs"),
21
+ import("./config.server-CLxGGSJG.mjs"),
22
22
  import("./insightsUsage-ClAmoUz8.mjs"),
23
23
  import("./runtime.server-BdMY1blX.mjs")
24
24
  ]);
@@ -1,9 +1,9 @@
1
1
  import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
2
+ import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
2
3
  import { A as ProgressTrack$1, j as ProgressRoot, k as ProgressIndicator$1, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
- import { A as createSsrRpc, k as cn } from "./sidebar-D1AgCVIN.mjs";
4
- import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
4
+ import { A as createSsrRpc, k as cn } from "./sidebar-DLSnkI8V.mjs";
5
5
  import { t as readAppUsageInput } from "./insights-usage-DiGnuxW8.mjs";
6
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-Qnyviyah.js
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-vSM27rBC.js
7
7
  var import_jsx_runtime = require_jsx_runtime();
8
8
  function Progress$1({ className, children, value, ...props }) {
9
9
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ProgressRoot, {
@@ -1,9 +1,9 @@
1
1
  import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
- import { r as requireConsoleFeature } from "./console-features-api-X8ItTwxM.mjs";
3
- import { o as validateInsightsSearch } from "./insights-search-CtQj0m7f.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-C9KDOFcN.js
5
- var $$splitComponentImporter = () => import("./insights-CtPYme4Q.mjs");
6
- var $$splitNotFoundComponentImporter = () => import("./insights-Dz42GlcZ.mjs");
2
+ import { r as requireConsoleFeature } from "./console-features-api-BTeS0zof.mjs";
3
+ import { o as validateInsightsSearch } from "./insights-search-B46dHNwI.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-y7OKDFkt.js
5
+ var $$splitComponentImporter = () => import("./insights-hQsGvChW.mjs");
6
+ var $$splitNotFoundComponentImporter = () => import("./insights-pDzs-nig.mjs");
7
7
  var Route = createFileRoute("/insights")({
8
8
  beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "insightsAnalytics"),
9
9
  notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
@@ -1,20 +1,20 @@
1
1
  import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
2
  import { h as RotateCw, it as ArrowLeft, tt as ArrowUpRight } from "../_libs/lucide-react.mjs";
3
- import { C as Skeleton, O as buttonVariants, t as Button$1 } from "./sidebar-D1AgCVIN.mjs";
4
- import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
3
+ import { C as Skeleton, O as buttonVariants, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
4
+ import { a as Badge, d as CardTitle, i as AlertTitle, l as CardFooter, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-ldxZp5-5.mjs";
5
+ import { a as FieldLabel, t as Field } from "./field-DI4GVjB2.mjs";
5
6
  import { i as useQuery } from "../_libs/tanstack__react-query.mjs";
6
- import { i as EmptyHeader, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-CkTC2uZd.mjs";
7
- import { a as Badge, d as CardTitle, i as AlertTitle, l as CardFooter, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-C4HK6j63.mjs";
8
- import { a as FieldLabel, t as Field } from "./field-W7Ikmzjb.mjs";
9
- import { n as InfoTooltip, o as validateInsightsSearch } from "./insights-search-CtQj0m7f.mjs";
10
- import { l as useInsightsRetention, r as keepsTwelveMonths } from "./insights-api-Cuz8lmZx.mjs";
7
+ import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
8
+ import { i as EmptyHeader, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-yUHeIvWw.mjs";
9
+ import { n as InfoTooltip, o as validateInsightsSearch } from "./insights-search-B46dHNwI.mjs";
10
+ import { l as useInsightsRetention, r as keepsTwelveMonths } from "./insights-api-dRPjuTC6.mjs";
11
11
  import { t as PlatformIcon } from "./PlatformIcon-CFLiTjh1.mjs";
12
- import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-BoRQ8ytA.mjs";
13
- import { t as BundleIdDisplay } from "./BundleIdDisplay-C2YJNpHa.mjs";
14
- import { n as getAppUsageReportRpc, t as Progress$1 } from "./insights-usage-rpc-Qnyviyah.mjs";
15
- import { n as InsightsErrorAlert, o as UsagePeriodSelector, r as InsightsPageHeader, t as BuiltinBundleBadge } from "./InsightsPageHeader-ueG4Pkov.mjs";
16
- import { t as Route } from "./insights_.distribution-BamrEztu.mjs";
17
- //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-CXItWbX1.js
12
+ import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-Wr3C9fFR.mjs";
13
+ import { t as BundleIdDisplay } from "./BundleIdDisplay-DwXVKZD1.mjs";
14
+ import { n as getAppUsageReportRpc, t as Progress$1 } from "./insights-usage-rpc-vSM27rBC.mjs";
15
+ import { n as InsightsErrorAlert, o as UsagePeriodSelector, r as InsightsPageHeader, t as BuiltinBundleBadge } from "./InsightsPageHeader-Cpfe3N74.mjs";
16
+ import { t as Route } from "./insights_.distribution-Dhzmd8Nc.mjs";
17
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-COe2wJ5u.js
18
18
  var import_jsx_runtime = require_jsx_runtime();
19
19
  var PAGE_SIZE = 20;
20
20
  var dates = new Intl.DateTimeFormat("en", {
@@ -1,9 +1,9 @@
1
1
  import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
- import { r as requireConsoleFeature } from "./console-features-api-X8ItTwxM.mjs";
3
- import { a as validateDistributionSearch } from "./insights-search-CtQj0m7f.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-BamrEztu.js
5
- var $$splitComponentImporter = () => import("./insights_.distribution-CXItWbX1.mjs");
6
- var $$splitNotFoundComponentImporter = () => import("./insights_.distribution-Czd0Jtle.mjs");
2
+ import { r as requireConsoleFeature } from "./console-features-api-BTeS0zof.mjs";
3
+ import { a as validateDistributionSearch } from "./insights-search-B46dHNwI.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-Dhzmd8Nc.js
5
+ var $$splitComponentImporter = () => import("./insights_.distribution-COe2wJ5u.mjs");
6
+ var $$splitNotFoundComponentImporter = () => import("./insights_.distribution-y-zG-kBD.mjs");
7
7
  /** How a distribution row's bundle reads aloud. */
8
8
  /** The bundle an app version's native build shipped, by its ID. */
9
9
  var Route = createFileRoute("/insights_/distribution")({
@@ -1,5 +1,5 @@
1
- import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-Co4rDns4.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-Czd0Jtle.js
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-a0YZjfJt.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-y-zG-kBD.js
3
3
  /** How a distribution row's bundle reads aloud. */
4
4
  /** The bundle an app version's native build shipped, by its ID. */
5
5
  var SplitNotFoundComponent = ConsoleFeatureUnavailable;
@@ -1,5 +1,5 @@
1
- import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-Co4rDns4.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/installations-BaHA_zCp.js
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-a0YZjfJt.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/installations-Bi9QnC2R.js
3
3
  var SplitNotFoundComponent = ConsoleFeatureUnavailable;
4
4
  //#endregion
5
5
  export { SplitNotFoundComponent as notFoundComponent };
@@ -1,18 +1,18 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { X as Check, Y as ChevronDown, _ as RefreshCw, it as ArrowLeft, m as Search, t as X, tt as ArrowUpRight } from "../_libs/lucide-react.mjs";
4
- import { C as Skeleton, O as buttonVariants, k as cn, r as Separator$1, t as Button$1 } from "./sidebar-D1AgCVIN.mjs";
4
+ import { C as Skeleton, O as buttonVariants, k as cn, r as Separator$1, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
5
+ import { c as CardDescription, d as CardTitle, o as Card, s as CardContent, u as CardHeader } from "./badge-ldxZp5-5.mjs";
6
+ import { a as FieldLabel, t as Field } from "./field-DI4GVjB2.mjs";
7
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-BIKD-aZQ.mjs";
5
8
  import { c as useElementScrollRestoration, h as Link, o as useLocation } from "../_libs/@tanstack/react-router+[...].mjs";
6
- import { c as CardDescription, d as CardTitle, o as Card, s as CardContent, u as CardHeader } from "./badge-C4HK6j63.mjs";
7
- import { a as FieldLabel, t as Field } from "./field-W7Ikmzjb.mjs";
8
- import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-ClsVe-Mz.mjs";
9
- import { a as useInsightsEventsQuery, c as useInsightsInstallationsQuery, l as useInsightsRetention, n as formatDays, o as useInsightsInstallationEventsQuery, s as useInsightsInstallationQuery, t as DEFAULT_INSIGHTS_RETENTION } from "./insights-api-Cuz8lmZx.mjs";
10
- import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-BFnD9l_p.mjs";
11
- import { a as PeriodSelector, n as InsightsErrorAlert, r as InsightsPageHeader, s as isBuiltinBundle, t as BuiltinBundleBadge } from "./InsightsPageHeader-ueG4Pkov.mjs";
12
- import { n as shortenIdentifier, t as HashValueDisplay } from "./HashValueDisplay-BBswr65a.mjs";
13
- import { a as HttpResponseDetails, n as EventTimestamp, o as useInsightsTimeFormat, r as EventTypeDetails, t as EventBundleTransition } from "./EventDetails-CTvni55k.mjs";
14
- import { a as installationsScrollRestorationKey, i as eventRanges, n as Route, o as widerEventRange, r as eventRangeBounds, t as EVENT_RANGES } from "./installations-Dy8zAJI_.mjs";
15
- //#region node_modules/.nitro/vite/services/ssr/assets/installations-Q6t6CEZ8.js
9
+ import { a as useInsightsEventsQuery, c as useInsightsInstallationsQuery, l as useInsightsRetention, n as formatDays, o as useInsightsInstallationEventsQuery, s as useInsightsInstallationQuery, t as DEFAULT_INSIGHTS_RETENTION } from "./insights-api-dRPjuTC6.mjs";
10
+ import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-D2NsIUQe.mjs";
11
+ import { a as PeriodSelector, n as InsightsErrorAlert, r as InsightsPageHeader, s as isBuiltinBundle, t as BuiltinBundleBadge } from "./InsightsPageHeader-Cpfe3N74.mjs";
12
+ import { n as shortenIdentifier, t as HashValueDisplay } from "./HashValueDisplay-BArRgHY9.mjs";
13
+ import { a as HttpResponseDetails, n as EventTimestamp, o as useInsightsTimeFormat, r as EventTypeDetails, t as EventBundleTransition } from "./EventDetails-DLmuxP2p.mjs";
14
+ import { a as installationsScrollRestorationKey, i as eventRanges, n as Route, o as widerEventRange, r as eventRangeBounds, t as EVENT_RANGES } from "./installations-CtcBn-oO.mjs";
15
+ //#region node_modules/.nitro/vite/services/ssr/assets/installations-CoY4Usdk.js
16
16
  var import_react = /* @__PURE__ */ __toESM(require_react());
17
17
  var import_jsx_runtime = require_jsx_runtime();
18
18
  function EventHistoryList({ events, formatter, renderIdentity }) {
@@ -1,6 +1,6 @@
1
1
  import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
- import { r as requireConsoleFeature } from "./console-features-api-X8ItTwxM.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/installations-Dy8zAJI_.js
2
+ import { r as requireConsoleFeature } from "./console-features-api-BTeS0zof.mjs";
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/installations-CtcBn-oO.js
4
4
  var DAY_MS = 864e5;
5
5
  /** The time ranges an event list reads, shortest first. */
6
6
  var eventRanges = {
@@ -56,8 +56,8 @@ function validateInstallationsSearch(search) {
56
56
  historyBefore: readTimestamp(search.historyBefore)
57
57
  };
58
58
  }
59
- var $$splitComponentImporter = () => import("./installations-Q6t6CEZ8.mjs");
60
- var $$splitNotFoundComponentImporter = () => import("./installations-BaHA_zCp.mjs");
59
+ var $$splitComponentImporter = () => import("./installations-CoY4Usdk.mjs");
60
+ var $$splitNotFoundComponentImporter = () => import("./installations-Bi9QnC2R.mjs");
61
61
  var Route = createFileRoute("/installations")({
62
62
  beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "insights"),
63
63
  notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
@@ -1,7 +1,7 @@
1
1
  import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
2
  import { n as validateNativeBuildsSearch } from "./-native-builds-search-CwNcoXf4.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/native-builds-BWTUWJUF.js
4
- var $$splitComponentImporter = () => import("./native-builds-Cuw87Y51.mjs");
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/native-builds-CNY5cOzi.js
4
+ var $$splitComponentImporter = () => import("./native-builds-CY_3E2YI.mjs");
5
5
  var Route = createFileRoute("/native-builds")({
6
6
  component: lazyRouteComponent($$splitComponentImporter, "component"),
7
7
  validateSearch: validateNativeBuildsSearch
@@ -1,92 +1,29 @@
1
1
  import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
2
  import { B as Download, J as ChevronLeft, L as FileUp, M as HardDrive, N as HardDriveDownload, _ as RefreshCw, i as TriangleAlert, q as ChevronRight, tt as ArrowUpRight } from "../_libs/lucide-react.mjs";
3
- import { C as Skeleton, O as buttonVariants, S as SidebarTrigger, t as Button$1 } from "./sidebar-D1AgCVIN.mjs";
3
+ import { C as Skeleton, O as buttonVariants, S as SidebarTrigger, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
4
+ import { a as Badge, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert } from "./badge-ldxZp5-5.mjs";
5
+ import { a as DialogHeader, n as DialogContent, o as DialogTitle, r as DialogDescription, s as DialogTrigger, t as Dialog$1 } from "./dialog-n7lSfirt.mjs";
6
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-BIKD-aZQ.mjs";
4
7
  import { g as useNavigate, h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
5
- import { a as Badge, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert } from "./badge-C4HK6j63.mjs";
6
- import { a as DialogHeader, n as DialogContent, o as DialogTitle, r as DialogDescription, s as DialogTrigger, t as Dialog$1 } from "./dialog-L9IrT3sY.mjs";
7
- import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-ClsVe-Mz.mjs";
8
8
  import { c as nativeBuildFileName, d as platformLabel, i as nativeBuildArtifacts, o as nativeBuildChannel, r as formatByteSize, s as nativeBuildDownloadPath, u as nativeBuildTarget } from "./native-builds-DhXL5zf_.mjs";
9
9
  import { t as PlatformIcon } from "./PlatformIcon-CFLiTjh1.mjs";
10
- import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-BoRQ8ytA.mjs";
11
- import { f as useNativeBuildsQuery, i as useChannelsQuery } from "./api-qUMT9H2M.mjs";
12
- import { t as Route } from "./native-builds-BWTUWJUF.mjs";
10
+ import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-Wr3C9fFR.mjs";
11
+ import { f as useNativeBuildsQuery, i as useChannelsQuery } from "./api-BrkiPYff.mjs";
12
+ import { t as Route } from "./native-builds-CNY5cOzi.mjs";
13
13
  import { t as TimestampDisplay } from "./git-CTA8Aqr0.mjs";
14
- import { i as StoreSubmissionBadge, n as CopyableText, r as ShortHash, t as CommitLink } from "./StoreSubmission-0TLWxjym.mjs";
15
- //#region node_modules/.nitro/vite/services/ssr/assets/native-builds-Cuw87Y51.js
14
+ import { i as StoreSubmissionBadge, n as CopyableText, r as ShortHash, t as CommitLink } from "./StoreSubmission-DVr58WKm.mjs";
15
+ //#region node_modules/.nitro/vite/services/ssr/assets/native-builds-CY_3E2YI.js
16
16
  var import_jsx_runtime = require_jsx_runtime();
17
17
  /** The command that tracks a build made elsewhere. */
18
- var IMPORT_COMMAND = "npx hot-updater native-build import <path-to-.ipa|.aab|.apk|.app|.app.zip>";
18
+ var IMPORT_COMMAND = "npx hot-updater native-build import <file>";
19
19
  /** `native-build import`'s section of the native build guide. */
20
20
  var IMPORT_GUIDE_URL = "https://hot-updater.dev/docs/guides/native-build#import-a-build-made-elsewhere";
21
21
  /**
22
- * How to track a build made elsewhere: the CLI command, which reads the
23
- * artifact on the machine that has it. The Console uploads nothing, since a
24
- * host may cap a request's body far below an `.ipa`.
22
+ * The toolbar's "Import a build" button and the command it shows: the CLI
23
+ * reads the artifact on the machine that has it, so the Console uploads
24
+ * nothing, since a host may cap a request's body far below an `.ipa`. The
25
+ * guide has the rest, such as `--channel`.
25
26
  */
26
- function ImportBuildSteps() {
27
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
28
- className: "flex min-w-0 flex-col gap-2",
29
- children: [
30
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
31
- className: "text-xs text-muted-foreground",
32
- children: [
33
- "Track an ",
34
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
35
- className: "font-mono",
36
- children: ".ipa"
37
- }),
38
- ",",
39
- " ",
40
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
41
- className: "font-mono",
42
- children: ".aab"
43
- }),
44
- ",",
45
- " ",
46
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
47
- className: "font-mono",
48
- children: ".apk"
49
- }),
50
- " or simulator",
51
- " ",
52
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
53
- className: "font-mono",
54
- children: ".app"
55
- }),
56
- " (or its",
57
- " ",
58
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
59
- className: "font-mono",
60
- children: ".app.zip"
61
- }),
62
- ") built elsewhere, such as by EAS, Xcode Cloud or Fastlane, so the OTAs you deploy after it patch from its built-in bundle. Run in the app's project:"
63
- ]
64
- }),
65
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CopyableText, {
66
- label: "the import command",
67
- value: IMPORT_COMMAND,
68
- wrap: true
69
- }),
70
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
71
- className: "text-xs text-muted-foreground",
72
- children: [
73
- "Add ",
74
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
75
- className: "font-mono",
76
- children: "-c <channel>"
77
- }),
78
- " (",
79
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
80
- className: "font-mono",
81
- children: "--channel"
82
- }),
83
- ") when the app reports another channel than the one it was built with, such as one its code sets or switches to at runtime."
84
- ]
85
- })
86
- ]
87
- });
88
- }
89
- /** The toolbar's "Import a build" button and the command it shows. */
90
27
  function ImportBuildDialog() {
91
28
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Dialog$1, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogTrigger, {
92
29
  render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
@@ -102,8 +39,12 @@ function ImportBuildDialog() {
102
39
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogContent, {
103
40
  className: "sm:max-w-lg",
104
41
  children: [
105
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogHeader, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle, { children: "Import a build" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogDescription, { children: "The build appears here once the command tracks it." })] }),
106
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ImportBuildSteps, {}),
42
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogHeader, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle, { children: "Import a build" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogDescription, { children: "Track an .ipa, .aab, .apk or .app built elsewhere as a patch base." })] }),
43
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CopyableText, {
44
+ label: "the import command",
45
+ value: IMPORT_COMMAND,
46
+ wrap: true
47
+ }),
107
48
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("a", {
108
49
  className: buttonVariants({
109
50
  className: "min-h-11 w-full sm:min-h-8 sm:w-fit",
@@ -117,7 +58,7 @@ function ImportBuildDialog() {
117
58
  ]
118
59
  })] });
119
60
  }
120
- var NATIVE_BUILD_GUIDE_URL = "https://hot-updater.dev/docs/guides/native-build#register-a-build";
61
+ var NATIVE_BUILD_GUIDE_URL = "https://hot-updater.dev/docs/guides/native-build#how-a-build-is-tracked";
121
62
  var COLUMNS = 6;
122
63
  function EmptyRow({ channel, paged, onClearChannel, onNewest }) {
123
64
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, {
@@ -157,11 +98,11 @@ function EmptyRow({ channel, paged, onClearChannel, onNewest }) {
157
98
  children: "No native builds"
158
99
  }),
159
100
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { children: [
160
- "Build a release app with",
101
+ "Build one with",
161
102
  " ",
162
103
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
163
104
  className: "font-mono text-xs",
164
- children: "hot-updater native-build android"
105
+ children: "native-build android"
165
106
  }),
166
107
  " ",
167
108
  "or ",
@@ -169,7 +110,7 @@ function EmptyRow({ channel, paged, onClearChannel, onNewest }) {
169
110
  className: "font-mono text-xs",
170
111
  children: "native-build ios"
171
112
  }),
172
- ", which tracks it here, or import one built elsewhere:"
113
+ ", or import one built elsewhere:"
173
114
  ] }),
174
115
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
175
116
  className: "w-full text-left",