@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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/StoreSubmission-ViTkW4eJ.js +1 -0
- package/.output/public/assets/{index-PQ3UCeQV.js → index-DH9-mB8D.js} +2 -2
- package/.output/public/assets/{native-builds-c4BpOLAe.js → native-builds-BGgFQTDW.js} +2 -2
- package/.output/public/assets/native-builds-CxomzFqe.js +1 -0
- package/.output/public/assets/native-builds_._buildId-DD58_Phd.js +1 -0
- package/.output/public/assets/{native-builds_._buildId-9p4FFpa4.js → native-builds_._buildId-DvQDKnUQ.js} +2 -2
- package/.output/public/assets/{styles-Ccxthuz1.css → styles-uK-0vUMk.css} +1 -1
- package/.output/server/{__23tanstack-start-server-fn-resolver-nWkGzoo3.mjs → __23tanstack-start-server-fn-resolver-ClYi5o3F.mjs} +46 -46
- package/.output/server/_chunks/ssr-renderer.mjs +2 -2
- package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
- package/.output/server/_ssr/{BundleIdDisplay-C2YJNpHa.mjs → BundleIdDisplay-DwXVKZD1.mjs} +2 -2
- package/.output/server/_ssr/{ConsoleFeatureUnavailable-Co4rDns4.mjs → ConsoleFeatureUnavailable-a0YZjfJt.mjs} +6 -6
- package/.output/server/_ssr/{EventDetails-CTvni55k.mjs → EventDetails-DLmuxP2p.mjs} +6 -6
- package/.output/server/_ssr/{HashValueDisplay-BBswr65a.mjs → HashValueDisplay-BArRgHY9.mjs} +2 -2
- package/.output/server/_ssr/{InsightsPageHeader-ueG4Pkov.mjs → InsightsPageHeader-Cpfe3N74.mjs} +6 -6
- package/.output/server/_ssr/{NotFoundPage-BES4AfvN.mjs → NotFoundPage-DZVJdjfb.mjs} +2 -2
- package/.output/server/_ssr/{RolloutPercentageBadge-Bkl0uDbV.mjs → RolloutPercentageBadge-D5cg9FC7.mjs} +3 -3
- package/.output/server/_ssr/{StoreSubmission-0TLWxjym.mjs → StoreSubmission-DVr58WKm.mjs} +5 -5
- package/.output/server/_ssr/{alert-dialog-Cn0L__fU.mjs → alert-dialog-CnEvXwFO.mjs} +1 -1
- package/.output/server/_ssr/{api-qUMT9H2M.mjs → api-BrkiPYff.mjs} +3 -3
- package/.output/server/_ssr/{api-keys-Dt6_6uWi.mjs → api-keys-B0gWgJ1z.mjs} +8 -8
- package/.output/server/_ssr/{api-keys-DgiwJvLW.mjs → api-keys-DZIeUKDy.mjs} +2 -2
- package/.output/server/_ssr/{api-keys-rpc-BqbL9Iyl.mjs → api-keys-rpc-BExzs1qj.mjs} +3 -3
- package/.output/server/_ssr/{api-rpc-CzZPviuV.mjs → api-rpc-Bp6d62Jh.mjs} +3 -3
- package/.output/server/_ssr/{auth-rpc-CPZyE2Rz.mjs → auth-rpc-Bjf1L5Ff.mjs} +4 -4
- package/.output/server/_ssr/{auth.server-C2hyK1tQ.mjs → auth.server-CfBpqOaJ.mjs} +2 -2
- package/.output/server/_ssr/{badge-C4HK6j63.mjs → badge-ldxZp5-5.mjs} +1 -1
- package/.output/server/_ssr/{config.server-CwjEf3S5.mjs → config.server-CLxGGSJG.mjs} +3 -3
- package/.output/server/_ssr/{console-access-B2mUKj3_.mjs → console-access-Cpzb2uTH.mjs} +2 -2
- package/.output/server/_ssr/{console-features-api-X8ItTwxM.mjs → console-features-api-BTeS0zof.mjs} +5 -5
- package/.output/server/_ssr/{console-features-rpc-BRTvGLBV.mjs → console-features-rpc-Cf6Nm0Tm.mjs} +3 -3
- package/.output/server/_ssr/{dialog-L9IrT3sY.mjs → dialog-n7lSfirt.mjs} +1 -1
- package/.output/server/_ssr/{empty-CkTC2uZd.mjs → empty-yUHeIvWw.mjs} +2 -2
- package/.output/server/_ssr/{field-W7Ikmzjb.mjs → field-DI4GVjB2.mjs} +2 -2
- package/.output/server/_ssr/{input-group-BFnD9l_p.mjs → input-group-D2NsIUQe.mjs} +1 -1
- package/.output/server/_ssr/{insights-api-Cuz8lmZx.mjs → insights-api-dRPjuTC6.mjs} +3 -3
- package/.output/server/_ssr/{insights-failures-rpc-CxI071Ew.mjs → insights-failures-rpc-B3sIkMZL.mjs} +4 -4
- package/.output/server/_ssr/{insights-CtPYme4Q.mjs → insights-hQsGvChW.mjs} +19 -19
- package/.output/server/_ssr/{insights-Dz42GlcZ.mjs → insights-pDzs-nig.mjs} +2 -2
- package/.output/server/_ssr/{insights-recovery-rpc-B-9bs9Gz.mjs → insights-recovery-rpc-BEKMGqnd.mjs} +3 -3
- package/.output/server/_ssr/{insights-rpc-5NfC16-Q.mjs → insights-rpc-4Ua-Rrkb.mjs} +3 -3
- package/.output/server/_ssr/{insights-search-CtQj0m7f.mjs → insights-search-B46dHNwI.mjs} +2 -2
- package/.output/server/_ssr/{insights-usage-rpc-CFWx4_pK.mjs → insights-usage-rpc-C1Kd9bIa.mjs} +3 -3
- package/.output/server/_ssr/{insights-usage-rpc-Qnyviyah.mjs → insights-usage-rpc-vSM27rBC.mjs} +3 -3
- package/.output/server/_ssr/{insights-C9KDOFcN.mjs → insights-y7OKDFkt.mjs} +5 -5
- package/.output/server/_ssr/{insights_.distribution-CXItWbX1.mjs → insights_.distribution-COe2wJ5u.mjs} +13 -13
- package/.output/server/_ssr/{insights_.distribution-BamrEztu.mjs → insights_.distribution-Dhzmd8Nc.mjs} +5 -5
- package/.output/server/_ssr/{insights_.distribution-Czd0Jtle.mjs → insights_.distribution-y-zG-kBD.mjs} +2 -2
- package/.output/server/_ssr/{installations-BaHA_zCp.mjs → installations-Bi9QnC2R.mjs} +2 -2
- package/.output/server/_ssr/{installations-Q6t6CEZ8.mjs → installations-CoY4Usdk.mjs} +11 -11
- package/.output/server/_ssr/{installations-Dy8zAJI_.mjs → installations-CtcBn-oO.mjs} +4 -4
- package/.output/server/_ssr/{native-builds-BWTUWJUF.mjs → native-builds-CNY5cOzi.mjs} +2 -2
- package/.output/server/_ssr/{native-builds-Cuw87Y51.mjs → native-builds-CY_3E2YI.mjs} +24 -83
- package/.output/server/_ssr/{native-builds_._buildId-Dr3Mc32p.mjs → native-builds_._buildId-BwqRJrtG.mjs} +2 -2
- package/.output/server/_ssr/{native-builds_._buildId-CbhHK93c.mjs → native-builds_._buildId-DBFNbZbW.mjs} +50 -26
- package/.output/server/_ssr/{release-adoption-rpc-BHxQWHWw.mjs → release-adoption-rpc-DTGL6Iq8.mjs} +5 -5
- package/.output/server/_ssr/{remote-config-Bmh0t1FQ.mjs → remote-config-BMBuTQ8-.mjs} +17 -17
- package/.output/server/_ssr/{remote-config-DWlhe-Nu.mjs → remote-config-BS7gD-T2.mjs} +2 -2
- package/.output/server/_ssr/{remote-config-CrVQfJ9y.mjs → remote-config-BkRETRdL.mjs} +2 -2
- package/.output/server/_ssr/{remote-config-rpc-BYJbiG9k.mjs → remote-config-rpc-iaISfgVV.mjs} +3 -3
- package/.output/server/_ssr/{router-Bg_TI2qP.mjs → router-CskHODBx.mjs} +54 -32
- package/.output/server/_ssr/{routes-Do9CHvbC.mjs → routes-Cc0tMcVR.mjs} +17 -17
- package/.output/server/_ssr/{routes-fs827NQ-.mjs → routes-OvkN78Fv.mjs} +10 -10
- package/.output/server/_ssr/{schema-migration-rpc-vH6ZlJgo.mjs → schema-migration-rpc-BM0ONBoH.mjs} +3 -3
- package/.output/server/_ssr/{select-BoRQ8ytA.mjs → select-Wr3C9fFR.mjs} +1 -1
- package/.output/server/_ssr/{server-DtM4lJ0t.mjs → server-B6NM23G9.mjs} +3 -3
- package/.output/server/_ssr/{sidebar-D1AgCVIN.mjs → sidebar-DLSnkI8V.mjs} +2 -2
- package/.output/server/_ssr/ssr.mjs +1 -1
- package/.output/server/_ssr/{switch-CY0ZEeD2.mjs → switch-A-ACWcS7.mjs} +2 -2
- package/.output/server/_ssr/{table-ClsVe-Mz.mjs → table-BIKD-aZQ.mjs} +1 -1
- package/.output/server/_ssr/{tabs-BJacHKeX.mjs → tabs-DRHoxI4L.mjs} +2 -2
- package/.output/server/{_tanstack-start-manifest_v-CF4kCd6q.mjs → _tanstack-start-manifest_v-uhJWytDm.mjs} +9 -9
- package/.output/server/index.mjs +138 -138
- package/package.json +7 -7
- package/src/components/ConsoleAccessPage.tsx +36 -6
- package/src/components/features/native-builds/CopyableText.tsx +5 -2
- package/src/components/features/native-builds/ImportBuild.tsx +7 -31
- package/src/components/features/native-builds/InstallCard.tsx +47 -24
- package/src/components/features/native-builds/NativeBuildsTable.tsx +4 -6
- package/src/routes/api/native-builds/$buildId/download.ts +9 -4
- package/.output/public/assets/StoreSubmission-JpngSvHS.js +0 -1
- package/.output/public/assets/native-builds-BswZazmc.js +0 -1
- package/.output/public/assets/native-builds_._buildId-BRiNTN3j.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
2
2
|
import { t as validateNativeBuildDetailSearch } from "./-native-builds-search-CwNcoXf4.mjs";
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/native-builds_._buildId-
|
|
4
|
-
var $$splitComponentImporter = () => import("./native-builds_._buildId-
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/native-builds_._buildId-BwqRJrtG.js
|
|
4
|
+
var $$splitComponentImporter = () => import("./native-builds_._buildId-DBFNbZbW.mjs");
|
|
5
5
|
var Route = createFileRoute("/native-builds_/$buildId")({
|
|
6
6
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
7
7
|
validateSearch: validateNativeBuildDetailSearch
|
|
@@ -1,21 +1,21 @@
|
|
|
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 { B as Download, J as ChevronLeft, M as HardDrive, P as GitBranch, S as PackageOpen, W as CircleCheck, _ as RefreshCw, i as TriangleAlert, j as History, q as ChevronRight, tt as ArrowUpRight } from "../_libs/lucide-react.mjs";
|
|
4
|
-
import { C as Skeleton, O as buttonVariants, S as SidebarTrigger, k as cn, t as Button$1 } from "./sidebar-
|
|
4
|
+
import { C as Skeleton, O as buttonVariants, S as SidebarTrigger, k as cn, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
|
|
5
|
+
import { a as Badge, d as CardTitle, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-ldxZp5-5.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";
|
|
5
7
|
import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
6
|
-
import { a as EmptyMedia, i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-
|
|
7
|
-
import { a as Badge, d as CardTitle, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-C4HK6j63.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";
|
|
8
|
+
import { a as EmptyMedia, i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-yUHeIvWw.mjs";
|
|
9
9
|
import { i as NUMERIC_COHORT_SIZE } from "./dist-TEpM_UAD.mjs";
|
|
10
10
|
import { c as nativeBuildFileName, d as platformLabel, i as nativeBuildArtifacts, p as simulatorInstallCommand, r as formatByteSize, s as nativeBuildDownloadPath, t as apkInstallCommand, u as nativeBuildTarget } from "./native-builds-DhXL5zf_.mjs";
|
|
11
11
|
import { t as PlatformIcon } from "./PlatformIcon-CFLiTjh1.mjs";
|
|
12
|
-
import { d as useNativeBuildPatchesQuery, l as useNativeBuildDetailQuery, u as useNativeBuildDownloadUrlQuery } from "./api-
|
|
12
|
+
import { d as useNativeBuildPatchesQuery, l as useNativeBuildDetailQuery, u as useNativeBuildDownloadUrlQuery } from "./api-BrkiPYff.mjs";
|
|
13
13
|
import { t as TimestampDisplay } from "./git-CTA8Aqr0.mjs";
|
|
14
|
-
import { a as isSubmitted, i as StoreSubmissionBadge, n as CopyableText, r as ShortHash, t as CommitLink } from "./StoreSubmission-
|
|
14
|
+
import { a as isSubmitted, i as StoreSubmissionBadge, n as CopyableText, r as ShortHash, t as CommitLink } from "./StoreSubmission-DVr58WKm.mjs";
|
|
15
15
|
import { t as qrCodePath } from "./qr-code-C7kNRIDX.mjs";
|
|
16
|
-
import { t as Route } from "./native-builds_._buildId-
|
|
17
|
-
import { t as RolloutPercentageBadge } from "./RolloutPercentageBadge-
|
|
18
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/native-builds_._buildId-
|
|
16
|
+
import { t as Route } from "./native-builds_._buildId-BwqRJrtG.mjs";
|
|
17
|
+
import { t as RolloutPercentageBadge } from "./RolloutPercentageBadge-D5cg9FC7.mjs";
|
|
18
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/native-builds_._buildId-DBFNbZbW.js
|
|
19
19
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
20
20
|
var import_jsx_runtime = require_jsx_runtime();
|
|
21
21
|
function Row({ label, children }) {
|
|
@@ -209,12 +209,23 @@ function QrCode({ value, label, className }) {
|
|
|
209
209
|
})]
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
|
-
/**
|
|
212
|
+
/**
|
|
213
|
+
* What an artifact installs on, where the file alone isn't enough: the card
|
|
214
|
+
* says it once, under the QR code, or without one, in its place.
|
|
215
|
+
*/
|
|
216
|
+
var INSTALL_LIMITS = {
|
|
217
|
+
ipa: "The .ipa installs only on devices its signing profile allows (development or ad hoc); an App Store export reaches testers through TestFlight.",
|
|
218
|
+
aab: "The .aab installs through Google Play or bundletool, not from the file."
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* What scanning a build's QR code gets, by its artifact. The install steps
|
|
222
|
+
* beside it add only what this doesn't say, so the card says each thing once.
|
|
223
|
+
*/
|
|
213
224
|
var QR_CAPTIONS = {
|
|
214
225
|
apk: "Scan with an Android phone's camera, then open the APK to install it.",
|
|
215
|
-
ipa:
|
|
216
|
-
aab:
|
|
217
|
-
app: "Scan to download the .app.zip on a Mac
|
|
226
|
+
ipa: `Scan to download. ${INSTALL_LIMITS.ipa}`,
|
|
227
|
+
aab: `Scan to download. ${INSTALL_LIMITS.aab}`,
|
|
228
|
+
app: "Scan to download the .app.zip on a Mac."
|
|
218
229
|
};
|
|
219
230
|
/**
|
|
220
231
|
* The QR code of the build's download: the storage's URL, which a phone
|
|
@@ -223,10 +234,13 @@ var QR_CAPTIONS = {
|
|
|
223
234
|
function DownloadQrCode({ build }) {
|
|
224
235
|
const downloadUrl = useNativeBuildDownloadUrlQuery(build.id, true);
|
|
225
236
|
const url = downloadUrl.data?.url;
|
|
226
|
-
if (url === null)
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
237
|
+
if (url === null) {
|
|
238
|
+
const limits = INSTALL_LIMITS[build.artifact_kind];
|
|
239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
240
|
+
className: "flex flex-col gap-2 text-xs text-muted-foreground",
|
|
241
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: "This storage gives no download link a phone can open without signing in, so there is no QR code. Download the build here, or open this page on the phone signed in to the console." }), limits ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: limits }) : null]
|
|
242
|
+
});
|
|
243
|
+
}
|
|
230
244
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
231
245
|
className: "flex flex-col items-center gap-2",
|
|
232
246
|
children: [url === void 0 ? downloadUrl.isError ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Alert, {
|
|
@@ -254,7 +268,10 @@ function SubmittedVersion({ build }) {
|
|
|
254
268
|
children: build.submitted_version ?? "this build"
|
|
255
269
|
});
|
|
256
270
|
}
|
|
257
|
-
/**
|
|
271
|
+
/**
|
|
272
|
+
* How else the artifact installs, beside its QR code's caption and its
|
|
273
|
+
* download: none of it repeats the caption.
|
|
274
|
+
*/
|
|
258
275
|
function InstallSteps({ build }) {
|
|
259
276
|
switch (build.artifact_kind) {
|
|
260
277
|
case "apk": return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -271,7 +288,7 @@ function InstallSteps({ build }) {
|
|
|
271
288
|
className: "flex min-w-0 flex-col gap-2",
|
|
272
289
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
273
290
|
className: "text-xs text-muted-foreground",
|
|
274
|
-
children: "
|
|
291
|
+
children: "It runs only in the iOS Simulator. Install it on the booted one:"
|
|
275
292
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CopyableText, {
|
|
276
293
|
label: "the install command",
|
|
277
294
|
value: simulatorInstallCommand(build)
|
|
@@ -283,24 +300,30 @@ function InstallSteps({ build }) {
|
|
|
283
300
|
"Submitted to Google Play internal testing as",
|
|
284
301
|
" ",
|
|
285
302
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubmittedVersion, { build }),
|
|
286
|
-
". Testers
|
|
303
|
+
". Testers get it once its release is rolled out; on an app Play Console hasn't published, the release is a draft you roll out in Play Console."
|
|
287
304
|
]
|
|
288
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.
|
|
289
|
-
className: "
|
|
290
|
-
children:
|
|
305
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
306
|
+
className: "flex min-w-0 flex-col gap-2",
|
|
307
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
308
|
+
className: "text-xs text-muted-foreground",
|
|
309
|
+
children: "For testers, build and release to internal testing:"
|
|
310
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CopyableText, {
|
|
311
|
+
label: "the Google Play command",
|
|
312
|
+
value: "npx hot-updater google-play upload"
|
|
313
|
+
})]
|
|
291
314
|
});
|
|
292
315
|
case "ipa": return isSubmitted(build) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
293
316
|
className: "text-xs text-muted-foreground",
|
|
294
317
|
children: [
|
|
295
318
|
"On TestFlight as ",
|
|
296
319
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubmittedVersion, { build }),
|
|
297
|
-
"
|
|
320
|
+
"."
|
|
298
321
|
]
|
|
299
322
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
300
323
|
className: "flex min-w-0 flex-col gap-2",
|
|
301
324
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
302
325
|
className: "text-xs text-muted-foreground",
|
|
303
|
-
children: "
|
|
326
|
+
children: "Over USB, Xcode or Apple Configurator installs it. For testers:"
|
|
304
327
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CopyableText, {
|
|
305
328
|
label: "the TestFlight command",
|
|
306
329
|
value: "npx hot-updater testflight"
|
|
@@ -311,7 +334,8 @@ function InstallSteps({ build }) {
|
|
|
311
334
|
/**
|
|
312
335
|
* Installs one native build: every artifact by a QR code of its download,
|
|
313
336
|
* which a phone scans, and by download here; an APK also with `adb`, a
|
|
314
|
-
* simulator app with `xcrun simctl`, and an IPA's testers
|
|
337
|
+
* simulator app with `xcrun simctl`, and an IPA's or an AAB's testers through
|
|
338
|
+
* its store.
|
|
315
339
|
*/
|
|
316
340
|
function InstallCard({ build }) {
|
|
317
341
|
const fileName = nativeBuildFileName(build);
|
package/.output/server/_ssr/{release-adoption-rpc-BHxQWHWw.mjs → release-adoption-rpc-DTGL6Iq8.mjs}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
|
|
2
|
-
import { t as consoleAccess } from "./console-access-
|
|
2
|
+
import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
|
|
3
3
|
import { t as createServerRpc } from "./createServerRpc-BVvRVOz5.mjs";
|
|
4
4
|
import { a as readAdoptionReleasesInput, i as readAdoptionReleaseInput, o as readBundleEventsInput } from "./release-adoption-DoAtNPED.mjs";
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/release-adoption-rpc-
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/release-adoption-rpc-DTGL6Iq8.js
|
|
6
6
|
var listAdoptionReleasesRpc_createServerFn_handler = createServerRpc({
|
|
7
7
|
id: "d11a48f7251928b7819e2376aed4902fa66277bf6d30312d87ca53468332f256",
|
|
8
8
|
name: "listAdoptionReleasesRpc",
|
|
9
9
|
filename: "src/lib/release-adoption-rpc.ts"
|
|
10
10
|
}, (opts) => listAdoptionReleasesRpc.__executeServer(opts));
|
|
11
11
|
var listAdoptionReleasesRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readAdoptionReleasesInput).handler(listAdoptionReleasesRpc_createServerFn_handler, async ({ data }) => {
|
|
12
|
-
const [{ prepareConfig }, { listAdoptionReleases }] = await Promise.all([import("./config.server-
|
|
12
|
+
const [{ prepareConfig }, { listAdoptionReleases }] = await Promise.all([import("./config.server-CLxGGSJG.mjs"), import("./releaseAdoption-a2byXMfz.mjs")]);
|
|
13
13
|
const { core } = await prepareConfig();
|
|
14
14
|
return listAdoptionReleases(core, data);
|
|
15
15
|
});
|
|
@@ -19,7 +19,7 @@ var getAdoptionReleaseRpc_createServerFn_handler = createServerRpc({
|
|
|
19
19
|
filename: "src/lib/release-adoption-rpc.ts"
|
|
20
20
|
}, (opts) => getAdoptionReleaseRpc.__executeServer(opts));
|
|
21
21
|
var getAdoptionReleaseRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readAdoptionReleaseInput).handler(getAdoptionReleaseRpc_createServerFn_handler, async ({ data }) => {
|
|
22
|
-
const [{ prepareConfig }, { getAdoptionRelease }] = await Promise.all([import("./config.server-
|
|
22
|
+
const [{ prepareConfig }, { getAdoptionRelease }] = await Promise.all([import("./config.server-CLxGGSJG.mjs"), import("./releaseAdoption-a2byXMfz.mjs")]);
|
|
23
23
|
const { core } = await prepareConfig();
|
|
24
24
|
return getAdoptionRelease(core, data);
|
|
25
25
|
});
|
|
@@ -30,7 +30,7 @@ var getBundleEventsRpc_createServerFn_handler = createServerRpc({
|
|
|
30
30
|
}, (opts) => getBundleEventsRpc.__executeServer(opts));
|
|
31
31
|
var getBundleEventsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readBundleEventsInput).handler(getBundleEventsRpc_createServerFn_handler, async ({ data }) => {
|
|
32
32
|
const [{ prepareConfig }, { getBundleEvents }, { requireFeature }] = await Promise.all([
|
|
33
|
-
import("./config.server-
|
|
33
|
+
import("./config.server-CLxGGSJG.mjs"),
|
|
34
34
|
import("./releaseAdoption-a2byXMfz.mjs"),
|
|
35
35
|
import("./runtime.server-BdMY1blX.mjs")
|
|
36
36
|
]);
|
|
@@ -1,28 +1,28 @@
|
|
|
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 { bt as require_react, n as Toggle, t as ToggleGroup, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
5
|
import { $ as Braces, D as LoaderCircle, H as Clipboard, P as GitBranch, R as Eye, _ as RefreshCw, a as Trash2, at as ArrowDown, d as SlidersHorizontal, et as ArrowUp, g as RotateCcw, i as TriangleAlert, j as History, m as Search, n as Upload, nt as ArrowRight, r as Undo2, t as X, u as Smartphone, v as Plus, y as Pencil } from "../_libs/lucide-react.mjs";
|
|
5
6
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
6
|
-
import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, k as cn, n as Input, t as Button$1 } from "./sidebar-
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
7
|
+
import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, k as cn, n as Input, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
|
|
8
|
+
import { a as Badge, c as CardDescription, d as CardTitle, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-ldxZp5-5.mjs";
|
|
9
|
+
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";
|
|
10
|
+
import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-n7lSfirt.mjs";
|
|
11
|
+
import { a as FieldLabel, i as FieldGroup, n as FieldDescription, o as FieldLegend, r as FieldError, s as FieldSet, t as Field } from "./field-DI4GVjB2.mjs";
|
|
9
12
|
import { i as useQuery, n as useMutation, s as useQueryClient, t as useInfiniteQuery } from "../_libs/tanstack__react-query.mjs";
|
|
10
13
|
import { l as keepPreviousData } from "../_libs/tanstack__query-core.mjs";
|
|
11
|
-
import { r as requireConsoleFeature } from "./console-features-api-X8ItTwxM.mjs";
|
|
12
|
-
import { a as EmptyMedia, i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-CkTC2uZd.mjs";
|
|
13
|
-
import { a as Badge, c as CardDescription, d as CardTitle, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-C4HK6j63.mjs";
|
|
14
|
-
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";
|
|
15
|
-
import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-L9IrT3sY.mjs";
|
|
16
|
-
import { a as FieldLabel, i as FieldGroup, n as FieldDescription, o as FieldLegend, r as FieldError, s as FieldSet, t as Field } from "./field-W7Ikmzjb.mjs";
|
|
17
14
|
import { n as toast } from "../_libs/sonner.mjs";
|
|
18
|
-
import {
|
|
15
|
+
import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
16
|
+
import { r as requireConsoleFeature } from "./console-features-api-BTeS0zof.mjs";
|
|
17
|
+
import { a as EmptyMedia, i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-yUHeIvWw.mjs";
|
|
18
|
+
import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs$1 } from "./tabs-DRHoxI4L.mjs";
|
|
19
19
|
import { t as PlatformIcon } from "./PlatformIcon-CFLiTjh1.mjs";
|
|
20
|
-
import { i as InputGroupInput, n as InputGroupAddon, o as Textarea, r as InputGroupButton, t as InputGroup } from "./input-group-
|
|
21
|
-
import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-
|
|
22
|
-
import { i as useChannelsQuery } from "./api-
|
|
20
|
+
import { i as InputGroupInput, n as InputGroupAddon, o as Textarea, r as InputGroupButton, t as InputGroup } from "./input-group-D2NsIUQe.mjs";
|
|
21
|
+
import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-Wr3C9fFR.mjs";
|
|
22
|
+
import { i as useChannelsQuery } from "./api-BrkiPYff.mjs";
|
|
23
23
|
import { n as require_dayjs_min, t as require_relativeTime } from "../_libs/dayjs.mjs";
|
|
24
|
-
import { n as useDialogTarget, r as useOpenSession, t as Switch$1 } from "./switch-
|
|
25
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-
|
|
24
|
+
import { n as useDialogTarget, r as useOpenSession, t as Switch$1 } from "./switch-A-ACWcS7.mjs";
|
|
25
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-BMBuTQ8-.js
|
|
26
26
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
27
27
|
var import_jsx_runtime = require_jsx_runtime();
|
|
28
28
|
var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min());
|
|
@@ -2638,8 +2638,8 @@ function RemoteConfigPage({ tab, onTabChange }) {
|
|
|
2638
2638
|
]
|
|
2639
2639
|
});
|
|
2640
2640
|
}
|
|
2641
|
-
var $$splitComponentImporter = () => import("./remote-config-
|
|
2642
|
-
var $$splitNotFoundComponentImporter = () => import("./remote-config-
|
|
2641
|
+
var $$splitComponentImporter = () => import("./remote-config-BkRETRdL.mjs");
|
|
2642
|
+
var $$splitNotFoundComponentImporter = () => import("./remote-config-BS7gD-T2.mjs");
|
|
2643
2643
|
var Route = createFileRoute("/remote-config")({
|
|
2644
2644
|
beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "remoteConfig"),
|
|
2645
2645
|
notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-
|
|
1
|
+
import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-a0YZjfJt.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-BS7gD-T2.js
|
|
3
3
|
var SplitNotFoundComponent = ConsoleFeatureUnavailable;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { SplitNotFoundComponent as notFoundComponent };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
2
|
-
import { n as Route, t as RemoteConfigPage } from "./remote-config-
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-
|
|
2
|
+
import { n as Route, t as RemoteConfigPage } from "./remote-config-BMBuTQ8-.mjs";
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-BkRETRdL.js
|
|
4
4
|
var import_jsx_runtime = require_jsx_runtime();
|
|
5
5
|
function RemoteConfigRoute() {
|
|
6
6
|
const { tab = "parameters" } = Route.useSearch();
|
package/.output/server/_ssr/{remote-config-rpc-BYJbiG9k.mjs → remote-config-rpc-iaISfgVV.mjs}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
|
|
2
|
-
import { t as consoleAccess } from "./console-access-
|
|
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/remote-config-rpc-
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-rpc-iaISfgVV.js
|
|
5
5
|
/** Remote Config, once the console's access check and the feature guard pass. */
|
|
6
6
|
var remoteConfig = async () => {
|
|
7
|
-
const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-
|
|
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, "remoteConfig");
|
|
10
10
|
};
|
|
@@ -1,26 +1,26 @@
|
|
|
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 { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
5
|
import { A as Info, C as OctagonX, D as LoaderCircle, E as LogOut, M as HardDrive, V as Copy, W as CircleCheck, c as Sun, h as RotateCw, i as TriangleAlert, tt as ArrowUpRight, w as Moon, x as Package } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { A as createSsrRpc, E as TooltipProvider, M as useSidebar, O as buttonVariants, S as SidebarTrigger, _ as SidebarInset, b as SidebarMenuItem, d as SidebarContent, f as SidebarFooter, g as SidebarHeader, h as SidebarGroupLabel, m as SidebarGroupContent, p as SidebarGroup, t as Button$1, u as Sidebar, v as SidebarMenu, x as SidebarProvider, y as SidebarMenuButton } from "./sidebar-
|
|
6
|
-
import { t as consoleAccess } from "./console-access-B2mUKj3_.mjs";
|
|
7
|
-
import { a as HeadContent, d as Outlet, f as lazyRouteComponent, h as Link, i as Scripts, m as createRootRouteWithContext, p as createFileRoute, s as useRouterState, u as createRouter } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
6
|
+
import { A as createSsrRpc, E as TooltipProvider, M as useSidebar, O as buttonVariants, S as SidebarTrigger, _ as SidebarInset, b as SidebarMenuItem, d as SidebarContent, f as SidebarFooter, g as SidebarHeader, h as SidebarGroupLabel, m as SidebarGroupContent, p as SidebarGroup, t as Button$1, u as Sidebar, v as SidebarMenu, x as SidebarProvider, y as SidebarMenuButton } from "./sidebar-DLSnkI8V.mjs";
|
|
8
7
|
import { i as useQuery, r as queryOptions, s as useQueryClient } from "../_libs/tanstack__react-query.mjs";
|
|
9
8
|
import { t as QueryClient } from "../_libs/tanstack__query-core.mjs";
|
|
10
|
-
import { r as requireConsoleFeature, t as consoleFeaturesQueryOptions } from "./console-features-api-X8ItTwxM.mjs";
|
|
11
|
-
import { t as NotFoundPage } from "./NotFoundPage-BES4AfvN.mjs";
|
|
12
|
-
import { i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-CkTC2uZd.mjs";
|
|
13
9
|
import { n as toast, t as Toaster } from "../_libs/sonner.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import { t as
|
|
16
|
-
import {
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as Route$
|
|
19
|
-
import {
|
|
20
|
-
import { n as Route$
|
|
10
|
+
import { a as HeadContent, d as Outlet, f as lazyRouteComponent, h as Link, i as Scripts, m as createRootRouteWithContext, p as createFileRoute, s as useRouterState, u as createRouter } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
11
|
+
import { r as requireConsoleFeature, t as consoleFeaturesQueryOptions } from "./console-features-api-BTeS0zof.mjs";
|
|
12
|
+
import { t as NotFoundPage } from "./NotFoundPage-DZVJdjfb.mjs";
|
|
13
|
+
import { i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-yUHeIvWw.mjs";
|
|
14
|
+
import { t as Route$6 } from "./insights-y7OKDFkt.mjs";
|
|
15
|
+
import { t as Route$7 } from "./insights_.distribution-Dhzmd8Nc.mjs";
|
|
16
|
+
import { n as Route$8 } from "./installations-CtcBn-oO.mjs";
|
|
17
|
+
import { t as Route$9 } from "./native-builds-CNY5cOzi.mjs";
|
|
18
|
+
import { t as Route$10 } from "./native-builds_._buildId-BwqRJrtG.mjs";
|
|
19
|
+
import { n as Route$11 } from "./remote-config-BMBuTQ8-.mjs";
|
|
20
|
+
import { n as Route$12, o as useFeatureUi } from "./routes-OvkN78Fv.mjs";
|
|
21
21
|
import { t as setupRouterSsrQueryIntegration } from "../_libs/@tanstack/react-router-ssr-query+[...].mjs";
|
|
22
22
|
import { t as z } from "../_libs/next-themes.mjs";
|
|
23
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/router-
|
|
23
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/router-CskHODBx.js
|
|
24
24
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
25
25
|
var import_jsx_runtime = require_jsx_runtime();
|
|
26
26
|
function HotUpdaterLogo({ className }) {
|
|
@@ -238,18 +238,36 @@ var providerLabel = {
|
|
|
238
238
|
github: "GitHub",
|
|
239
239
|
google: "Google"
|
|
240
240
|
};
|
|
241
|
+
/** A path on this console, or the root for anything that could leave it. */
|
|
242
|
+
var consolePath = (target) => target.startsWith("/") && !/^\/[/\\]/.test(target) ? target : "/";
|
|
241
243
|
/**
|
|
242
244
|
* Where sign-in returns to: the page that asked for it, as a path on this
|
|
243
|
-
* console, so a link to a build lands on that build.
|
|
244
|
-
*
|
|
245
|
+
* console, so a link to a build lands on that build. A page a route sent
|
|
246
|
+
* here names its own target in `returnTo`, relative to the page, as the
|
|
247
|
+
* native build download does: sign-in returns there instead, when it is on
|
|
248
|
+
* this console's origin. Anything that could leave the console, such as
|
|
249
|
+
* `//host` or `/\host`, returns to the page, or to the root.
|
|
245
250
|
*/
|
|
246
251
|
var signInCallbackURL = (location) => {
|
|
247
|
-
const
|
|
248
|
-
|
|
252
|
+
const page = consolePath(`${location.pathname}${location.search}`);
|
|
253
|
+
const returnTo = new URLSearchParams(location.search).get("returnTo");
|
|
254
|
+
if (returnTo === null) return page;
|
|
255
|
+
try {
|
|
256
|
+
const target = new URL(returnTo, location.href);
|
|
257
|
+
return target.origin === new URL(location.href).origin ? consolePath(`${target.pathname}${target.search}`) : page;
|
|
258
|
+
} catch {
|
|
259
|
+
return page;
|
|
260
|
+
}
|
|
249
261
|
};
|
|
262
|
+
/** Whether sign-in returns to a native build's download. */
|
|
263
|
+
var returnsToDownload = (callbackURL) => /\/api\/native-builds\/[^/]+\/download$/.test(callbackURL);
|
|
250
264
|
function ConsoleAccessPage({ access, providers }) {
|
|
251
265
|
const [pendingProvider, setPendingProvider] = (0, import_react.useState)(null);
|
|
252
266
|
const [signingOut, setSigningOut] = (0, import_react.useState)(false);
|
|
267
|
+
const [downloadAfterSignIn, setDownloadAfterSignIn] = (0, import_react.useState)(false);
|
|
268
|
+
(0, import_react.useEffect)(() => {
|
|
269
|
+
setDownloadAfterSignIn(returnsToDownload(signInCallbackURL(window.location)));
|
|
270
|
+
}, []);
|
|
253
271
|
const [error, setError] = (0, import_react.useState)(null);
|
|
254
272
|
const signIn = async (provider) => {
|
|
255
273
|
setPendingProvider(provider);
|
|
@@ -298,7 +316,7 @@ function ConsoleAccessPage({ access, providers }) {
|
|
|
298
316
|
children: "Hot Updater Console"
|
|
299
317
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
300
318
|
className: "text-muted-foreground text-sm",
|
|
301
|
-
children: "Sign in to manage OTA bundles."
|
|
319
|
+
children: downloadAfterSignIn ? "Sign in to download the build. It starts once you're in." : "Sign in to manage OTA bundles."
|
|
302
320
|
})] })]
|
|
303
321
|
}),
|
|
304
322
|
access.status === "forbidden" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -513,7 +531,7 @@ var useSchemaMigration = () => {
|
|
|
513
531
|
retry
|
|
514
532
|
};
|
|
515
533
|
};
|
|
516
|
-
var styles_default = "/assets/styles-
|
|
534
|
+
var styles_default = "/assets/styles-uK-0vUMk.css";
|
|
517
535
|
var Route$5 = createRootRouteWithContext()({
|
|
518
536
|
head: () => ({
|
|
519
537
|
meta: [
|
|
@@ -590,8 +608,8 @@ function AuthorizedConsole({ canSignOut }) {
|
|
|
590
608
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {})
|
|
591
609
|
})] });
|
|
592
610
|
}
|
|
593
|
-
var $$splitComponentImporter = () => import("./api-keys-
|
|
594
|
-
var $$splitNotFoundComponentImporter = () => import("./api-keys-
|
|
611
|
+
var $$splitComponentImporter = () => import("./api-keys-B0gWgJ1z.mjs");
|
|
612
|
+
var $$splitNotFoundComponentImporter = () => import("./api-keys-DZIeUKDy.mjs");
|
|
595
613
|
var Route$4 = createFileRoute("/api-keys")({
|
|
596
614
|
beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "apiKeys"),
|
|
597
615
|
notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
|
|
@@ -603,7 +621,7 @@ var handle = async ({ request }) => {
|
|
|
603
621
|
};
|
|
604
622
|
var Route$3 = createFileRoute("/_hot-updater/native-builds/qr")({ server: { handlers: { ANY: handle } } });
|
|
605
623
|
var handleAuthRequest = async ({ request }) => {
|
|
606
|
-
const { handleConsoleAuth } = await import("./auth.server-
|
|
624
|
+
const { handleConsoleAuth } = await import("./auth.server-CfBpqOaJ.mjs");
|
|
607
625
|
return handleConsoleAuth(request);
|
|
608
626
|
};
|
|
609
627
|
var Route$2 = createFileRoute("/api/auth/$")({ server: { handlers: {
|
|
@@ -611,7 +629,7 @@ var Route$2 = createFileRoute("/api/auth/$")({ server: { handlers: {
|
|
|
611
629
|
POST: handleAuthRequest
|
|
612
630
|
} } });
|
|
613
631
|
var Route$1 = createFileRoute("/api/bundles/$bundleId/download")({ server: { handlers: { GET: async ({ params, request }) => {
|
|
614
|
-
const { prepareConfig } = await import("./config.server-
|
|
632
|
+
const { prepareConfig } = await import("./config.server-CLxGGSJG.mjs");
|
|
615
633
|
const { downloadBundle } = await import("./downloadBundle-DCmr7vsj.mjs");
|
|
616
634
|
const { core, storage } = await prepareConfig(request);
|
|
617
635
|
return downloadBundle(params.bundleId, {
|
|
@@ -625,19 +643,23 @@ var Route$1 = createFileRoute("/api/bundles/$bundleId/download")({ server: { han
|
|
|
625
643
|
*/
|
|
626
644
|
var isNavigation = (request) => request.headers.get("sec-fetch-mode") === "navigate" || (request.headers.get("accept") ?? "").includes("text/html");
|
|
627
645
|
var Route = createFileRoute("/api/native-builds/$buildId/download")({ server: { handlers: { GET: async ({ params, request }) => {
|
|
628
|
-
const { prepareConfig } = await import("./config.server-
|
|
646
|
+
const { prepareConfig } = await import("./config.server-CLxGGSJG.mjs");
|
|
629
647
|
const { downloadNativeBuild } = await import("./nativeBuilds-B_7BPjt_.mjs");
|
|
630
648
|
let deps;
|
|
631
649
|
try {
|
|
632
650
|
deps = await prepareConfig(request);
|
|
633
651
|
} catch (error) {
|
|
634
|
-
if (error instanceof Response && error.status === 401 && isNavigation(request))
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
652
|
+
if (error instanceof Response && error.status === 401 && isNavigation(request)) {
|
|
653
|
+
const buildId = encodeURIComponent(params.buildId);
|
|
654
|
+
const returnTo = encodeURIComponent(`../api/native-builds/${buildId}/download`);
|
|
655
|
+
return new Response(null, {
|
|
656
|
+
headers: {
|
|
657
|
+
"cache-control": "no-store",
|
|
658
|
+
location: `../../../native-builds/${buildId}?returnTo=${returnTo}`
|
|
659
|
+
},
|
|
660
|
+
status: 302
|
|
661
|
+
});
|
|
662
|
+
}
|
|
641
663
|
throw error;
|
|
642
664
|
}
|
|
643
665
|
return downloadNativeBuild(params.buildId, deps);
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { a as SliderIndicator, bt as require_react, c as SliderControl, l as SliderRoot, o as SliderThumb, s as SliderTrack, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { B as Download, D as LoaderCircle, F as Funnel, I as FingerprintPattern, J as ChevronLeft, O as List, T as Minus, U as CircleOff, X as Check, Y as ChevronDown, a as Trash2, g as RotateCcw, i as TriangleAlert, nt as ArrowRight, o as Tags, q as ChevronRight, s as Tag, t as X, tt as ArrowUpRight, v as Plus, x as Package, z as ExternalLink } from "../_libs/lucide-react.mjs";
|
|
4
|
-
import { C as Skeleton, O as buttonVariants, S as SidebarTrigger, a as SheetContent, c as SheetTitle, i as Sheet, j as useIsMobile, k as cn, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button$1 } from "./sidebar-
|
|
5
|
-
import {
|
|
6
|
-
import { a as
|
|
7
|
-
import { a as
|
|
8
|
-
import { a as
|
|
9
|
-
import { a as
|
|
10
|
-
import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-ClsVe-Mz.mjs";
|
|
4
|
+
import { C as Skeleton, O as buttonVariants, S as SidebarTrigger, a as SheetContent, c as SheetTitle, i as Sheet, j as useIsMobile, k as cn, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button$1 } from "./sidebar-DLSnkI8V.mjs";
|
|
5
|
+
import { a as Badge, c as CardDescription, d as CardTitle, i as AlertTitle, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./badge-ldxZp5-5.mjs";
|
|
6
|
+
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";
|
|
7
|
+
import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, s as DialogTrigger, t as Dialog$1 } from "./dialog-n7lSfirt.mjs";
|
|
8
|
+
import { a as FieldLabel, c as Label, i as FieldGroup, n as FieldDescription, r as FieldError, t as Field } from "./field-DI4GVjB2.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";
|
|
11
10
|
import { n as toast } from "../_libs/sonner.mjs";
|
|
11
|
+
import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
12
12
|
import { D as normalizeRolloutCohortCount, E as normalizeCohortValue, T as isValidCohort, b as getPatchFileHash, g as getNumericCohortRolloutPosition, i as NUMERIC_COHORT_SIZE, t as INVALID_COHORT_ERROR_MESSAGE, v as getPatchBaseBundleId, y as getPatchBaseFileHash } from "./dist-TEpM_UAD.mjs";
|
|
13
13
|
import { d as platformLabel, f as releaseNativeBuildScope, i as nativeBuildArtifacts } from "./native-builds-DhXL5zf_.mjs";
|
|
14
14
|
import { n as normalizeRange } from "../_libs/verkit.mjs";
|
|
15
|
-
import { n as InfoTooltip } from "./insights-search-
|
|
15
|
+
import { n as InfoTooltip } from "./insights-search-B46dHNwI.mjs";
|
|
16
16
|
import { t as PlatformIcon } from "./PlatformIcon-CFLiTjh1.mjs";
|
|
17
|
-
import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as Textarea, t as InputGroup } from "./input-group-
|
|
18
|
-
import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-
|
|
19
|
-
import { _ as useReleaseQuery, a as useConfigQuery, c as useDeleteReleaseMutation, g as useReleaseNativeBuildQuery, h as useReleaseCatalogDiagnosticsQuery, i as useChannelsQuery, m as usePromoteReleaseMutation, n as useBundleChildrenQuery, o as useCreateChannelMutation, p as usePreflightReleaseMutation, r as useBundleQuery, s as useDeleteChannelMutation, t as useBundleChildCountsQuery, v as useReleasesQuery, y as useUpdateReleaseMutation } from "./api-
|
|
20
|
-
import { t as BundleIdDisplay } from "./BundleIdDisplay-
|
|
21
|
-
import { t as HashValueDisplay } from "./HashValueDisplay-
|
|
17
|
+
import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as Textarea, t as InputGroup } from "./input-group-D2NsIUQe.mjs";
|
|
18
|
+
import { a as SelectTrigger, i as SelectItem, n as SelectContent, o as SelectValue, r as SelectGroup, t as Select$1 } from "./select-Wr3C9fFR.mjs";
|
|
19
|
+
import { _ as useReleaseQuery, a as useConfigQuery, c as useDeleteReleaseMutation, g as useReleaseNativeBuildQuery, h as useReleaseCatalogDiagnosticsQuery, i as useChannelsQuery, m as usePromoteReleaseMutation, n as useBundleChildrenQuery, o as useCreateChannelMutation, p as usePreflightReleaseMutation, r as useBundleQuery, s as useDeleteChannelMutation, t as useBundleChildCountsQuery, v as useReleasesQuery, y as useUpdateReleaseMutation } from "./api-BrkiPYff.mjs";
|
|
20
|
+
import { t as BundleIdDisplay } from "./BundleIdDisplay-DwXVKZD1.mjs";
|
|
21
|
+
import { t as HashValueDisplay } from "./HashValueDisplay-BArRgHY9.mjs";
|
|
22
22
|
import { n as getCommitUrl, t as TimestampDisplay } from "./git-CTA8Aqr0.mjs";
|
|
23
|
-
import { t as RolloutPercentageBadge } from "./RolloutPercentageBadge-
|
|
24
|
-
import { n as useDialogTarget, t as Switch$1 } from "./switch-
|
|
25
|
-
import { a as updateReleaseFilters, i as releaseFilterOf, n as Route, r as hasReleaseFilters, s as useReleaseColumns, t as ReleaseSections } from "./routes-
|
|
26
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
23
|
+
import { t as RolloutPercentageBadge } from "./RolloutPercentageBadge-D5cg9FC7.mjs";
|
|
24
|
+
import { n as useDialogTarget, t as Switch$1 } from "./switch-A-ACWcS7.mjs";
|
|
25
|
+
import { a as updateReleaseFilters, i as releaseFilterOf, n as Route, r as hasReleaseFilters, s as useReleaseColumns, t as ReleaseSections } from "./routes-OvkN78Fv.mjs";
|
|
26
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-Cc0tMcVR.js
|
|
27
27
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
28
28
|
var import_jsx_runtime = require_jsx_runtime();
|
|
29
29
|
var channelColors = {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { n as consoleFeatures } from "./console-features-BTV-XuhQ.mjs";
|
|
2
1
|
import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
|
|
2
|
+
import { t as consoleAccess } from "./console-access-Cpzb2uTH.mjs";
|
|
3
3
|
import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
4
|
import { Q as ChartLine, Z as ChartNoAxesCombined, d as SlidersHorizontal, k as KeyRound } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { A as createSsrRpc, C as Skeleton, O as buttonVariants, k as cn, r as Separator$1 } from "./sidebar-
|
|
6
|
-
import {
|
|
7
|
-
import { f as lazyRouteComponent, h as Link, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
5
|
+
import { A as createSsrRpc, C as Skeleton, O as buttonVariants, k as cn, r as Separator$1 } from "./sidebar-DLSnkI8V.mjs";
|
|
6
|
+
import { d as CardTitle, l as CardFooter, o as Card, s as CardContent, u as CardHeader } from "./badge-ldxZp5-5.mjs";
|
|
8
7
|
import { i as useQuery } from "../_libs/tanstack__react-query.mjs";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { n as consoleFeatures } from "./console-features-BTV-XuhQ.mjs";
|
|
9
|
+
import { f as lazyRouteComponent, h as Link, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
10
|
+
import { a as useConsoleFeatures, i as useConsoleFeature } from "./console-features-api-BTeS0zof.mjs";
|
|
11
11
|
import { n as readRecoveryInput } from "./insights-recovery-BtXVU3ro.mjs";
|
|
12
12
|
import { i as failureRate, s as formatRate } from "./insights-failures-B9VPkzZE.mjs";
|
|
13
|
-
import { n as InfoTooltip, r as adoptionWindow } from "./insights-search-
|
|
14
|
-
import { u as useUpdateFailuresQuery } from "./insights-api-
|
|
15
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
13
|
+
import { n as InfoTooltip, r as adoptionWindow } from "./insights-search-B46dHNwI.mjs";
|
|
14
|
+
import { u as useUpdateFailuresQuery } from "./insights-api-dRPjuTC6.mjs";
|
|
15
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-OvkN78Fv.js
|
|
16
16
|
var import_jsx_runtime = require_jsx_runtime();
|
|
17
17
|
/** What API key management adds: its navigation item. */
|
|
18
18
|
var apiKeysFeatureUi = { apiKeys: { navigation: {
|
|
@@ -396,7 +396,7 @@ function updateReleaseFilters(current, filters) {
|
|
|
396
396
|
scopeKey: next.scopeKey
|
|
397
397
|
});
|
|
398
398
|
}
|
|
399
|
-
var $$splitComponentImporter = () => import("./routes-
|
|
399
|
+
var $$splitComponentImporter = () => import("./routes-Cc0tMcVR.mjs");
|
|
400
400
|
/**
|
|
401
401
|
* Opens a bundle from a click anywhere on its row or card, except on a
|
|
402
402
|
* control inside it, which keeps its own action.
|
package/.output/server/_ssr/{schema-migration-rpc-vH6ZlJgo.mjs → schema-migration-rpc-BM0ONBoH.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { l as createServerFn } from "./createServerFn-AQvBMBjJ.mjs";
|
|
2
|
-
import { t as consoleAccess } from "./console-access-
|
|
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/schema-migration-rpc-
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/schema-migration-rpc-BM0ONBoH.js
|
|
5
5
|
/** Compares dotted numeric versions, such as "1" and "1.2.0"; NaN when either is not one. */
|
|
6
6
|
var compareVersions = (left, right) => {
|
|
7
7
|
const parse = (version) => version.split(".").map(Number);
|
|
@@ -52,7 +52,7 @@ var getSchemaMigrationRpc_createServerFn_handler = createServerRpc({
|
|
|
52
52
|
filename: "src/lib/schema-migration-rpc.ts"
|
|
53
53
|
}, (opts) => getSchemaMigrationRpc.__executeServer(opts));
|
|
54
54
|
var getSchemaMigrationRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(getSchemaMigrationRpc_createServerFn_handler, async () => {
|
|
55
|
-
const { prepareConfig } = await import("./config.server-
|
|
55
|
+
const { prepareConfig } = await import("./config.server-CLxGGSJG.mjs");
|
|
56
56
|
const { config, core } = await prepareConfig();
|
|
57
57
|
try {
|
|
58
58
|
await core.listChannels();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
2
|
import { B as SelectPositioner, F as SelectItemText, G as SelectRoot, H as SelectIcon, I as SelectItemIndicator, L as SelectItem$1, M as SelectGroup$1, N as SelectScrollUpArrow, P as SelectScrollDownArrow, R as SelectList, U as SelectValue$1, V as SelectPortal, W as SelectTrigger$1, bt as require_react, yt as require_jsx_runtime, z as SelectPopup } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { K as ChevronUp, X as Check, Y as ChevronDown } from "../_libs/lucide-react.mjs";
|
|
4
|
-
import { k as cn } from "./sidebar-
|
|
4
|
+
import { k as cn } from "./sidebar-DLSnkI8V.mjs";
|
|
5
5
|
require_react();
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
7
|
var Select$1 = SelectRoot;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
2
|
import { _ as runWithStartContext, a as TSS_SERVER_FUNCTION, b as splitSetCookieString, c as createNullProtoObject, d as getStartContext, f as getStartOptions, g as parseSetCookie, h as parse, i as TSS_FORMDATA_CONTEXT, m as mergeHeaders, n as MAX_FRAME_PAYLOAD_SIZE, o as X_TSS_RAW_RESPONSE, p as isRedirect, r as TSS_CONTENT_TYPE_FRAMED_VERSIONED, s as X_TSS_SERIALIZED, t as MAX_FRAMED_STREAMS, u as flattenMiddlewares, v as safeObjectMerge, y as serialize } from "./createServerFn-AQvBMBjJ.mjs";
|
|
3
|
-
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-
|
|
3
|
+
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-ClYi5o3F.mjs";
|
|
4
4
|
import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
5
5
|
import { l as RouterProvider, n as renderRouterToString, r as defineHandlerCallback, t as renderRouterToStream } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
6
6
|
import { t as __exportAll } from "./rolldown-runtime-rSIU-vHC.mjs";
|
|
@@ -3879,7 +3879,7 @@ var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
|
|
|
3879
3879
|
* the dev styles URL for route-scoped CSS collection.
|
|
3880
3880
|
*/
|
|
3881
3881
|
async function getStartManifest(matchedRoutes) {
|
|
3882
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
3882
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-uhJWytDm.mjs");
|
|
3883
3883
|
const startManifest = tsrStartManifest();
|
|
3884
3884
|
let routes = startManifest.routes;
|
|
3885
3885
|
routes[rootRouteId];
|
|
@@ -6834,7 +6834,7 @@ var getBaseManifest = getProdBaseManifest;
|
|
|
6834
6834
|
var createEarlyHintsForRequest = createEarlyHintsCollector;
|
|
6835
6835
|
async function loadEntries() {
|
|
6836
6836
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
6837
|
-
import("./router-
|
|
6837
|
+
import("./router-CskHODBx.mjs"),
|
|
6838
6838
|
import("./start-BvDsQehg.mjs"),
|
|
6839
6839
|
import("./empty-plugin-adapters-zrZ0xs6n.mjs")
|
|
6840
6840
|
]);
|