@hot-updater/console 1.1.2 → 1.1.4
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/EventDetails-gbD_fCqc.js +1 -0
- package/.output/public/assets/{InsightsPageHeader-SYEOMClX.js → InsightsPageHeader-BRw8XkJW.js} +1 -1
- package/.output/public/assets/api-keys-D81VHHNM.js +1 -0
- package/.output/public/assets/api-keys-Dia6i8K1.js +1 -0
- package/.output/public/assets/badge-Bqf3UDee.js +1 -0
- package/.output/public/assets/circle-off-BsbZQtsF.js +1 -0
- package/.output/public/assets/field-GxF9SyUo.js +1 -0
- package/.output/public/assets/{index-C5S4DrO2.js → index-DrkdiRIn.js} +3 -3
- package/.output/public/assets/insights-C-5t8wh2.js +2 -0
- package/.output/public/assets/insights-D_ngQdiz.js +1 -0
- package/.output/public/assets/insights-KigRBDgC.js +42 -0
- package/.output/public/assets/insights-api-1ZjVu3Sb.js +1 -0
- package/.output/public/assets/insights-search-aT8BVCci.js +1 -0
- package/.output/public/assets/{insights-usage-rpc-DTL0_Rp8.js → insights-usage-rpc-DqTiXI1_.js} +1 -1
- package/.output/public/assets/insights_.distribution-Bzl6RFBR.js +2 -0
- package/.output/public/assets/insights_.distribution-Cthgttqb.js +1 -0
- package/.output/public/assets/insights_.distribution-D2c2v1bu.js +1 -0
- package/.output/public/assets/installations-2Nx8Htf-.js +1 -0
- package/.output/public/assets/{installations-we1IV0xp.js → installations-BskJ1xQr.js} +2 -2
- package/.output/public/assets/installations-K2iJ_r0h.js +1 -0
- package/.output/public/assets/{remote-config-uBgCaI-p.js → remote-config-D9X3NiwV.js} +4 -4
- package/.output/public/assets/{remote-config-DyTLPRKh.js → remote-config-DzOOiBIO.js} +1 -1
- package/.output/public/assets/remote-config-ikg7kak0.js +1 -0
- package/.output/public/assets/routes-9rb9P5Y7.js +2 -0
- package/.output/public/assets/routes-P7683vKQ.js +1 -0
- package/.output/public/assets/{select-CV8nkfsf.js → select-M3H2gxCc.js} +1 -1
- package/.output/public/assets/styles-CpiW_YdW.css +2 -0
- package/.output/public/assets/{switch-C8ycp9AH.js → switch-By_vfm8I.js} +1 -1
- package/.output/server/{__23tanstack-start-server-fn-resolver-B2gMrGs6.mjs → __23tanstack-start-server-fn-resolver-KpQ5Z_24.mjs} +40 -40
- package/.output/server/_libs/@base-ui/react+[...].mjs +77 -1
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
- package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +2 -2
- package/.output/server/_libs/lucide-react.mjs +1 -1
- package/.output/server/_libs/next-themes.mjs +1 -1
- package/.output/server/_libs/react-redux+[...].mjs +1 -1
- package/.output/server/_libs/recharts+[...].mjs +1 -1
- package/.output/server/_libs/sonner.mjs +1 -1
- package/.output/server/_libs/tanstack__react-query.mjs +1 -1
- package/.output/server/_ssr/{BundleIdDisplay-BIXUWOM_.mjs → BundleIdDisplay-CjSnY65J.mjs} +3 -3
- package/.output/server/_ssr/{ConsoleFeatureUnavailable-B5BX1XJQ.mjs → ConsoleFeatureUnavailable-CHxn9f-w.mjs} +7 -7
- package/.output/server/_ssr/{EventDetails-C0bZVuOS.mjs → EventDetails-l6dF54zp.mjs} +8 -8
- package/.output/server/_ssr/{HashValueDisplay-DtWes-Gr.mjs → HashValueDisplay-Zs7ABoOi.mjs} +3 -3
- package/.output/server/_ssr/{InsightsPageHeader-CLP-sCpY.mjs → InsightsPageHeader-ZlAlDxQy.mjs} +8 -8
- package/.output/server/_ssr/{NotFoundPage-BVQx08zn.mjs → NotFoundPage-u28ndvp1.mjs} +3 -3
- package/.output/server/_ssr/{alert-dialog-BlEXzHma.mjs → alert-dialog-B8AqlJwo.mjs} +2 -2
- package/.output/server/_ssr/{api-CVve4Y9C.mjs → api-C_0B7NXM.mjs} +3 -3
- package/.output/server/_ssr/{api-keys-Dknq3e2R.mjs → api-keys-CLH38u9B.mjs} +2 -2
- package/.output/server/_ssr/{api-keys-2TVuUP_S.mjs → api-keys-pRNvn2-9.mjs} +9 -8
- package/.output/server/_ssr/{api-keys-rpc-D6mjj6ux.mjs → api-keys-rpc-wecWs0nA.mjs} +3 -3
- package/.output/server/_ssr/{api-rpc-C2zK3DoM.mjs → api-rpc-DWN8eOHS.mjs} +6 -41
- package/.output/server/_ssr/{auth-rpc-Dss6nG8G.mjs → auth-rpc-CLRArbIl.mjs} +4 -4
- package/.output/server/_ssr/{auth.server-DLi4kbQi.mjs → auth.server-DR9zc0EU.mjs} +2 -2
- package/.output/server/_ssr/badge-BpT7r-ng.mjs +108 -0
- package/.output/server/_ssr/{bundleActivity-M5gzBFNg.mjs → bundleActivity-0qFIcvqt.mjs} +1 -1
- package/.output/server/_ssr/{config.server-B_oTMFxL.mjs → config.server-DTdsG47T.mjs} +4 -4
- package/.output/server/_ssr/{console-access-UB-4rDiA.mjs → console-access-aUpQs49I.mjs} +2 -2
- package/.output/server/_ssr/{console-features-Oz0q20jJ.mjs → console-features-4xAGfZHw.mjs} +1 -1
- package/.output/server/_ssr/{console-features-api-DJV790QE.mjs → console-features-api-DSSgCV3v.mjs} +5 -5
- package/.output/server/_ssr/{console-features-rpc-cai3k4Ac.mjs → console-features-rpc-D6kMlR2A.mjs} +3 -3
- package/.output/server/_ssr/{dialog-CdG-5FiE.mjs → dialog-B4ALf7NJ.mjs} +2 -2
- package/.output/server/_ssr/{downloadBundle-CZysjmNW.mjs → downloadBundle-94jPBGSO.mjs} +1 -1
- package/.output/server/_ssr/{empty-CtbzbPdQ.mjs → empty-Bh1FEeYF.mjs} +3 -3
- package/.output/server/_ssr/{failureReports-DKDhVsXA.mjs → failureReports-Bh22wois.mjs} +4 -4
- package/.output/server/_ssr/field-HKCaPH3e.mjs +89 -0
- package/.output/server/_ssr/{getBundleChildren-Cv9iz1As.mjs → getBundleChildren-DfxB2K8D.mjs} +1 -1
- package/.output/server/_ssr/{input-group-c65TGOPW.mjs → input-group-xm3LzDuq.mjs} +2 -2
- package/.output/server/_ssr/{insights-_IGtova5.mjs → insights-BKZpJ_K4.mjs} +590 -360
- package/.output/server/_ssr/{insights-DU_QAXWM.mjs → insights-CCyTACIw.mjs} +5 -5
- package/.output/server/_ssr/{insights-Bn2m3_41.mjs → insights-CNqWQLJR.mjs} +2 -2
- package/.output/server/_ssr/{insights-api-Ds7dvWu4.mjs → insights-api-DtRFz5X3.mjs} +5 -5
- package/.output/server/_ssr/{insights-errors-BjnFUyZj.mjs → insights-errors-Iy-lBaM7.mjs} +2 -2
- package/.output/server/_ssr/{insights-failures-xaa41Buf.mjs → insights-failures-BJN3RfLu.mjs} +3 -3
- package/.output/server/_ssr/{insights-failures-rpc-DdcX5E7T.mjs → insights-failures-rpc-DLZ91uOG.mjs} +12 -12
- package/.output/server/_ssr/{insights-recovery-BWQhiZaF.mjs → insights-recovery-BUuQdlA3.mjs} +1 -1
- package/.output/server/_ssr/{insights-recovery-rpc-DOhy6APf.mjs → insights-recovery-rpc-BQHUhPi7.mjs} +6 -6
- package/.output/server/_ssr/{insights-rpc-US_gs2id.mjs → insights-rpc-C6Vukyn7.mjs} +3 -3
- package/.output/server/_ssr/{insights-search-C70xifQF.mjs → insights-search-CBYoxT7v.mjs} +8 -7
- package/.output/server/_ssr/{insights-usage-BpBM0U0c.mjs → insights-usage-CHqvtehH.mjs} +1 -1
- package/.output/server/_ssr/{insights-usage-rpc-5DtQXLAY.mjs → insights-usage-rpc-BJ7a-xco.mjs} +6 -6
- package/.output/server/_ssr/{insights-usage-rpc-TTivW3zB.mjs → insights-usage-rpc-C-lNUIsD.mjs} +5 -5
- package/.output/server/_ssr/{insightsUsage-CzhVjsc8.mjs → insightsUsage-COUG-_-U.mjs} +3 -3
- package/.output/server/_ssr/{insights_.distribution-D5U5EzU-.mjs → insights_.distribution-CTwilMPm.mjs} +5 -5
- package/.output/server/_ssr/{insights_.distribution-BvA8x4Pc.mjs → insights_.distribution-DmLW8I8a.mjs} +2 -2
- package/.output/server/_ssr/{insights_.distribution-Wm6hKWPa.mjs → insights_.distribution-DztDyrBj.mjs} +14 -13
- package/.output/server/_ssr/{installations-BmuAKPlD.mjs → installations-B6MK5iA8.mjs} +2 -2
- package/.output/server/_ssr/{installations-D6X1wvQA.mjs → installations-Bct7ag5y.mjs} +4 -4
- package/.output/server/_ssr/{installations-rfEUgSuk.mjs → installations-_N4PtYFl.mjs} +12 -11
- package/.output/server/_ssr/{release-adoption-005tQRpo.mjs → release-adoption-DuYJTGuX.mjs} +17 -7
- package/.output/server/_ssr/{release-adoption-rpc-VPRjwQya.mjs → release-adoption-rpc-CHl7G_Zy.mjs} +8 -8
- package/.output/server/_ssr/{releaseAdoption-CtOFkwli.mjs → releaseAdoption-B39cpvfo.mjs} +42 -26
- package/.output/server/_ssr/releaseReachability-bFsuElSS.mjs +39 -0
- package/.output/server/_ssr/{remote-config-BW3yo4ZC.mjs → remote-config-10-obSZ0.mjs} +3 -3
- package/.output/server/_ssr/{remote-config-C6qyWeqT.mjs → remote-config-Dj1eTYi4.mjs} +2 -2
- package/.output/server/_ssr/{remote-config-BdOas6KI.mjs → remote-config-Mj05qVYZ.mjs} +18 -17
- package/.output/server/_ssr/{remote-config-rpc-DNjk69nN.mjs → remote-config-rpc-lteqDSLn.mjs} +3 -3
- package/.output/server/_ssr/{router-DqyQ8o8T.mjs → router-Dr4jjjhx.mjs} +17 -17
- package/.output/server/_ssr/{routes-1TWMRTCY.mjs → routes-B5KrCDwk.mjs} +17 -16
- package/.output/server/_ssr/{routes-DxfbhYOp.mjs → routes-BZbrY_qw.mjs} +17 -17
- package/.output/server/_ssr/{runtime.server-De0QVWc9.mjs → runtime.server-DsHqVqTr.mjs} +2 -2
- package/.output/server/_ssr/{select-CEyhDZtT.mjs → select-BtdGNSmp.mjs} +2 -2
- package/.output/server/_ssr/{server-BUe4_4dH.mjs → server-BxaHSwHh.mjs} +4 -4
- package/.output/server/_ssr/{sidebar-De1__izs.mjs → sidebar-CVsgosaD.mjs} +3 -3
- package/.output/server/_ssr/ssr.mjs +1 -1
- package/.output/server/_ssr/{switch-B6TmLbu-.mjs → switch-BmARgkUP.mjs} +3 -3
- package/.output/server/_ssr/{table-BEpbu0xs.mjs → table-M5P3YUfY.mjs} +2 -2
- package/.output/server/_ssr/{tabs-DP0GnDdN.mjs → tabs-CrmfOlJj.mjs} +3 -3
- package/.output/server/_ssr/updateFailures-z1IQy_4q.mjs +103 -0
- package/.output/server/{_tanstack-start-manifest_v-DTOQk1l4.mjs → _tanstack-start-manifest_v-_BY9hYTm.mjs} +51 -50
- package/.output/server/index.mjs +204 -197
- package/package.json +7 -7
- package/src/components/features/insights/AppUsage.tsx +15 -2
- package/src/components/features/insights/InsightsControls.tsx +264 -246
- package/src/components/features/insights/InsightsOverview.tsx +90 -68
- package/src/components/features/insights/InsightsScope.tsx +39 -0
- package/src/components/features/insights/ReleaseActivity.tsx +4 -4
- package/src/components/features/insights/ReleaseCombobox.tsx +196 -0
- package/src/components/features/insights/RollbackButton.tsx +4 -0
- package/src/components/features/insights/UpdateFailures.tsx +7 -1
- package/src/lib/insights-failures-rpc.ts +3 -1
- package/src/lib/insights-failures.ts +5 -2
- package/src/lib/insights-recovery.ts +5 -0
- package/src/lib/insights-search.ts +10 -14
- package/src/lib/release-adoption-api.ts +24 -32
- package/src/lib/release-adoption.ts +45 -8
- package/src/lib/server/failureReports.ts +1 -1
- package/src/lib/server/releaseAdoption.ts +75 -26
- package/src/lib/server/updateFailures.ts +131 -10
- package/src/routes/insights.tsx +56 -24
- package/src/routes/insights_.distribution.tsx +2 -1
- package/.output/public/assets/EventDetails-CSX2ayg9.js +0 -1
- package/.output/public/assets/api-keys-BEdLKiib.js +0 -1
- package/.output/public/assets/api-keys-TdTtKm2b.js +0 -1
- package/.output/public/assets/chevron-right-BnvHIJdZ.js +0 -1
- package/.output/public/assets/field-DBMkBfkD.js +0 -1
- package/.output/public/assets/insights-BMKRCIg1.js +0 -2
- package/.output/public/assets/insights-CPyViuyC.js +0 -42
- package/.output/public/assets/insights-D0PbX-Rm.js +0 -1
- package/.output/public/assets/insights-api-Dmd_LgT3.js +0 -1
- package/.output/public/assets/insights-search-DAa0f7Dr.js +0 -1
- package/.output/public/assets/insights_.distribution-BaOQlBV9.js +0 -1
- package/.output/public/assets/insights_.distribution-CxXMIEb5.js +0 -2
- package/.output/public/assets/insights_.distribution-EE5OqxyL.js +0 -1
- package/.output/public/assets/installations-BgISglUQ.js +0 -1
- package/.output/public/assets/installations-DQbgRkSi.js +0 -1
- package/.output/public/assets/remote-config-AQmdmbT8.js +0 -1
- package/.output/public/assets/routes-Br26jzt9.js +0 -1
- package/.output/public/assets/routes-CyirpG2O.js +0 -2
- package/.output/public/assets/styles-DTGEAJFv.css +0 -2
- package/.output/server/_ssr/field-0KdP_8LI.mjs +0 -189
- package/.output/server/_ssr/updateFailures-H6pnnYK4.mjs +0 -40
- /package/.output/public/assets/{ConsoleFeatureUnavailable-B-iNWpuE.js → ConsoleFeatureUnavailable-C0KfsKWL.js} +0 -0
- /package/.output/public/assets/{table-DgGD67Fx.js → table-ek1DmRHq.js} +0 -0
- /package/.output/public/assets/{valueToPercent-C4C1WZVn.js → valueToPercent-B44vDssN.js} +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { S as isReleaseEligibleForCohort, i as NUMERIC_COHORT_SIZE } from "./dist-CbQbBIw-.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/releaseReachability-bFsuElSS.js
|
|
3
|
+
var NON_TARGETED_COHORT = "release-catalog-non-targeted-cohort";
|
|
4
|
+
function collectReachableFromIndexes(catalog, indexes, reachableReleaseIds) {
|
|
5
|
+
const descriptors = indexes.flatMap((index) => {
|
|
6
|
+
const descriptor = catalog.releaseDescriptors[index];
|
|
7
|
+
return descriptor === void 0 ? [] : [descriptor];
|
|
8
|
+
});
|
|
9
|
+
const cohorts = new Set([
|
|
10
|
+
void 0,
|
|
11
|
+
...Array.from({ length: NUMERIC_COHORT_SIZE }, (_, index) => String(index + 1)),
|
|
12
|
+
...descriptors.flatMap(({ targetCohorts }) => targetCohorts),
|
|
13
|
+
NON_TARGETED_COHORT
|
|
14
|
+
]);
|
|
15
|
+
for (const cohort of cohorts) {
|
|
16
|
+
const selected = descriptors.find((descriptor) => descriptor.bundleId !== null && isReleaseEligibleForCohort(descriptor, cohort));
|
|
17
|
+
if (selected !== void 0) reachableReleaseIds.add(selected.releaseId);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function collectCurrentlyReachableReleaseIds(catalog) {
|
|
21
|
+
const reachableReleaseIds = /* @__PURE__ */ new Set();
|
|
22
|
+
const indexGroups = catalog.strategy === "APP_VERSION" ? catalog.segments.map(({ releaseIndexes }) => releaseIndexes) : [catalog.releaseIndexes];
|
|
23
|
+
for (const indexes of indexGroups) collectReachableFromIndexes(catalog, indexes, reachableReleaseIds);
|
|
24
|
+
return reachableReleaseIds;
|
|
25
|
+
}
|
|
26
|
+
/** Marks each release its scope's compiled catalog no longer serves: one catalog read per scope. */
|
|
27
|
+
async function addReleaseReachability(core, releases) {
|
|
28
|
+
const scopeKeys = [...new Set(releases.map(({ scope_key }) => scope_key))];
|
|
29
|
+
const reachableByScope = new Map(await Promise.all(scopeKeys.map(async (scopeKey) => {
|
|
30
|
+
const row = await core.getReleaseCatalogRow(scopeKey);
|
|
31
|
+
return [scopeKey, row === null ? /* @__PURE__ */ new Set() : collectCurrentlyReachableReleaseIds(JSON.parse(row.payload))];
|
|
32
|
+
})));
|
|
33
|
+
return releases.map((release) => ({
|
|
34
|
+
...release,
|
|
35
|
+
currentlyUnreachable: !reachableByScope.get(release.scope_key)?.has(release.id)
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { addReleaseReachability as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as Route, t as RemoteConfigPage } from "./remote-config-
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-
|
|
1
|
+
import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
2
|
+
import { n as Route, t as RemoteConfigPage } from "./remote-config-Mj05qVYZ.mjs";
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-10-obSZ0.js
|
|
4
4
|
var import_jsx_runtime = require_jsx_runtime();
|
|
5
5
|
function RemoteConfigRoute() {
|
|
6
6
|
const { tab = "parameters" } = Route.useSearch();
|
|
@@ -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-CHxn9f-w.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-Dj1eTYi4.js
|
|
3
3
|
var SplitNotFoundComponent = ConsoleFeatureUnavailable;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { SplitNotFoundComponent as notFoundComponent };
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { u as createServerFn } from "./createMiddleware-B1iPez7u.mjs";
|
|
3
|
-
import { t as
|
|
4
|
-
import { _t as require_react, gt as require_jsx_runtime, n as Toggle, t as ToggleGroup } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
|
+
import { bt as require_react, n as Toggle, t as ToggleGroup, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
5
4
|
import { A as GitBranch, J as Braces, L as Clipboard, N as Eye, T as LoaderCircle, Y as ArrowUp, Z as ArrowRight, _ as Plus, a as Trash2, d as SlidersHorizontal, et as ArrowDown, g as RefreshCw, h as RotateCcw, i as TriangleAlert, k as History, n as Upload, p as Search, r as Undo2, t as X, u as Smartphone, v as Pencil } from "../_libs/lucide-react.mjs";
|
|
6
5
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
7
|
-
import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, k as cn, n as Input, t as Button$1 } from "./sidebar-
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-CdG-5FiE.mjs";
|
|
6
|
+
import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, k as cn, n as Input, t as Button$1 } from "./sidebar-CVsgosaD.mjs";
|
|
7
|
+
import { t as consoleAccess } from "./console-access-aUpQs49I.mjs";
|
|
8
|
+
import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
11
9
|
import { i as useQuery, n as useMutation, s as useQueryClient, t as useInfiniteQuery } from "../_libs/tanstack__react-query.mjs";
|
|
12
10
|
import { l as keepPreviousData } from "../_libs/tanstack__query-core.mjs";
|
|
11
|
+
import { r as requireConsoleFeature } from "./console-features-api-DSSgCV3v.mjs";
|
|
12
|
+
import { a as EmptyMedia, i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-Bh1FEeYF.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-BpT7r-ng.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-B8AqlJwo.mjs";
|
|
15
|
+
import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-B4ALf7NJ.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-HKCaPH3e.mjs";
|
|
13
17
|
import { n as toast } from "../_libs/sonner.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import { r as
|
|
16
|
-
import {
|
|
17
|
-
import { i as
|
|
18
|
-
import {
|
|
19
|
-
import { i as InputGroupInput, n as InputGroupAddon, o as Textarea, r as InputGroupButton, t as InputGroup } from "./input-group-c65TGOPW.mjs";
|
|
20
|
-
import { i as useChannelsQuery } from "./api-CVve4Y9C.mjs";
|
|
21
|
-
import { n as useDialogTarget, r as useOpenSession, t as Switch$1 } from "./switch-B6TmLbu-.mjs";
|
|
18
|
+
import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs$1 } from "./tabs-CrmfOlJj.mjs";
|
|
19
|
+
import { a as SelectItem, i as SelectGroup, n as Select$1, o as SelectTrigger, r as SelectContent, s as SelectValue, t as PlatformIcon } from "./select-BtdGNSmp.mjs";
|
|
20
|
+
import { i as InputGroupInput, n as InputGroupAddon, o as Textarea, r as InputGroupButton, t as InputGroup } from "./input-group-xm3LzDuq.mjs";
|
|
21
|
+
import { i as useChannelsQuery } from "./api-C_0B7NXM.mjs";
|
|
22
|
+
import { n as useDialogTarget, r as useOpenSession, t as Switch$1 } from "./switch-BmARgkUP.mjs";
|
|
22
23
|
import { n as require_dayjs_min, t as require_relativeTime } from "../_libs/dayjs.mjs";
|
|
23
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-
|
|
24
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/remote-config-Mj05qVYZ.js
|
|
24
25
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
25
26
|
var import_jsx_runtime = require_jsx_runtime();
|
|
26
27
|
var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min());
|
|
@@ -2636,8 +2637,8 @@ function RemoteConfigPage({ tab, onTabChange }) {
|
|
|
2636
2637
|
]
|
|
2637
2638
|
});
|
|
2638
2639
|
}
|
|
2639
|
-
var $$splitComponentImporter = () => import("./remote-config-
|
|
2640
|
-
var $$splitNotFoundComponentImporter = () => import("./remote-config-
|
|
2640
|
+
var $$splitComponentImporter = () => import("./remote-config-10-obSZ0.mjs");
|
|
2641
|
+
var $$splitNotFoundComponentImporter = () => import("./remote-config-Dj1eTYi4.mjs");
|
|
2641
2642
|
var Route = createFileRoute("/remote-config")({
|
|
2642
2643
|
beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "remoteConfig"),
|
|
2643
2644
|
notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
|
package/.output/server/_ssr/{remote-config-rpc-DNjk69nN.mjs → remote-config-rpc-lteqDSLn.mjs}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { u as createServerFn } from "./createMiddleware-B1iPez7u.mjs";
|
|
2
|
-
import { t as consoleAccess } from "./console-access-
|
|
2
|
+
import { t as consoleAccess } from "./console-access-aUpQs49I.mjs";
|
|
3
3
|
import { t as createServerRpc } from "./createServerRpc-BaDJLGBx.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-lteqDSLn.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-DTdsG47T.mjs"), import("./runtime.server-DsHqVqTr.mjs")]);
|
|
8
8
|
const { runtime } = await prepareConfig();
|
|
9
9
|
return requireFeature(runtime, "remoteConfig");
|
|
10
10
|
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { u as createServerFn } from "./createMiddleware-B1iPez7u.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
4
|
import { O as Info, S as Moon, T as LoaderCircle, b as Package, c as Sun, i as TriangleAlert, w as LogOut, x as OctagonX, z as CircleCheck } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { A as createSsrRpc, E as TooltipProvider, M as useSidebar, _ 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-
|
|
5
|
+
import { A as createSsrRpc, E as TooltipProvider, M as useSidebar, _ 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-CVsgosaD.mjs";
|
|
6
|
+
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
7
|
import { t as QueryClient } from "../_libs/tanstack__query-core.mjs";
|
|
8
|
+
import { r as requireConsoleFeature, t as consoleFeaturesQueryOptions } from "./console-features-api-DSSgCV3v.mjs";
|
|
9
|
+
import { t as NotFoundPage } from "./NotFoundPage-u28ndvp1.mjs";
|
|
7
10
|
import { n as toast, t as Toaster } from "../_libs/sonner.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { n as Route$6 } from "./installations-D6X1wvQA.mjs";
|
|
14
|
-
import { n as Route$7 } from "./remote-config-BdOas6KI.mjs";
|
|
15
|
-
import { n as Route$8, o as useFeatureUi } from "./routes-DxfbhYOp.mjs";
|
|
11
|
+
import { t as Route$4 } from "./insights-CCyTACIw.mjs";
|
|
12
|
+
import { t as Route$5 } from "./insights_.distribution-CTwilMPm.mjs";
|
|
13
|
+
import { n as Route$6 } from "./installations-Bct7ag5y.mjs";
|
|
14
|
+
import { n as Route$7 } from "./remote-config-Mj05qVYZ.mjs";
|
|
15
|
+
import { n as Route$8, o as useFeatureUi } from "./routes-BZbrY_qw.mjs";
|
|
16
16
|
import { t as setupRouterSsrQueryIntegration } from "../_libs/@tanstack/react-router-ssr-query+[...].mjs";
|
|
17
17
|
import { t as z } from "../_libs/next-themes.mjs";
|
|
18
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/router-
|
|
18
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/router-Dr4jjjhx.js
|
|
19
19
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
20
20
|
var import_jsx_runtime = require_jsx_runtime();
|
|
21
21
|
function HotUpdaterLogo({ className }) {
|
|
@@ -341,7 +341,7 @@ var Toaster$1 = ({ ...props }) => {
|
|
|
341
341
|
};
|
|
342
342
|
var getConsoleAccessRpc = createServerFn({ method: "GET" }).handler(createSsrRpc("c504696e68ba764b48c48aa8a40275938640941e473cf9cfdd7b2322d99f9d13"));
|
|
343
343
|
var getConsoleAuthProvidersRpc = createServerFn({ method: "GET" }).handler(createSsrRpc("fa8c48f0489d97c62b9b68fd0caf0a61b15bad25a42b3866ec36264b4b30bb74"));
|
|
344
|
-
var styles_default = "/assets/styles-
|
|
344
|
+
var styles_default = "/assets/styles-CpiW_YdW.css";
|
|
345
345
|
var Route$3 = createRootRouteWithContext()({
|
|
346
346
|
head: () => ({
|
|
347
347
|
meta: [
|
|
@@ -414,15 +414,15 @@ function AuthorizedConsole({ canSignOut }) {
|
|
|
414
414
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {})
|
|
415
415
|
})] });
|
|
416
416
|
}
|
|
417
|
-
var $$splitComponentImporter = () => import("./api-keys-
|
|
418
|
-
var $$splitNotFoundComponentImporter = () => import("./api-keys-
|
|
417
|
+
var $$splitComponentImporter = () => import("./api-keys-pRNvn2-9.mjs");
|
|
418
|
+
var $$splitNotFoundComponentImporter = () => import("./api-keys-CLH38u9B.mjs");
|
|
419
419
|
var Route$2 = createFileRoute("/api-keys")({
|
|
420
420
|
beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "apiKeys"),
|
|
421
421
|
notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
|
|
422
422
|
component: lazyRouteComponent($$splitComponentImporter, "component")
|
|
423
423
|
});
|
|
424
424
|
var handleAuthRequest = async ({ request }) => {
|
|
425
|
-
const { handleConsoleAuth } = await import("./auth.server-
|
|
425
|
+
const { handleConsoleAuth } = await import("./auth.server-DR9zc0EU.mjs");
|
|
426
426
|
return handleConsoleAuth(request);
|
|
427
427
|
};
|
|
428
428
|
var Route$1 = createFileRoute("/api/auth/$")({ server: { handlers: {
|
|
@@ -430,8 +430,8 @@ var Route$1 = createFileRoute("/api/auth/$")({ server: { handlers: {
|
|
|
430
430
|
POST: handleAuthRequest
|
|
431
431
|
} } });
|
|
432
432
|
var Route = createFileRoute("/api/bundles/$bundleId/download")({ server: { handlers: { GET: async ({ params, request }) => {
|
|
433
|
-
const { prepareConfig } = await import("./config.server-
|
|
434
|
-
const { downloadBundle } = await import("./downloadBundle-
|
|
433
|
+
const { prepareConfig } = await import("./config.server-DTdsG47T.mjs");
|
|
434
|
+
const { downloadBundle } = await import("./downloadBundle-94jPBGSO.mjs");
|
|
435
435
|
const { core, storage } = await prepareConfig(request);
|
|
436
436
|
return downloadBundle(params.bundleId, {
|
|
437
437
|
core,
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
-
import {
|
|
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 { C as Minus, E as List, F as Download, G as Check, H as ChevronRight, M as FingerprintPattern, P as ExternalLink, R as CircleOff, T as LoaderCircle, U as ChevronLeft, W as ChevronDown, Z as ArrowRight, _ as Plus, a as Trash2, b as Package, h as RotateCcw, i as TriangleAlert, j as Funnel, o as Tags, s as Tag, t as X } 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 { a as Badge, c as CardDescription, d as CardTitle, f as Field, g as FieldLabel, h as FieldGroup, i as AlertTitle, m as FieldError, o as Card, p as FieldDescription, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader, y as Label } from "./field-0KdP_8LI.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-BlEXzHma.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-CdG-5FiE.mjs";
|
|
8
|
-
import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-BEpbu0xs.mjs";
|
|
9
|
-
import { n as toast } from "../_libs/sonner.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-CVsgosaD.mjs";
|
|
10
5
|
import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
6
|
+
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-BpT7r-ng.mjs";
|
|
7
|
+
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-B8AqlJwo.mjs";
|
|
8
|
+
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-B4ALf7NJ.mjs";
|
|
9
|
+
import { a as FieldLabel, c as Label, i as FieldGroup, n as FieldDescription, r as FieldError, t as Field } from "./field-HKCaPH3e.mjs";
|
|
10
|
+
import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-M5P3YUfY.mjs";
|
|
11
|
+
import { n as toast } from "../_libs/sonner.mjs";
|
|
11
12
|
import { E as normalizeRolloutCohortCount, T as normalizeCohortValue, _ as getPatchBaseBundleId, h as getNumericCohortRolloutPosition, i as NUMERIC_COHORT_SIZE, t as INVALID_COHORT_ERROR_MESSAGE, v as getPatchBaseFileHash, w as isValidCohort, y as getPatchFileHash } from "./dist-CbQbBIw-.mjs";
|
|
12
13
|
import { r as extractTimestampFromUUIDv7 } from "./uuidv7-C88s9jWF.mjs";
|
|
13
14
|
import { n as normalizeRange } from "../_libs/verkit.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import { a as SelectItem, i as SelectGroup, n as Select$1, o as SelectTrigger, r as SelectContent, s as SelectValue, t as PlatformIcon } from "./select-
|
|
16
|
-
import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as Textarea, t as InputGroup } from "./input-group-
|
|
17
|
-
import { a as useConfigQuery, c as useDeleteReleaseMutation, d as useReleaseCatalogDiagnosticsQuery, f as useReleaseQuery, i as useChannelsQuery, l as usePreflightReleaseMutation, m as useUpdateReleaseMutation, n as useBundleChildrenQuery, o as useCreateChannelMutation, p as useReleasesQuery, r as useBundleQuery, s as useDeleteChannelMutation, t as useBundleChildCountsQuery, u as usePromoteReleaseMutation } from "./api-
|
|
18
|
-
import { t as BundleIdDisplay } from "./BundleIdDisplay-
|
|
19
|
-
import { t as HashValueDisplay } from "./HashValueDisplay-
|
|
20
|
-
import { n as useDialogTarget, t as Switch$1 } from "./switch-
|
|
15
|
+
import { n as InfoTooltip } from "./insights-search-CBYoxT7v.mjs";
|
|
16
|
+
import { a as SelectItem, i as SelectGroup, n as Select$1, o as SelectTrigger, r as SelectContent, s as SelectValue, t as PlatformIcon } from "./select-BtdGNSmp.mjs";
|
|
17
|
+
import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as Textarea, t as InputGroup } from "./input-group-xm3LzDuq.mjs";
|
|
18
|
+
import { a as useConfigQuery, c as useDeleteReleaseMutation, d as useReleaseCatalogDiagnosticsQuery, f as useReleaseQuery, i as useChannelsQuery, l as usePreflightReleaseMutation, m as useUpdateReleaseMutation, n as useBundleChildrenQuery, o as useCreateChannelMutation, p as useReleasesQuery, r as useBundleQuery, s as useDeleteChannelMutation, t as useBundleChildCountsQuery, u as usePromoteReleaseMutation } from "./api-C_0B7NXM.mjs";
|
|
19
|
+
import { t as BundleIdDisplay } from "./BundleIdDisplay-CjSnY65J.mjs";
|
|
20
|
+
import { t as HashValueDisplay } from "./HashValueDisplay-Zs7ABoOi.mjs";
|
|
21
|
+
import { n as useDialogTarget, t as Switch$1 } from "./switch-BmARgkUP.mjs";
|
|
21
22
|
import { n as require_dayjs_min, t as require_relativeTime } from "../_libs/dayjs.mjs";
|
|
22
|
-
import { a as updateReleaseFilters, i as releaseFilterOf, n as Route, r as hasReleaseFilters, s as useReleaseColumns, t as ReleaseSections } from "./routes-
|
|
23
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
23
|
+
import { a as updateReleaseFilters, i as releaseFilterOf, n as Route, r as hasReleaseFilters, s as useReleaseColumns, t as ReleaseSections } from "./routes-BZbrY_qw.mjs";
|
|
24
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-B5KrCDwk.js
|
|
24
25
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
25
26
|
var import_jsx_runtime = require_jsx_runtime();
|
|
26
27
|
var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min());
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
+
import { n as consoleFeatures } from "./console-features-4xAGfZHw.mjs";
|
|
1
2
|
import { u as createServerFn } from "./createMiddleware-B1iPez7u.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
|
+
import { yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
4
|
import { D as KeyRound, K as ChartNoAxesCombined, d as SlidersHorizontal, q as ChartLine } 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 { i as useQuery } from "../_libs/tanstack__react-query.mjs";
|
|
8
|
-
import { n as consoleFeatures } from "./console-features-Oz0q20jJ.mjs";
|
|
5
|
+
import { A as createSsrRpc, C as Skeleton, O as buttonVariants, k as cn, r as Separator$1 } from "./sidebar-CVsgosaD.mjs";
|
|
6
|
+
import { t as consoleAccess } from "./console-access-aUpQs49I.mjs";
|
|
9
7
|
import { f as lazyRouteComponent, h as Link, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { n as
|
|
14
|
-
import {
|
|
15
|
-
|
|
8
|
+
import { i as useQuery } from "../_libs/tanstack__react-query.mjs";
|
|
9
|
+
import { a as useConsoleFeatures, i as useConsoleFeature } from "./console-features-api-DSSgCV3v.mjs";
|
|
10
|
+
import { d as CardTitle, l as CardFooter, o as Card, s as CardContent, u as CardHeader } from "./badge-BpT7r-ng.mjs";
|
|
11
|
+
import { n as readRecoveryInput } from "./insights-recovery-BUuQdlA3.mjs";
|
|
12
|
+
import { i as failureRate, s as formatRate } from "./insights-failures-BJN3RfLu.mjs";
|
|
13
|
+
import { n as InfoTooltip, r as adoptionWindow } from "./insights-search-CBYoxT7v.mjs";
|
|
14
|
+
import { u as useUpdateFailuresQuery } from "./insights-api-DtRFz5X3.mjs";
|
|
15
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-BZbrY_qw.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: {
|
|
@@ -119,8 +119,8 @@ function BundleMovementSummary({ report, loading = false, input, variant = "inli
|
|
|
119
119
|
className: "min-w-0 rounded-sm hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
120
120
|
to: "/insights",
|
|
121
121
|
search: {
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
platform: input.platform,
|
|
123
|
+
channel: input.channel,
|
|
124
124
|
releaseId: input.releaseId,
|
|
125
125
|
bundleWindow: adoptionWindow(input.releaseId)
|
|
126
126
|
},
|
|
@@ -206,8 +206,8 @@ function BundleInsightsSummary({ input }) {
|
|
|
206
206
|
}),
|
|
207
207
|
to: "/insights",
|
|
208
208
|
search: {
|
|
209
|
-
|
|
210
|
-
|
|
209
|
+
platform: input.platform,
|
|
210
|
+
channel: input.channel,
|
|
211
211
|
releaseId: input.releaseId,
|
|
212
212
|
bundleWindow: adoptionWindow(input.releaseId),
|
|
213
213
|
healthChart: "adoption"
|
|
@@ -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-B5KrCDwk.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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as resolveConsoleFeatures, n as consoleFeatures, t as ConsoleFeatureUnavailableError } from "./console-features-
|
|
1
|
+
import { i as resolveConsoleFeatures, n as consoleFeatures, t as ConsoleFeatureUnavailableError } from "./console-features-4xAGfZHw.mjs";
|
|
2
2
|
import { t as isRemoteDatabase } from "./databaseConfig-C5SkAyUy.mjs";
|
|
3
3
|
import { a as createInsightsReads, i as createInsightsAdminReads, n as createRemoteConfigAdminApi, o as createInsightsModel, r as RemoteConfigValidationError } from "./plugins-BaD1slHx.mjs";
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/runtime.server-
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/runtime.server-DsHqVqTr.js
|
|
5
5
|
var invalidOf = (error) => {
|
|
6
6
|
if (error instanceof RemoteConfigValidationError) return {
|
|
7
7
|
status: "invalid",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
|
-
import {
|
|
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 { G as Check, V as ChevronUp, W as ChevronDown } from "../_libs/lucide-react.mjs";
|
|
4
|
-
import { k as cn } from "./sidebar-
|
|
4
|
+
import { k as cn } from "./sidebar-CVsgosaD.mjs";
|
|
5
5
|
require_react();
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
7
|
function AppleIcon({ className }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
2
|
import { _ as parseSetCookie, a as TSS_SERVER_FUNCTION, b as serialize, c as createMiddleware, d as flattenMiddlewares, f as getStartContext, g as parse, h as mergeHeaders, i as TSS_FORMDATA_CONTEXT, l as createNullProtoObject, m as isRedirect, n as MAX_FRAME_PAYLOAD_SIZE, o as X_TSS_RAW_RESPONSE, p as getStartOptions, r as TSS_CONTENT_TYPE_FRAMED_VERSIONED, s as X_TSS_SERIALIZED, t as MAX_FRAMED_STREAMS, v as runWithStartContext, x as splitSetCookieString, y as safeObjectMerge } from "./createMiddleware-B1iPez7u.mjs";
|
|
3
|
-
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-
|
|
4
|
-
import {
|
|
3
|
+
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-KpQ5Z_24.mjs";
|
|
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";
|
|
7
7
|
import { Readable } from "node:stream";
|
|
@@ -3966,7 +3966,7 @@ var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
|
|
|
3966
3966
|
* the dev styles URL for route-scoped CSS collection.
|
|
3967
3967
|
*/
|
|
3968
3968
|
async function getStartManifest(matchedRoutes) {
|
|
3969
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
3969
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-_BY9hYTm.mjs");
|
|
3970
3970
|
const startManifest = tsrStartManifest();
|
|
3971
3971
|
let routes = startManifest.routes;
|
|
3972
3972
|
routes[rootRouteId];
|
|
@@ -6988,7 +6988,7 @@ var getBaseManifest = getProdBaseManifest;
|
|
|
6988
6988
|
var createEarlyHintsForRequest = createEarlyHintsCollector;
|
|
6989
6989
|
async function loadEntries() {
|
|
6990
6990
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
6991
|
-
import("./router-
|
|
6991
|
+
import("./router-Dr4jjjhx.mjs"),
|
|
6992
6992
|
import("./start-B6ECIE_7.mjs"),
|
|
6993
6993
|
import("./empty-plugin-adapters-CpCHi1TV.mjs")
|
|
6994
6994
|
]);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { a as TSS_SERVER_FUNCTION } from "./createMiddleware-B1iPez7u.mjs";
|
|
3
|
-
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-
|
|
4
|
-
import { $ as
|
|
3
|
+
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-KpQ5Z_24.mjs";
|
|
4
|
+
import { $ as DialogTitle, Q as DialogTrigger, _t as Button, at as DialogBackdrop, bt as require_react, ct as TooltipProvider$1, dt as TooltipPositioner, et as DialogRoot, ft as TooltipPortal, it as DialogClose, lt as TooltipArrow, mt as TooltipRoot, nt as DialogPopup, ot as useRender, pt as TooltipTrigger$1, rt as DialogDescription, st as Separator, tt as DialogPortal, ut as TooltipPopup, vt as mergeProps, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
5
5
|
import { t as X, y as PanelLeft } from "../_libs/lucide-react.mjs";
|
|
6
6
|
import { n as clsx, t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
7
7
|
import { t as twMerge } from "../_libs/tailwind-merge.mjs";
|
|
8
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/sidebar-
|
|
8
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/sidebar-CVsgosaD.js
|
|
9
9
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
10
10
|
var import_jsx_runtime = require_jsx_runtime();
|
|
11
11
|
var createSsrRpc = (functionId) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as defaultStreamHandler, n as createStartHandler, r as createServerEntry$1 } from "./server-
|
|
1
|
+
import { a as defaultStreamHandler, n as createStartHandler, r as createServerEntry$1 } from "./server-BxaHSwHh.mjs";
|
|
2
2
|
//#region node_modules/.nitro/vite/services/ssr/index.js
|
|
3
3
|
var fetch = createStartHandler(defaultStreamHandler);
|
|
4
4
|
var createServerEntry = createServerEntry$1;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { k as cn } from "./sidebar-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/switch-
|
|
2
|
+
import { bt as require_react, i as SwitchRoot, r as SwitchThumb, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
|
+
import { k as cn } from "./sidebar-CVsgosaD.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/switch-BmARgkUP.js
|
|
5
5
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
7
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { k as cn } from "./sidebar-
|
|
2
|
+
import { bt as require_react, yt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
|
+
import { k as cn } from "./sidebar-CVsgosaD.mjs";
|
|
4
4
|
require_react();
|
|
5
5
|
var import_jsx_runtime = require_jsx_runtime();
|
|
6
6
|
function Table({ className, ...props }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { J as TabsTab, K as TabsList$1, Y as TabsRoot, q as TabsPanel, 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-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/tabs-
|
|
3
|
+
import { k as cn } from "./sidebar-CVsgosaD.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/tabs-CrmfOlJj.js
|
|
5
5
|
var import_jsx_runtime = require_jsx_runtime();
|
|
6
6
|
function Tabs$1({ className, orientation = "horizontal", ...props }) {
|
|
7
7
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TabsRoot, {
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { r as recoveryWindows, t as insightsPeriodEnd } from "./insights-recovery-BUuQdlA3.mjs";
|
|
2
|
+
import { c as readUpdateFailuresInput, i as failureRate, t as checkFailureRate } from "./insights-failures-BJN3RfLu.mjs";
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/updateFailures-z1IQy_4q.js
|
|
4
|
+
var total = (reports, count) => reports.reduce((sum, report) => sum + count(report), 0);
|
|
5
|
+
/** Counts summed by key, most first, then in key order. */
|
|
6
|
+
var summed = (rows, keyOf, merge) => {
|
|
7
|
+
const groups = /* @__PURE__ */ new Map();
|
|
8
|
+
for (const row of rows) {
|
|
9
|
+
const key = keyOf(row);
|
|
10
|
+
groups.set(key, [...groups.get(key) ?? [], row]);
|
|
11
|
+
}
|
|
12
|
+
return [...groups].map(([key, group]) => ({
|
|
13
|
+
key,
|
|
14
|
+
row: merge(group[0], group)
|
|
15
|
+
})).sort((left, right) => right.row.events - left.row.events || (left.key < right.key ? -1 : left.key > right.key ? 1 : 0)).map(({ row }) => row);
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Both platforms' failures as one report. An installation runs on one
|
|
19
|
+
* platform, so its counts and installation estimates add up; the period is
|
|
20
|
+
* complete only where both are.
|
|
21
|
+
*/
|
|
22
|
+
function mergeUpdateFailures(reports) {
|
|
23
|
+
if (reports.length === 1) return reports[0];
|
|
24
|
+
const sinceMs = reports.map(({ coverage }) => coverage.sinceMs);
|
|
25
|
+
const latestSince = sinceMs.includes(null) ? null : Math.max(...sinceMs);
|
|
26
|
+
const checks = reports.flatMap((report) => report.checks ? [report.checks] : []);
|
|
27
|
+
const breakdowns = reports.flatMap((report) => report.breakdown ?? []);
|
|
28
|
+
return {
|
|
29
|
+
coverage: latestSince !== null && reports.every(({ coverage }) => coverage.kind === "complete") ? {
|
|
30
|
+
kind: "complete",
|
|
31
|
+
sinceMs: latestSince
|
|
32
|
+
} : {
|
|
33
|
+
kind: "partial",
|
|
34
|
+
sinceMs: latestSince
|
|
35
|
+
},
|
|
36
|
+
measuredAtMs: Math.min(...reports.map((report) => report.measuredAtMs)),
|
|
37
|
+
failedUpdates: total(reports, (report) => report.failedUpdates),
|
|
38
|
+
failedInstallations: total(reports, (report) => report.failedInstallations),
|
|
39
|
+
downloads: total(reports, (report) => report.downloads),
|
|
40
|
+
patchDownloads: total(reports, (report) => report.patchDownloads),
|
|
41
|
+
patchFallbacks: total(reports, (report) => report.patchFallbacks),
|
|
42
|
+
...checks.length === 0 ? {} : { checks: {
|
|
43
|
+
failures: checks.reduce((sum, row) => sum + row.failures, 0),
|
|
44
|
+
failedInstallations: checks.reduce((sum, row) => sum + row.failedInstallations, 0),
|
|
45
|
+
activeInstallations: checks.reduce((sum, row) => sum + row.activeInstallations, 0)
|
|
46
|
+
} },
|
|
47
|
+
...reports.some((report) => report.breakdown) ? { breakdown: summed(breakdowns, ({ stage, reason }) => JSON.stringify([stage, reason]), (first, group) => ({
|
|
48
|
+
stage: first.stage,
|
|
49
|
+
reason: first.reason,
|
|
50
|
+
events: group.reduce((sum, row) => sum + row.events, 0),
|
|
51
|
+
details: summed(group.flatMap((row) => row.details), ({ resource, httpStatus, originCode, transport }) => JSON.stringify([
|
|
52
|
+
resource,
|
|
53
|
+
httpStatus,
|
|
54
|
+
originCode,
|
|
55
|
+
transport
|
|
56
|
+
]), (detail, details) => ({
|
|
57
|
+
...detail,
|
|
58
|
+
events: details.reduce((sum, row) => sum + row.events, 0)
|
|
59
|
+
}))
|
|
60
|
+
})) } : {}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* A release's or a channel's update failures over a period that ends with
|
|
65
|
+
* the current hour. Both platforms read each and merge, except a release's,
|
|
66
|
+
* which reads only the platform it was deployed to.
|
|
67
|
+
*/
|
|
68
|
+
async function getUpdateFailuresReport(reads, input, now = Date.now(), releases) {
|
|
69
|
+
readUpdateFailuresInput(input);
|
|
70
|
+
const end = insightsPeriodEnd(now);
|
|
71
|
+
const timeRange = input.window === void 0 ? void 0 : {
|
|
72
|
+
start: Math.max(0, end - recoveryWindows[input.window].durationMs),
|
|
73
|
+
end
|
|
74
|
+
};
|
|
75
|
+
const scope = {
|
|
76
|
+
channel: input.channel,
|
|
77
|
+
...input.releaseId === void 0 ? {} : { releaseId: input.releaseId }
|
|
78
|
+
};
|
|
79
|
+
const release = input.platform === "all" && input.releaseId !== void 0 && releases ? await releases.getRelease(input.releaseId) : null;
|
|
80
|
+
const platforms = input.platform !== "all" ? [input.platform] : release ? [release.platform] : ["ios", "android"];
|
|
81
|
+
const read = async (range) => mergeUpdateFailures(await Promise.all(platforms.map((platform) => reads.getUpdateFailures({
|
|
82
|
+
...scope,
|
|
83
|
+
platform,
|
|
84
|
+
...range === void 0 ? {} : { timeRange: range }
|
|
85
|
+
}))));
|
|
86
|
+
const previousRange = timeRange && timeRange.start >= timeRange.end - timeRange.start ? {
|
|
87
|
+
start: timeRange.start - (timeRange.end - timeRange.start),
|
|
88
|
+
end: timeRange.start
|
|
89
|
+
} : void 0;
|
|
90
|
+
const [failures, previous] = await Promise.all([read(timeRange), previousRange === void 0 ? void 0 : read(previousRange)]);
|
|
91
|
+
return {
|
|
92
|
+
...failures,
|
|
93
|
+
startMs: timeRange?.start ?? null,
|
|
94
|
+
endMs: end,
|
|
95
|
+
...previous === void 0 ? {} : { previous: {
|
|
96
|
+
attemptRate: failureRate(previous),
|
|
97
|
+
checkRate: previous.checks ? checkFailureRate(previous.checks) : null,
|
|
98
|
+
complete: previous.coverage.kind === "complete" && failures.coverage.kind === "complete"
|
|
99
|
+
} }
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { getUpdateFailuresReport, mergeUpdateFailures };
|