@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
package/src/routes/insights.tsx
CHANGED
|
@@ -7,6 +7,7 @@ import { FailureReports } from "@/components/features/insights/FailureReports";
|
|
|
7
7
|
import { InsightsControls } from "@/components/features/insights/InsightsControls";
|
|
8
8
|
import { InsightsOverview } from "@/components/features/insights/InsightsOverview";
|
|
9
9
|
import { InsightsPageHeader } from "@/components/features/insights/InsightsPageHeader";
|
|
10
|
+
import { InsightsScope } from "@/components/features/insights/InsightsScope";
|
|
10
11
|
import { UpdateFailures } from "@/components/features/insights/UpdateFailures";
|
|
11
12
|
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
|
12
13
|
import { requireConsoleFeature } from "@/lib/console-features-api";
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
} from "@/lib/insights-api";
|
|
17
18
|
import {
|
|
18
19
|
comparedBundleIds,
|
|
20
|
+
DEFAULT_INSIGHTS_CHANNEL,
|
|
19
21
|
validateInsightsSearch,
|
|
20
22
|
} from "@/lib/insights-search";
|
|
21
23
|
import type { AppUsageScope, UsageWindow } from "@/lib/insights-usage";
|
|
@@ -37,9 +39,10 @@ function InsightsPage() {
|
|
|
37
39
|
const retention = useInsightsRetention();
|
|
38
40
|
const usageWindow = search.window ?? "24h";
|
|
39
41
|
const bundleWindow = search.bundleWindow ?? "24h";
|
|
40
|
-
const channel = search.channel ??
|
|
42
|
+
const channel = search.channel ?? DEFAULT_INSIGHTS_CHANNEL;
|
|
43
|
+
const platform = search.platform ?? "all";
|
|
41
44
|
const scope: AppUsageScope = {
|
|
42
|
-
platform
|
|
45
|
+
platform,
|
|
43
46
|
channel,
|
|
44
47
|
appVersion: search.appVersion,
|
|
45
48
|
};
|
|
@@ -47,7 +50,7 @@ function InsightsPage() {
|
|
|
47
50
|
void navigate({ search: { ...search, window } });
|
|
48
51
|
const input = { ...scope, window: usageWindow };
|
|
49
52
|
const bundleInput = {
|
|
50
|
-
platform
|
|
53
|
+
platform,
|
|
51
54
|
channel,
|
|
52
55
|
window: bundleWindow,
|
|
53
56
|
...(search.releaseId === undefined ? {} : { releaseId: search.releaseId }),
|
|
@@ -59,7 +62,7 @@ function InsightsPage() {
|
|
|
59
62
|
});
|
|
60
63
|
const chart = search.healthChart ?? "adoption";
|
|
61
64
|
const health = useReleaseHealth({
|
|
62
|
-
platform
|
|
65
|
+
platform,
|
|
63
66
|
channel,
|
|
64
67
|
window: bundleWindow,
|
|
65
68
|
releaseIds: comparedBundleIds(search.bundles),
|
|
@@ -70,28 +73,38 @@ function InsightsPage() {
|
|
|
70
73
|
return (
|
|
71
74
|
<div className="flex h-svh min-h-0 flex-col">
|
|
72
75
|
<InsightsPageHeader view="overview" overviewSearch={search} />
|
|
76
|
+
<InsightsControls
|
|
77
|
+
filters={{
|
|
78
|
+
channel,
|
|
79
|
+
platform,
|
|
80
|
+
appVersion: search.appVersion,
|
|
81
|
+
releaseId: search.releaseId,
|
|
82
|
+
}}
|
|
83
|
+
appVersions={query.data?.appVersions ?? []}
|
|
84
|
+
releases={health.candidates ?? []}
|
|
85
|
+
onFiltersChange={(change) => {
|
|
86
|
+
const next = { ...search, ...change };
|
|
87
|
+
void navigate({
|
|
88
|
+
search: {
|
|
89
|
+
...next,
|
|
90
|
+
// Defaults stay out of the URL.
|
|
91
|
+
channel:
|
|
92
|
+
next.channel === DEFAULT_INSIGHTS_CHANNEL
|
|
93
|
+
? undefined
|
|
94
|
+
: next.channel,
|
|
95
|
+
platform: next.platform === "all" ? undefined : next.platform,
|
|
96
|
+
// A release and bundles chosen in another channel or platform
|
|
97
|
+
// do not carry over; a new focus picks its own bundles.
|
|
98
|
+
...("channel" in change || "platform" in change
|
|
99
|
+
? { releaseId: change.releaseId, bundles: undefined }
|
|
100
|
+
: {}),
|
|
101
|
+
...("releaseId" in change ? { bundles: undefined } : {}),
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}}
|
|
105
|
+
/>
|
|
73
106
|
<div className="min-h-0 min-w-0 flex-1 overflow-y-auto bg-muted/5 px-4 py-6 sm:p-8">
|
|
74
107
|
<div className="mx-auto flex w-full max-w-6xl flex-col gap-6">
|
|
75
|
-
<InsightsControls
|
|
76
|
-
key={JSON.stringify({ scope, bundleInput })}
|
|
77
|
-
scope={scope}
|
|
78
|
-
releaseScope={bundleInput}
|
|
79
|
-
appVersions={query.data?.appVersions ?? []}
|
|
80
|
-
onFiltersChange={({ scope, releaseScope }) =>
|
|
81
|
-
void navigate({
|
|
82
|
-
search: {
|
|
83
|
-
...search,
|
|
84
|
-
...scope,
|
|
85
|
-
appVersion: scope.appVersion,
|
|
86
|
-
healthPlatform: releaseScope.platform,
|
|
87
|
-
healthChannel: undefined,
|
|
88
|
-
releaseId: releaseScope.releaseId,
|
|
89
|
-
// Bundles chosen in another scope do not carry over.
|
|
90
|
-
bundles: undefined,
|
|
91
|
-
},
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
/>
|
|
95
108
|
{query.data?.truncated && !query.error ? (
|
|
96
109
|
<Alert>
|
|
97
110
|
<AlertTitle>Partial history</AlertTitle>
|
|
@@ -122,6 +135,16 @@ function InsightsPage() {
|
|
|
122
135
|
onReleasesChange={(ids) =>
|
|
123
136
|
void navigate({ search: { ...search, bundles: ids?.join(",") } })
|
|
124
137
|
}
|
|
138
|
+
onShowAllPlatforms={() =>
|
|
139
|
+
void navigate({
|
|
140
|
+
search: {
|
|
141
|
+
...search,
|
|
142
|
+
platform: undefined,
|
|
143
|
+
releaseId: undefined,
|
|
144
|
+
bundles: undefined,
|
|
145
|
+
},
|
|
146
|
+
})
|
|
147
|
+
}
|
|
125
148
|
onWindowChange={(window) =>
|
|
126
149
|
void navigate({
|
|
127
150
|
search: {
|
|
@@ -132,6 +155,15 @@ function InsightsPage() {
|
|
|
132
155
|
}
|
|
133
156
|
/>
|
|
134
157
|
<UpdateFailures
|
|
158
|
+
scope={
|
|
159
|
+
<InsightsScope
|
|
160
|
+
channel={channel}
|
|
161
|
+
platform={platform}
|
|
162
|
+
narrower={
|
|
163
|
+
search.releaseId ? [`Release ${search.releaseId}`] : []
|
|
164
|
+
}
|
|
165
|
+
/>
|
|
166
|
+
}
|
|
135
167
|
query={failuresQuery}
|
|
136
168
|
errors={
|
|
137
169
|
failuresQuery.data ? (
|
|
@@ -41,6 +41,7 @@ import { requireConsoleFeature } from "@/lib/console-features-api";
|
|
|
41
41
|
import { useInsightsRetention } from "@/lib/insights-api";
|
|
42
42
|
import { keepsTwelveMonths } from "@/lib/insights-retention";
|
|
43
43
|
import {
|
|
44
|
+
DEFAULT_INSIGHTS_CHANNEL,
|
|
44
45
|
validateDistributionSearch,
|
|
45
46
|
validateInsightsSearch,
|
|
46
47
|
} from "@/lib/insights-search";
|
|
@@ -85,7 +86,7 @@ function DistributionPage() {
|
|
|
85
86
|
const navigate = Route.useNavigate();
|
|
86
87
|
const input = {
|
|
87
88
|
platform: search.platform ?? "all",
|
|
88
|
-
channel: search.channel ??
|
|
89
|
+
channel: search.channel ?? DEFAULT_INSIGHTS_CHANNEL,
|
|
89
90
|
appVersion: search.appVersion,
|
|
90
91
|
window: search.window ?? "24h",
|
|
91
92
|
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Fn as e,Ur as t,_ as n,ar as r,b as i,ei as a,g as o,ri as s,v as c,x as l,y as u}from"./sidebar-BqX460IW.js";import{o as d}from"./useCompositeListItem-B-UkrDlu.js";import{f}from"./insights-api-Dmd_LgT3.js";import{l as p,x as m}from"./field-DBMkBfkD.js";import{r as h,t as g}from"./HashValueDisplay-BGkDPaYi.js";import{s as _}from"./input-group-B4nrqIh0.js";import{t as v}from"./smartphone-CtsHuiIC.js";import{n as y}from"./dist-dDj-R6uh.js";import{i as b,o as x,r as S,t as C}from"./empty-Bf4DanOL.js";import{n as w,r as T}from"./InsightsPageHeader-SYEOMClX.js";var E=r(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),D=r(`arrow-right-left`,[[`path`,{d:`m16 3 4 4-4 4`,key:`1x1c3m`}],[`path`,{d:`M20 7H4`,key:`zbl0bi`}],[`path`,{d:`m8 21-4-4 4-4`,key:`h9nckh`}],[`path`,{d:`M4 17h16`,key:`g4d7ey`}]]),O=r(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),k=r(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),A=r(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),j=s(a(),1),M=t(),N={UPDATE_DOWNLOADED:{label:`Downloaded`,description:`Downloaded. It launches when the app restarts.`,variant:`default`,icon:h},UPDATE_APPLIED:{label:`Launched`,description:`The app restarted into the downloaded bundle.`,variant:`success`,icon:m},RECOVERED:{label:`Crashed`,description:`Crashed on the bundle and rolled back.`,variant:`warning`,icon:_},UPDATE_FAILED:{label:`Update failed`,description:`An update check, download, or install failed.`,variant:`destructive`,icon:O},UNCHANGED:{label:`Launch`,description:`The app launched; the report changed nothing.`,variant:`secondary`,icon:E}},P=e=>{let{kinds:t=[],previous:n}=e.change??{};return t.includes(`first_seen`)?{label:`First seen`,description:`The installation's first report to this server.`,variant:`secondary`,icon:A}:t.includes(`app_version`)||t.includes(`native_build`)?{label:`App updated`,description:n&&n.appVersion!==e.appVersion?`From app ${n.appVersion} to ${e.appVersion}.`:`A new build of the same app version.`,variant:`secondary`,icon:v}:t.includes(`bundle`)?{label:`Launched`,description:`Seen running this bundle; the report of the restart into it never arrived.`,variant:`success`,icon:m}:t.includes(`release`)?{label:`Release adopted`,description:`The bundle it runs now ships under another release.`,variant:`secondary`,icon:D}:t.includes(`channel`)?{label:`Channel changed`,description:n?`From ${n.channel} to ${e.channel}.`:`It reports on another channel.`,variant:`secondary`,icon:D}:N.UNCHANGED},F=e=>e.type===`UNCHANGED`&&e.change?P({change:e.change,appVersion:e.appVersion??``,channel:e.channel??``}):N[e.type];function I(){let[e,t]=(0,j.useState)(`UTC`);return(0,j.useEffect)(()=>{t(Intl.DateTimeFormat().resolvedOptions().timeZone)},[]),new Intl.DateTimeFormat(`en`,{timeZone:e,timeZoneName:`shortOffset`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`})}function L(e,t){let n=Object.fromEntries(t.formatToParts(new Date(e)).map(({type:e,value:t})=>[e,t])),r=n.timeZoneName===`GMT`?`GMT+0`:n.timeZoneName;return`${n.year}/${n.month}/${n.day} ${n.hour}:${n.minute}:${n.second} ${r}`}function R({value:e,formatter:t,touch:n=!1}){let r=new Date(e),i=L(e,t);return(0,M.jsxs)(`details`,{className:`group/time`,children:[(0,M.jsx)(`summary`,{className:`cursor-pointer list-none rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/30 [&::-webkit-details-marker]:hidden ${n?`flex min-h-11 items-center`:``}`,children:(0,M.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`time`,{dateTime:r.toISOString(),className:`whitespace-nowrap`,children:i}),(0,M.jsx)(d,{"aria-hidden":`true`,className:`size-3 text-muted-foreground group-open/time:rotate-180`})]})}),(0,M.jsx)(`p`,{className:`mt-2 text-muted-foreground`,children:r.toISOString().replace(`T`,` `).replace(`Z`,` UTC`)})]})}var z={patch:`A patch delivered it.`,manifest:`Only the changed files were downloaded.`,archive:`The full archive was downloaded.`},B=e=>{if(e.late)return`Counted nothing: the installation had already downloaded or run this bundle.`;if(e.impliedDownload)return`Its download report never arrived; the download counted with it.`;if(e.type===`UPDATE_FAILED`&&e.failure)return f(e.failure);if(e.type===`UPDATE_DOWNLOADED`&&e.delivery){let t=z[e.delivery]??null;return e.patchFallback?`The patch failed. ${t??``}`.trim():t}return null};function V({response:t}){let n=async()=>{try{await navigator.clipboard.writeText(t.body),y.success(`Response body copied`)}catch{y.error(`Could not copy the response body`)}};return(0,M.jsxs)(`section`,{"aria-label":`Response body`,className:`flex min-w-0 flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-medium`,children:`Response body`}),(0,M.jsxs)(e,{variant:`outline`,className:`min-h-11`,disabled:t.body===null||t.body===``,onClick:()=>void n(),children:[(0,M.jsx)(k,{"aria-hidden":`true`,"data-icon":`inline-start`}),` Copy body`]})]}),t.bodyTruncated?(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Truncated to the 4 KiB reporting limit. Copy includes only the stored text.`}):null,t.body?(0,M.jsx)(`pre`,{className:`rounded-md border bg-muted/30 p-4 font-mono text-xs leading-relaxed whitespace-pre-wrap wrap-anywhere`,children:t.body}):(0,M.jsx)(C,{children:(0,M.jsxs)(b,{children:[(0,M.jsx)(x,{children:t.body===null?`Response body unavailable`:`Empty response body`}),(0,M.jsx)(S,{children:t.body===null?`The client received the HTTP status but could not read the body.`:t.status===304?`The server returned no body. The client can reuse its cached catalog.`:`The server returned no text in this response.`})]})})]})}function H({event:t}){let r=t.httpResponse,a=I(),s=r.status===304?`Not modified`:r.status>=500?`Server error`:r.status>=400?`Request error`:r.status>=300?`Redirect`:`Success`,d=r.resource===`catalog`?`Catalog`:`Artifact`,f=[[`App`,t.platform&&`${t.platform===`ios`?`iOS`:`Android`} ${t.appVersion}`],[`Channel`,t.channel],[`SDK`,t.sdkVersion],[`Installation`,t.installId]].filter(([,e])=>e!=null);return(0,M.jsxs)(o,{children:[(0,M.jsxs)(l,{"aria-label":`View ${d.toLowerCase()} response: HTTP ${r.status}`,render:(0,M.jsx)(e,{variant:`ghost`,className:`-ml-2 h-auto min-h-11 justify-start`}),children:[(0,M.jsxs)(p,{variant:r.status>=400?`destructive`:`secondary`,children:[`HTTP `,r.status]}),(0,M.jsxs)(`span`,{children:[d,` response`]})]}),(0,M.jsxs)(n,{className:`data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[(0,M.jsxs)(u,{className:`border-b pr-14`,children:[(0,M.jsx)(i,{children:`HTTP response`}),(0,M.jsxs)(c,{children:[d,` · HTTP `,r.status,` · `,s,`. Most recent response available when this report was created.`]})]}),(0,M.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-y-auto p-6`,children:[(0,M.jsxs)(`section`,{"aria-label":`Request`,className:`flex min-w-0 flex-col gap-2`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-medium`,children:`Request`}),(0,M.jsxs)(`p`,{className:`font-mono text-xs leading-relaxed whitespace-pre-wrap wrap-anywhere`,children:[`GET `,r.path]}),r.receivedAtMs==null?null:(0,M.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Response received`,` `,(0,M.jsx)(R,{value:r.receivedAtMs,formatter:a})]})]}),(0,M.jsx)(V,{response:r}),f.length?(0,M.jsxs)(`section`,{"aria-label":`Response context`,className:`flex flex-col gap-3`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-medium`,children:`Response context`}),(0,M.jsx)(`dl`,{className:`grid grid-cols-2 gap-x-6 gap-y-4`,children:f.map(([e,t])=>(0,M.jsxs)(`div`,{className:`min-w-0`,children:[(0,M.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e}),(0,M.jsx)(`dd`,{className:`mt-1 text-sm wrap-anywhere`,children:t})]},e))})]}):null]})]})]})}function U({event:e}){let t=F(e),n=t.icon,r=B(e);return(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col items-start gap-2`,children:[(0,M.jsxs)(p,{variant:t.variant,className:`gap-1 whitespace-nowrap [&_svg]:size-3`,children:[(0,M.jsx)(n,{"aria-hidden":`true`}),t.label]}),(0,M.jsx)(`p`,{className:`max-w-56 whitespace-pre-wrap wrap-anywhere text-xs text-muted-foreground`,children:e.type===`UPDATE_FAILED`&&r?r:t.description}),e.httpResponse?(0,M.jsx)(H,{event:e}):null,e.type===`UPDATE_FAILED`&&e.failure?.errorStack?(0,M.jsxs)(`details`,{className:`w-full max-w-56 text-xs`,children:[(0,M.jsx)(`summary`,{className:`cursor-pointer text-muted-foreground`,children:`Stack trace`}),(0,M.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto whitespace-pre-wrap wrap-anywhere font-mono`,children:e.failure.errorStack})]}):null,e.type!==`UPDATE_FAILED`&&r?(0,M.jsx)(`p`,{className:`max-w-56 whitespace-normal text-xs text-muted-foreground`,children:r}):null]})}function W({event:e,touch:t=!1}){let n=e.type===`UPDATE_DOWNLOADED`,r=e.type===`UPDATE_FAILED`,i=!r||e.failure?.stage!==`check`,a=e.type===`UNCHANGED`&&e.change?.kinds.includes(`bundle`)===!0&&e.change.previous!==void 0,o=a?e.change.previous.bundleId:e.fromBundleId,s=n||r||a||e.type===`UPDATE_APPLIED`||e.type===`RECOVERED`;return(0,M.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] items-center gap-x-2 gap-y-2`,children:[o&&s?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`dt`,{className:`text-muted-foreground`,children:n||r?`Running`:`From`}),(0,M.jsxs)(`dd`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(g,{value:o,buttonClassName:t?`min-h-11 px-3`:void 0}),T(o,a?e.change.previous.minBundleId:e.minBundleId)?(0,M.jsx)(w,{}):null]})]}):null,i?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`dt`,{className:`text-muted-foreground`,children:n?`Pending`:r?`Target`:s?`To`:`Current`}),(0,M.jsxs)(`dd`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(g,{value:e.toBundleId,buttonClassName:t?`min-h-11 px-3`:void 0}),T(e.toBundleId,e.minBundleId)?(0,M.jsx)(w,{}):null]})]}):null]})}export{H as a,V as i,R as n,I as o,U as r,k as s,W as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,Fn as t,Hr as n,Ur as r,Wr as i,Z as a,ar as o,cr as s,ei as c,nr as l,p as u,ri as d,rr as f}from"./sidebar-BqX460IW.js";import{a as ee,c as te,d as p,i as ne,l as m,n as h,o as g,r as _,s as v,t as y,u as b}from"./alert-dialog-BtVg50WQ.js";import{a as x,b as re,d as ie,f as ae,h as oe,i as S,l as C,m as w,n as T,p as E,r as D,t as O,u as k,v as A,x as j,y as M}from"./field-DBMkBfkD.js";import{t as N}from"./clipboard-DTkrlIMn.js";import{t as P}from"./key-round-B4fI1psK.js";import{a as F,c as I,i as L,l as R,n as z,o as B,r as se,t as V}from"./dialog-CGKPxz3n.js";import{t as H}from"./refresh-cw-DjIKjmrS.js";import{n as U}from"./dist-dDj-R6uh.js";import{a as W,i as G,n as K,o as q,r as J,t as ce}from"./table-DgGD67Fx.js";var Y=o(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),X=d(c(),1),le=f({method:`GET`}).middleware([l]).handler(i(`2c7f3cdb9bd3cab2c026a48abdc84c362db0362924a08679052a325640aec56b`)),ue=f({method:`POST`}).middleware([l]).handler(i(`68a2d94ee016be64936401f5eba60ab08a47ff373e1cf9de48e4413336e6034b`)),de=f({method:`POST`}).middleware([l]).handler(i(`a1cb80b19ca72a64fb631ca28ebb9b6941db245983de082d5dd3203ec2eef795`)),Z={list:[`api-keys`,`list`]},fe=()=>s({queryKey:Z.list,queryFn:()=>le()}),Q=()=>{let e=n();return p({mutationFn:e=>ue({data:{name:e}}),onSuccess:async()=>{await e.invalidateQueries({queryKey:Z.list})}})},pe=()=>{let e=n();return p({mutationFn:e=>de({data:{id:e}}),onSuccess:async()=>{await e.invalidateQueries({queryKey:Z.list})}})},$=r(),me=e=>new Date(e).toISOString().slice(0,10);function he(){let[e,n]=(0,X.useState)(!1),[r,i]=(0,X.useState)(``),[o,s]=(0,X.useState)(null),c=Q(),l=r.trim(),u=l.length>64?`Name must be 64 characters or fewer.`:null,d=()=>{i(``),s(null),c.reset()},f=e=>{n(e),e||d()};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(t,{onClick:()=>n(!0),children:[(0,$.jsx)(I,{"data-icon":`inline-start`}),`Create API key`]}),(0,$.jsx)(V,{open:e,onOpenChange:f,children:(0,$.jsxs)(z,{showCloseButton:o===null,children:[(0,$.jsxs)(F,{children:[(0,$.jsx)(B,{children:o===null?`Create API key`:`Save your API key`}),(0,$.jsx)(se,{children:o===null?`Name the app or environment that will use this key.`:`This key is shown once. Store it securely before closing.`})]}),o===null?(0,$.jsxs)(`form`,{onSubmit:async e=>{if(e.preventDefault(),!(l.length===0||u!==null))try{s((await c.mutateAsync(l)).apiKey),U.success(`API key created`)}catch(e){U.error(e instanceof Error?e.message:`Unable to create API key`)}},children:[(0,$.jsx)(S,{children:(0,$.jsxs)(O,{"data-invalid":u!==null||void 0,children:[(0,$.jsx)(x,{htmlFor:`api-key-name`,children:`Name`}),(0,$.jsx)(a,{id:`api-key-name`,autoComplete:`off`,maxLength:65,onChange:e=>i(e.target.value),placeholder:`Production app`,value:r}),(0,$.jsx)(T,{children:`Use a name you can identify before revoking the key.`}),(0,$.jsx)(D,{children:u})]})}),(0,$.jsx)(L,{className:`mt-4`,children:(0,$.jsxs)(t,{disabled:c.isPending||l.length===0||u!==null,type:`submit`,children:[c.isPending?(0,$.jsx)(R,{"data-icon":`inline-start`,className:`animate-spin`}):(0,$.jsx)(P,{"data-icon":`inline-start`}),`Create API key`]})})]}):(0,$.jsxs)(S,{children:[(0,$.jsxs)(O,{children:[(0,$.jsx)(x,{htmlFor:`created-api-key`,children:`API key`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(a,{id:`created-api-key`,className:`font-mono`,readOnly:!0,value:o}),(0,$.jsxs)(t,{onClick:async()=>{if(o!==null)try{await navigator.clipboard.writeText(o),U.success(`API key copied`)}catch{U.error(`Unable to copy API key`)}},type:`button`,variant:`outline`,children:[(0,$.jsx)(N,{"data-icon":`inline-start`}),`Copy`]})]})]}),(0,$.jsx)(L,{children:(0,$.jsxs)(t,{onClick:()=>f(!1),children:[(0,$.jsx)(j,{"data-icon":`inline-start`}),`Done`]})})]})]})})]})}function ge({record:e}){let[n,r]=(0,X.useState)(!1),i=pe(),a=async t=>{t.preventDefault();try{await i.mutateAsync(e.id),r(!1),U.success(`API key revoked`)}catch(e){U.error(e instanceof Error?e.message:`Unable to revoke API key`)}};return(0,$.jsxs)(y,{open:n,onOpenChange:e=>{i.isPending||r(e)},children:[(0,$.jsxs)(b,{render:(0,$.jsx)(t,{size:`sm`,variant:`ghost`}),children:[(0,$.jsx)(Y,{"data-icon":`inline-start`}),`Revoke`]}),(0,$.jsxs)(ne,{children:[(0,$.jsxs)(v,{children:[(0,$.jsx)(te,{children:(0,$.jsx)(Y,{})}),(0,$.jsxs)(m,{children:[`Revoke `,e.name,`?`]}),(0,$.jsxs)(ee,{children:[`Apps using `,e.prefix,`… will immediately lose OTA update and insights access. This action cannot be undone.`]})]}),(0,$.jsxs)(g,{children:[(0,$.jsx)(_,{disabled:i.isPending,children:`Cancel`}),(0,$.jsx)(h,{disabled:i.isPending,onClick:e=>void a(e),variant:`destructive`,children:`Revoke API key`})]})]})]})}function _e(){let n=fe();return(0,$.jsxs)(w,{className:`overflow-hidden shadow-sm`,children:[(0,$.jsxs)(A,{className:`flex-row items-center justify-between space-y-0 border-b px-4 py-3`,children:[(0,$.jsx)(M,{className:`text-sm`,children:(0,$.jsx)(`h2`,{children:`API keys`})}),(0,$.jsx)(he,{})]}),(0,$.jsx)(oe,{className:`p-0`,children:n.isError?(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsxs)(k,{variant:`destructive`,children:[(0,$.jsx)(re,{}),(0,$.jsx)(E,{children:`API keys couldn't be loaded`}),(0,$.jsx)(ae,{children:`Check your connection and try again.`}),(0,$.jsx)(ie,{children:(0,$.jsxs)(t,{onClick:()=>void n.refetch(),size:`xs`,variant:`outline`,children:[(0,$.jsx)(H,{"data-icon":`inline-start`}),`Retry`]})})]})}):(0,$.jsxs)(ce,{"aria-label":`API keys`,className:`table-fixed`,children:[(0,$.jsx)(W,{children:(0,$.jsxs)(q,{children:[(0,$.jsx)(G,{children:`Key`}),(0,$.jsx)(G,{className:`w-32`,children:`Created`}),(0,$.jsx)(G,{className:`w-24 text-right`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(K,{children:n.isLoading?Array.from({length:3},(t,n)=>(0,$.jsxs)(q,{children:[(0,$.jsxs)(J,{className:`space-y-2 py-3`,children:[n===0?(0,$.jsx)(`span`,{className:`sr-only`,children:`Loading API keys`}):null,(0,$.jsx)(e,{className:`h-3.5 w-32`}),(0,$.jsx)(e,{className:`h-3 w-20`})]}),(0,$.jsx)(J,{children:(0,$.jsx)(e,{className:`h-3.5 w-20`})}),(0,$.jsx)(J,{children:(0,$.jsx)(e,{className:`ml-auto h-6 w-16`})})]},n)):n.data?.length===0?(0,$.jsx)(q,{children:(0,$.jsx)(J,{colSpan:3,className:`h-40 text-center text-muted-foreground`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex max-w-xs flex-col items-center gap-2`,children:[(0,$.jsx)(P,{className:`size-5`}),(0,$.jsx)(`p`,{className:`font-medium text-foreground`,children:`No API keys`}),(0,$.jsx)(`p`,{children:`Create an API key to connect an app.`})]})})}):n.data?.map(e=>(0,$.jsxs)(q,{className:e.revoked_at_ms===null?void 0:`text-muted-foreground`,children:[(0,$.jsx)(J,{className:`whitespace-normal py-3`,children:(0,$.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,$.jsx)(`p`,{className:`break-words font-medium text-foreground`,children:e.name}),(0,$.jsxs)(`p`,{className:`font-mono text-xs text-muted-foreground`,children:[e.prefix,`…`]})]})}),(0,$.jsx)(J,{className:`text-xs text-muted-foreground`,children:(0,$.jsx)(`time`,{dateTime:new Date(e.created_at_ms).toISOString(),children:me(e.created_at_ms)})}),(0,$.jsx)(J,{className:`text-right`,children:e.revoked_at_ms===null?(0,$.jsx)(ge,{record:e}):(0,$.jsx)(C,{variant:`outline`,children:`Revoked`})})]},e.id))})]})})]})}function ve(){return(0,$.jsxs)(`div`,{className:`flex h-svh min-h-0 flex-col`,children:[(0,$.jsxs)(`header`,{className:`sticky top-0 z-10 flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1 border-b bg-background px-3 py-3 sm:min-h-12 sm:flex-nowrap sm:bg-card/70 sm:px-4 sm:backdrop-blur-sm`,children:[(0,$.jsx)(u,{className:`-ml-1`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(P,{"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),(0,$.jsx)(`h1`,{className:`text-sm font-medium`,children:`API keys`})]}),(0,$.jsx)(`p`,{className:`basis-full pl-9 text-xs text-muted-foreground sm:basis-auto sm:pl-0`,children:`API keys can download OTA updates and submit insights only.`})]}),(0,$.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto bg-muted/5 p-3 sm:p-6`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-5xl`,children:(0,$.jsx)(_e,{})})})]})}export{ve as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./ConsoleFeatureUnavailable-B-iNWpuE.js";var t=e;export{t as notFoundComponent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ar as e}from"./sidebar-BqX460IW.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ln as e,Q as t,Rn as n,Ur as r,Yn as i,ar as a,ei as o,ri as s}from"./sidebar-BqX460IW.js";var c=a(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),l=a(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),u=s(o(),1),d=r();function f({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`card`,className:e(`rounded-xl border bg-card text-card-foreground shadow`,t),...n})}function p({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`card-header`,className:e(`flex flex-col gap-1.5 p-6`,t),...n})}function m({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`card-title`,className:e(`font-semibold leading-none tracking-tight`,t),...n})}function h({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`card-description`,className:e(`text-sm text-muted-foreground`,t),...n})}function g({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`card-content`,className:e(`p-6 pt-0`,t),...n})}function _({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`card-footer`,className:e(`flex items-center p-6 pt-0`,t),...n})}var v=n(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2 py-1.5 text-left text-xs/relaxed has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-1.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-3.5`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function y({className:t,variant:n,...r}){return(0,d.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:e(v({variant:n}),t),...r})}function b({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`alert-title`,className:e(`font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,t),...n})}function x({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`alert-description`,className:e(`text-xs/relaxed text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,t),...n})}function S({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`alert-action`,className:e(`absolute top-1.5 right-2`,t),...n})}var C=n(`inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,success:`border-success/20 bg-success/10 text-success`,warning:`border-warning/20 bg-warning/10 text-warning`,destructive:`border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function w({className:n,variant:r=`default`,render:a,...o}){return t({defaultTagName:`span`,props:i({className:e(C({variant:r}),n)},o),render:a,state:{slot:`badge`,variant:r}})}function T({className:t,htmlFor:n,...r}){return(0,d.jsx)(`label`,{"data-slot":`label`,htmlFor:n,className:e(`flex items-center gap-2 text-xs/relaxed leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t),...r})}function E({className:t,...n}){return(0,d.jsx)(`fieldset`,{"data-slot":`field-set`,className:e(`gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col`,t),...n})}function D({className:t,variant:n=`legend`,...r}){return(0,d.jsx)(`legend`,{"data-slot":`field-legend`,"data-variant":n,className:e(`mb-2 font-medium data-[variant=label]:text-xs/relaxed data-[variant=legend]:text-sm`,t),...r})}function O({className:t,...n}){return(0,d.jsx)(`div`,{"data-slot":`field-group`,className:e(`gap-4 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col`,t),...n})}var k=n(`data-[invalid=true]:text-destructive gap-2 group/field flex w-full`,{variants:{orientation:{vertical:`flex-col [&>*]:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function A({className:t,orientation:n=`vertical`,...r}){return(0,d.jsx)(`div`,{"data-slot":`field`,"data-orientation":n,className:e(k({orientation:n}),t),...r})}function j({className:t,...n}){return(0,d.jsx)(T,{"data-slot":`field-label`,className:e(`has-data-checked:bg-primary/5 dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-2 group/field-label peer/field-label flex w-fit leading-snug`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,t),...n})}function M({className:t,...n}){return(0,d.jsx)(`p`,{"data-slot":`field-description`,className:e(`text-muted-foreground text-left text-xs/relaxed [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance`,`last:mt-0 nth-last-2:-mt-1`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,t),...n})}function N({className:t,children:n,errors:r,...i}){let a=(0,u.useMemo)(()=>{if(n)return n;if(!r?.length)return null;let e=[...new Map(r.map(e=>[e?.message,e])).values()];return e?.length===1?e[0]?.message:(0,d.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:e.map((e,t)=>e?.message&&(0,d.jsx)(`li`,{children:e.message},t))})},[n,r]);return a?(0,d.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:e(`text-destructive text-xs/relaxed font-normal`,t),...i,children:a}):null}export{_,j as a,l as b,T as c,S as d,x as f,h as g,g as h,O as i,w as l,f as m,M as n,D as o,b as p,N as r,E as s,A as t,y as u,p as v,c as x,m as y};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/insights-D0PbX-Rm.js","assets/ConsoleFeatureUnavailable-B-iNWpuE.js","assets/sidebar-BqX460IW.js","assets/console-features-api-DPE4C06Y.js","assets/arrow-up-right-B5aM0F7f.js","assets/NotFoundPage-Cei6W2lm.js","assets/empty-Bf4DanOL.js","assets/insights-CPyViuyC.js","assets/useCompositeListItem-B-UkrDlu.js","assets/alert-dialog-BtVg50WQ.js","assets/select-CV8nkfsf.js","assets/field-DBMkBfkD.js","assets/tabs-CgEH_fMT.js","assets/insights-usage-rpc-DTL0_Rp8.js","assets/valueToPercent-C4C1WZVn.js","assets/EventDetails-CSX2ayg9.js","assets/insights-api-Dmd_LgT3.js","assets/HashValueDisplay-BGkDPaYi.js","assets/dist-dDj-R6uh.js","assets/input-group-B4nrqIh0.js","assets/smartphone-CtsHuiIC.js","assets/InsightsPageHeader-SYEOMClX.js","assets/list-Dtj7TtzV.js","assets/api-DoicFJfd.js","assets/chevron-right-BnvHIJdZ.js","assets/refresh-cw-DjIKjmrS.js","assets/undo-2-DxXx9Zvr.js","assets/insights-search-DAa0f7Dr.js","assets/table-DgGD67Fx.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as e}from"./console-features-api-DPE4C06Y.js";import{a as t,c as n,s as r}from"./useCompositeListItem-B-UkrDlu.js";import{i}from"./insights-search-DAa0f7Dr.js";var a=n(`/insights`)({beforeLoad:({context:t})=>e(t.queryClient,`insightsAnalytics`),notFoundComponent:r(()=>t(()=>import(`./insights-D0PbX-Rm.js`),__vite__mapDeps([0,1,2,3,4,5,6])),`notFoundComponent`),component:r(()=>t(()=>import(`./insights-CPyViuyC.js`),__vite__mapDeps([7,2,8,3,9,10,11,12,13,14,15,16,17,18,19,20,21,22,6,23,4,24,25,26,27,28])),`component`),validateSearch:i});export{a as t};
|