Compare commits

..
Author SHA1 Message Date
ajnart b650bffaa8 fix(request-handler): restore cacheTtlMs values lost in v1.69.0 refactor
The v1.69.0 caching refactor (f19033e0d) replaced the old Redis-backed
cached request handler with a simpler in-memory handler but dropped
all per-handler cacheDuration values, defaulting everything to 10s.
This caused widgets that previously had short cache durations (e.g.
health-monitoring at 5s, dns-hole at 5s) to refresh much less
frequently since the client polls every 30s.

Restores cacheTtlMs for all affected request handlers to match their
pre-v1.69.0 values. Also adds cacheTtlMs support to
createWidgetRequestHandler which was missing it.

Beszel handlers are intentionally left untouched as they have their
own cache handling.

Fixes #6268
2026-07-15 10:53:36 +02:00
39 changed files with 72 additions and 18 deletions

No files matched your search

+1
View File
@@ -23,6 +23,7 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
ref: ${{ github.head_ref }} ref: ${{ github.head_ref }}
persist-credentials: false
- name: Setup - name: Setup
uses: ./tooling/github/setup uses: ./tooling/github/setup
+1 -1
View File
@@ -43,7 +43,7 @@
"random-word-slugs": "^0.1.7", "random-word-slugs": "^0.1.7",
"react": "catalog:", "react": "catalog:",
"react-dom": "catalog:", "react-dom": "catalog:",
"swiper": "^14.0.5", "swiper": "^14.0.2",
"tailwindcss": "^4.3.2" "tailwindcss": "^4.3.2"
}, },
"devDependencies": { "devDependencies": {
+2 -2
View File
@@ -6,7 +6,7 @@
}, },
"engines": { "engines": {
"node": ">=24.18.0", "node": ">=24.18.0",
"pnpm": ">=11.11.0" "pnpm": ">=11.10.0"
}, },
"packageManager": "pnpm@11.11.0" "packageManager": "pnpm@11.10.0"
} }
+2 -2
View File
@@ -69,7 +69,7 @@
}, },
"engines": { "engines": {
"node": ">=24.18.0", "node": ">=24.18.0",
"pnpm": ">=11.11.0" "pnpm": ">=11.10.0"
}, },
"packageManager": "pnpm@11.11.0" "packageManager": "pnpm@11.10.0"
} }
@@ -12,6 +12,7 @@ export const anchorNotesListRequestHandler = createIntegrationRequestHandler<
const instance = await createIntegrationAsync(integration); const instance = await createIntegrationAsync(integration);
return instance.listNotesAsync(input); return instance.listNotesAsync(input);
}, },
cacheTtlMs: 15_000,
}); });
export const anchorNoteRequestHandler = createIntegrationRequestHandler<AnchorNote, "anchor", { noteId: string }>({ export const anchorNoteRequestHandler = createIntegrationRequestHandler<AnchorNote, "anchor", { noteId: string }>({
@@ -19,4 +20,5 @@ export const anchorNoteRequestHandler = createIntegrationRequestHandler<AnchorNo
const instance = await createIntegrationAsync(integration); const instance = await createIntegrationAsync(integration);
return instance.getNoteAsync(input.noteId); return instance.getNoteAsync(input.noteId);
}, },
cacheTtlMs: 15_000,
}); });
@@ -13,4 +13,5 @@ export const archiveTeamWarriorRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getStatusAsync(); return await integrationInstance.getStatusAsync();
}, },
cacheTtlMs: 300_000,
}); });
@@ -12,4 +12,5 @@ export const audiobookshelfRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getDashboardDataAsync(); return await integrationInstance.getDashboardDataAsync();
}, },
cacheTtlMs: 600_000,
}); });
+1
View File
@@ -23,4 +23,5 @@ export const calendarMonthRequestHandler = createIntegrationRequestHandler<
input.showUnmonitored, input.showUnmonitored,
); );
}, },
cacheTtlMs: 60_000,
}); });
+1
View File
@@ -12,4 +12,5 @@ export const coolifyRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getInstanceInfoAsync(); return await integrationInstance.getInstanceInfoAsync();
}, },
cacheTtlMs: 30_000,
}); });
+1
View File
@@ -13,4 +13,5 @@ export const dnsHoleRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getSummaryAsync(); return await integrationInstance.getSummaryAsync();
}, },
cacheTtlMs: 5_000,
}); });
+1
View File
@@ -177,6 +177,7 @@ export const dockerContainersRequestHandler = createWidgetRequestHandler({
} }
return await getContainersWithStatsAsync(); return await getContainersWithStatsAsync();
}, },
cacheTtlMs: 20_000,
}); });
const extractImage = (container: ContainerInfo) => extractContainerImageName(container.Image); const extractImage = (container: ContainerInfo) => extractContainerImageName(container.Image);
@@ -13,4 +13,5 @@ export const downloadClientRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getClientJobsAndStatusAsync(input); return await integrationInstance.getClientJobsAndStatusAsync(input);
}, },
cacheTtlMs: 5_000,
}); });
@@ -69,4 +69,5 @@ export const duckDuckGoBangsRequestHandler = createRequestHandler({
return normalized; return normalized;
}, },
cacheTtlMs: 86_400_000,
}); });
+4
View File
@@ -18,6 +18,7 @@ export const firewallCpuRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return integrationInstance.getFirewallCpuAsync(); return integrationInstance.getFirewallCpuAsync();
}, },
cacheTtlMs: 5_000,
}); });
export const firewallMemoryRequestHandler = createIntegrationRequestHandler< export const firewallMemoryRequestHandler = createIntegrationRequestHandler<
@@ -29,6 +30,7 @@ export const firewallMemoryRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getFirewallMemoryAsync(); return await integrationInstance.getFirewallMemoryAsync();
}, },
cacheTtlMs: 15_000,
}); });
export const firewallInterfacesRequestHandler = createIntegrationRequestHandler< export const firewallInterfacesRequestHandler = createIntegrationRequestHandler<
@@ -40,6 +42,7 @@ export const firewallInterfacesRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getFirewallInterfacesAsync(); return await integrationInstance.getFirewallInterfacesAsync();
}, },
cacheTtlMs: 30_000,
}); });
export const firewallVersionRequestHandler = createIntegrationRequestHandler< export const firewallVersionRequestHandler = createIntegrationRequestHandler<
@@ -51,4 +54,5 @@ export const firewallVersionRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getFirewallVersionAsync(); return await integrationInstance.getFirewallVersionAsync();
}, },
cacheTtlMs: 3_600_000,
}); });
@@ -13,6 +13,7 @@ export const systemInfoRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getSystemInfoAsync(); return await integrationInstance.getSystemInfoAsync();
}, },
cacheTtlMs: 5_000,
}); });
export const clusterInfoRequestHandler = createIntegrationRequestHandler< export const clusterInfoRequestHandler = createIntegrationRequestHandler<
@@ -24,4 +25,5 @@ export const clusterInfoRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getClusterInfoAsync(); return await integrationInstance.getClusterInfoAsync();
}, },
cacheTtlMs: 5_000,
}); });
+3
View File
@@ -13,6 +13,7 @@ export const immichStatsRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getServerStatsAsync(); return await integrationInstance.getServerStatsAsync();
}, },
cacheTtlMs: 900_000,
}); });
export const immichAlbumsRequestHandler = createIntegrationRequestHandler< export const immichAlbumsRequestHandler = createIntegrationRequestHandler<
@@ -28,6 +29,7 @@ export const immichAlbumsRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getAlbumsAsync(); return await integrationInstance.getAlbumsAsync();
}, },
cacheTtlMs: 900_000,
}); });
export const immichAlbumRequestHandler = createIntegrationRequestHandler< export const immichAlbumRequestHandler = createIntegrationRequestHandler<
@@ -39,4 +41,5 @@ export const immichAlbumRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getAlbumAsync(input.albumId); return await integrationInstance.getAlbumAsync(input.albumId);
}, },
cacheTtlMs: 900_000,
}); });
@@ -13,4 +13,5 @@ export const indexerManagerRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getIndexersAsync(); return await integrationInstance.getIndexersAsync();
}, },
cacheTtlMs: 300_000,
}); });
@@ -2,6 +2,7 @@ import { createRequestHandler } from "./request-handler";
interface Options<TData, TInput extends Record<string, unknown>> { interface Options<TData, TInput extends Record<string, unknown>> {
requestAsync: (input: TInput) => Promise<TData>; requestAsync: (input: TInput) => Promise<TData>;
cacheTtlMs?: number;
} }
export const createWidgetRequestHandler = <TData, TInput extends Record<string, unknown>>( export const createWidgetRequestHandler = <TData, TInput extends Record<string, unknown>>(
@@ -10,5 +11,6 @@ export const createWidgetRequestHandler = <TData, TInput extends Record<string,
handler: (widgetOptions: TInput) => handler: (widgetOptions: TInput) =>
createRequestHandler<TData, TInput>({ createRequestHandler<TData, TInput>({
requestAsync: options.requestAsync, requestAsync: options.requestAsync,
cacheTtlMs: options.cacheTtlMs,
}).handler(widgetOptions), }).handler(widgetOptions),
}); });
@@ -13,4 +13,5 @@ export const mediaReleaseRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getMediaReleasesAsync(); return await integrationInstance.getMediaReleasesAsync();
}, },
cacheTtlMs: 300_000,
}); });
@@ -16,4 +16,5 @@ export const mediaRequestStatsRequestHandler = createIntegrationRequestHandler<
users: await integrationInstance.getUsersAsync(), users: await integrationInstance.getUsersAsync(),
}; };
}, },
cacheTtlMs: 60_000,
}); });
@@ -15,4 +15,5 @@ export const mediaServerRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getCurrentSessionsAsync({ showOnlyPlaying: input.showOnlyPlaying }); return await integrationInstance.getCurrentSessionsAsync({ showOnlyPlaying: input.showOnlyPlaying });
}, },
cacheTtlMs: 5_000,
}); });
@@ -17,6 +17,7 @@ export const mediaTranscodingRequestHandler = createIntegrationRequestHandler<
statistics: await integrationInstance.getStatisticsAsync(), statistics: await integrationInstance.getStatisticsAsync(),
}; };
}, },
cacheTtlMs: 300_000,
}); });
export interface MediaTranscoding { export interface MediaTranscoding {
@@ -14,6 +14,7 @@ export const minecraftServerStatusRequestHandler = createWidgetRequestHandler({
); );
return responseSchema.parse(await response.json()); return responseSchema.parse(await response.json());
}, },
cacheTtlMs: 300_000,
}); });
const responseSchema = z const responseSchema = z
@@ -12,4 +12,5 @@ export const navidromeRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getDashboardDataAsync(); return await integrationInstance.getDashboardDataAsync();
}, },
cacheTtlMs: 600_000,
}); });
@@ -13,4 +13,5 @@ export const networkControllerRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getNetworkSummaryAsync(); return await integrationInstance.getNetworkSummaryAsync();
}, },
cacheTtlMs: 300_000,
}); });
@@ -13,4 +13,5 @@ export const notificationsRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getNotificationsAsync(); return await integrationInstance.getNotificationsAsync();
}, },
cacheTtlMs: 300_000,
}); });
@@ -12,4 +12,5 @@ export const paperlessNgxStatsRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getStatsAsync(); return await integrationInstance.getStatsAsync();
}, },
cacheTtlMs: 900_000,
}); });
@@ -28,6 +28,7 @@ export const rssFeedsRequestHandler = createWidgetRequestHandler({
entries: result.entries?.map((entry) => ({ ...entry, feedUrl: input.url })).slice(0, input.count) ?? [], entries: result.entries?.map((entry) => ({ ...entry, feedUrl: input.url })).slice(0, input.count) ?? [],
}; };
}, },
cacheTtlMs: 300_000,
}); });
const attemptGetImageFromEntry = (feedUrl: string, entry: object) => { const attemptGetImageFromEntry = (feedUrl: string, entry: object) => {
@@ -18,4 +18,5 @@ export const smartHomeEntityStateRequestHandler = createIntegrationRequestHandle
return result.data.state; return result.data.state;
}, },
cacheTtlMs: 60_000,
}); });
@@ -12,4 +12,5 @@ export const speedtestTrackerRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getDashboardDataAsync(); return await integrationInstance.getDashboardDataAsync();
}, },
cacheTtlMs: 600_000,
}); });
@@ -39,6 +39,7 @@ export const fetchStockPriceHandler = createWidgetRequestHandler({
shortName: firstResult.meta.shortName, shortName: firstResult.meta.shortName,
}; };
}, },
cacheTtlMs: 300_000,
}); });
const dataSchema = z const dataSchema = z
+1
View File
@@ -12,4 +12,5 @@ export const tracearrRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getDashboardDataAsync(); return await integrationInstance.getDashboardDataAsync();
}, },
cacheTtlMs: 5_000,
}); });
+6
View File
@@ -12,6 +12,7 @@ export const umamiRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getVisitorStatsAsync(input.websiteId, input.timeFrame, input.eventName); return await integrationInstance.getVisitorStatsAsync(input.websiteId, input.timeFrame, input.eventName);
}, },
cacheTtlMs: 300_000,
}); });
export const umamiEventNamesRequestHandler = createIntegrationRequestHandler<string[], "umami", { websiteId: string }>({ export const umamiEventNamesRequestHandler = createIntegrationRequestHandler<string[], "umami", { websiteId: string }>({
@@ -19,6 +20,7 @@ export const umamiEventNamesRequestHandler = createIntegrationRequestHandler<str
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getEventNamesAsync(input.websiteId); return await integrationInstance.getEventNamesAsync(input.websiteId);
}, },
cacheTtlMs: 300_000,
}); });
export const umamiTopPagesRequestHandler = createIntegrationRequestHandler< export const umamiTopPagesRequestHandler = createIntegrationRequestHandler<
@@ -30,6 +32,7 @@ export const umamiTopPagesRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getTopPagesAsync(input.websiteId, input.timeFrame, input.limit); return await integrationInstance.getTopPagesAsync(input.websiteId, input.timeFrame, input.limit);
}, },
cacheTtlMs: 300_000,
}); });
export const umamiTopReferrersRequestHandler = createIntegrationRequestHandler< export const umamiTopReferrersRequestHandler = createIntegrationRequestHandler<
@@ -41,6 +44,7 @@ export const umamiTopReferrersRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getTopReferrersAsync(input.websiteId, input.timeFrame, input.limit); return await integrationInstance.getTopReferrersAsync(input.websiteId, input.timeFrame, input.limit);
}, },
cacheTtlMs: 300_000,
}); });
export const umamiMultiEventRequestHandler = createIntegrationRequestHandler< export const umamiMultiEventRequestHandler = createIntegrationRequestHandler<
@@ -52,6 +56,7 @@ export const umamiMultiEventRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getMultiEventTimeSeriesAsync(input.websiteId, input.timeFrame, input.eventNames); return await integrationInstance.getMultiEventTimeSeriesAsync(input.websiteId, input.timeFrame, input.eventNames);
}, },
cacheTtlMs: 300_000,
}); });
export const umamiActiveVisitorsRequestHandler = createIntegrationRequestHandler< export const umamiActiveVisitorsRequestHandler = createIntegrationRequestHandler<
@@ -63,4 +68,5 @@ export const umamiActiveVisitorsRequestHandler = createIntegrationRequestHandler
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getActiveVisitorsAsync(input.websiteId); return await integrationInstance.getActiveVisitorsAsync(input.websiteId);
}, },
cacheTtlMs: 30_000,
}); });
+1
View File
@@ -13,4 +13,5 @@ export const upsSummariesRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getUpsSummariesAsync(); return await integrationInstance.getUpsSummariesAsync();
}, },
cacheTtlMs: 60_000,
}); });
@@ -12,4 +12,5 @@ export const uptimeKumaRequestHandler = createIntegrationRequestHandler<
const integrationInstance = await createIntegrationAsync(integration); const integrationInstance = await createIntegrationAsync(integration);
return await integrationInstance.getDashboardDataAsync(); return await integrationInstance.getDashboardDataAsync();
}, },
cacheTtlMs: 60_000,
}); });
+1
View File
@@ -25,4 +25,5 @@ export const vpnSummaryHandler = createIntegrationRequestHandler<
return null; return null;
} }
}, },
cacheTtlMs: 300_000,
}); });
+1
View File
@@ -31,6 +31,7 @@ export const weatherRequestHandler = createWidgetRequestHandler({
}), }),
} satisfies Weather; } satisfies Weather;
}, },
cacheTtlMs: 60_000,
}); });
const atLocationOutput = z.object({ const atLocationOutput = z.object({
+19 -12
View File
@@ -442,8 +442,8 @@ catalogs:
specifier: ^1.18.0 specifier: ^1.18.0
version: 1.18.0 version: 1.18.0
posthog-js: posthog-js:
specifier: ^1.399.1 specifier: ^1.399.0
version: 1.399.2 version: 1.399.0
posthog-node: posthog-node:
specifier: ^5.40.0 specifier: ^5.40.0
version: 5.41.0 version: 5.41.0
@@ -743,8 +743,8 @@ importers:
specifier: 'catalog:' specifier: 'catalog:'
version: 19.2.7(react@19.2.7) version: 19.2.7(react@19.2.7)
swiper: swiper:
specifier: ^14.0.5 specifier: ^14.0.2
version: 14.0.5 version: 14.0.2
tailwindcss: tailwindcss:
specifier: ^4.3.2 specifier: ^4.3.2
version: 4.3.2 version: 4.3.2
@@ -1012,7 +1012,7 @@ importers:
version: 1.18.0(postcss@8.5.16) version: 1.18.0(postcss@8.5.16)
posthog-js: posthog-js:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.399.2(preact-render-to-string@6.5.11) version: 1.399.0(preact-render-to-string@6.5.11)
prismjs: prismjs:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.30.0 version: 1.30.0
@@ -6404,6 +6404,9 @@ packages:
'@polka/url@1.0.0-next.25': '@polka/url@1.0.0-next.25':
resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
'@posthog/core@1.40.0':
resolution: {integrity: sha512-oGDbIwlTquNwdHbEL5ZLEkuW4UFkkEanfx3QAxDgyVbISv+OAA6YGQwrvo0JD3MUJEbJZvyh8XsX+WYDGw9XHw==}
'@posthog/core@1.40.2': '@posthog/core@1.40.2':
resolution: {integrity: sha512-H12j7O9iHGvpK9t2ko8W4pvfbV1pBDxrsWC1LA6yp2RhzwvC4T3sWhu+AekDQJSRSrJEWlB0t/Ueq9QhPSq7FQ==} resolution: {integrity: sha512-H12j7O9iHGvpK9t2ko8W4pvfbV1pBDxrsWC1LA6yp2RhzwvC4T3sWhu+AekDQJSRSrJEWlB0t/Ueq9QhPSq7FQ==}
@@ -13136,8 +13139,8 @@ packages:
resolution: {integrity: sha512-Ray65LYEJrMMqDtsBUBXunEVP/g4wtATvq/xz9rchUoLy/9mSkkFgUko/8DVtGxgiP3vivpFMgfb9HpCuDrBHg==} resolution: {integrity: sha512-Ray65LYEJrMMqDtsBUBXunEVP/g4wtATvq/xz9rchUoLy/9mSkkFgUko/8DVtGxgiP3vivpFMgfb9HpCuDrBHg==}
engines: {node: '>=10.15.1'} engines: {node: '>=10.15.1'}
posthog-js@1.399.2: posthog-js@1.399.0:
resolution: {integrity: sha512-xcvrGEgUYtIVcWPRlVfc/NkMo0IP9nwnM/dzJIAzjDOSewkdDk/9T4Vz1+gooEhXdQCPfG44jSK95mVJsoySqA==} resolution: {integrity: sha512-8l+uZJZM3+OAc0D0+iLBMDRVfWF9s26Rt0jv8EC3kMJcA/9oyOets0zDgqIZk2TTfUs3H96ycLE6Lwj1wWG16Q==}
posthog-node@5.41.0: posthog-node@5.41.0:
resolution: {integrity: sha512-jOkX6THOr5WD+FGUEaTxekas8c7NOC3TqJ2Byfe2KMimQdL/F/osz17uSbkNzR4V9WFZoe8YaGP3Xp0EUpPKGg==} resolution: {integrity: sha512-jOkX6THOr5WD+FGUEaTxekas8c7NOC3TqJ2Byfe2KMimQdL/F/osz17uSbkNzR4V9WFZoe8YaGP3Xp0EUpPKGg==}
@@ -14306,8 +14309,8 @@ packages:
'@swc/core': ^1.2.147 '@swc/core': ^1.2.147
webpack: '>=2' webpack: '>=2'
swiper@14.0.5: swiper@14.0.2:
resolution: {integrity: sha512-SMSKS0sj+lPIFzngfIKb5cyBtzmAuJw7rXgXdyYiDReb+pSpJXuNljHYgT4DXa5Stnl2Ew2/Lam5ipv4PIqZ7A==} resolution: {integrity: sha512-KRFQZP0zXUh6MEmSQOJKSw27ARqS884OX/dfBz4i2/It9aixL7svh7/Ng0yZ0FE+PrjrW5vzBcjCfmNnq109XQ==}
engines: {node: '>= 4.7.0'} engines: {node: '>= 4.7.0'}
swrv@1.2.0: swrv@1.2.0:
@@ -19904,6 +19907,10 @@ snapshots:
'@polka/url@1.0.0-next.25': {} '@polka/url@1.0.0-next.25': {}
'@posthog/core@1.40.0':
dependencies:
'@posthog/types': 1.393.0
'@posthog/core@1.40.2': '@posthog/core@1.40.2':
dependencies: dependencies:
'@posthog/types': 1.393.0 '@posthog/types': 1.393.0
@@ -27467,9 +27474,9 @@ snapshots:
posthog-docusaurus@2.0.5: {} posthog-docusaurus@2.0.5: {}
posthog-js@1.399.2(preact-render-to-string@6.5.11): posthog-js@1.399.0(preact-render-to-string@6.5.11):
dependencies: dependencies:
'@posthog/core': 1.40.2 '@posthog/core': 1.40.0
'@posthog/types': 1.393.0 '@posthog/types': 1.393.0
core-js: 3.49.0 core-js: 3.49.0
dompurify: 3.4.11 dompurify: 3.4.11
@@ -28973,7 +28980,7 @@ snapshots:
'@swc/counter': 0.1.3 '@swc/counter': 0.1.3
webpack: 5.107.1(@swc/core@1.15.3(@swc/helpers@0.5.15))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.16))(esbuild@0.28.1)(html-minifier-terser@7.2.0)(postcss@8.5.16) webpack: 5.107.1(@swc/core@1.15.3(@swc/helpers@0.5.15))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.16))(esbuild@0.28.1)(html-minifier-terser@7.2.0)(postcss@8.5.16)
swiper@14.0.5: {} swiper@14.0.2: {}
swrv@1.2.0(vue@3.5.35(@typescript/typescript6@6.0.2)): swrv@1.2.0(vue@3.5.35(@typescript/typescript6@6.0.2)):
dependencies: dependencies:
+1 -1
View File
@@ -93,7 +93,7 @@ catalog:
"@types/video.js": ^7.3.58 "@types/video.js": ^7.3.58
"@types/ws": ^8.18.1 "@types/ws": ^8.18.1
"@types/xml2js": ^0.4.14 "@types/xml2js": ^0.4.14
posthog-js: ^1.399.1 posthog-js: ^1.399.0
posthog-node: ^5.40.0 posthog-node: ^5.40.0
"@vitejs/plugin-react": ^6.0.3 "@vitejs/plugin-react": ^6.0.3
"@vitest/coverage-v8": ^4.1.10 "@vitest/coverage-v8": ^4.1.10