From aeabfd35219c15e45053a05fae8dc02b51c4b841 Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Fri, 7 Aug 2026 19:27:41 +0200 Subject: [PATCH] fix: requestMedia dual-layer cache invalidation Mirror answerRequest pattern: invalidate both module-level integration data cache and request-handler caches for media request list/stats. --- packages/api/src/router/integration/integration-router.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/api/src/router/integration/integration-router.ts b/packages/api/src/router/integration/integration-router.ts index 6ecb8c3d9..3a86d3f7b 100644 --- a/packages/api/src/router/integration/integration-router.ts +++ b/packages/api/src/router/integration/integration-router.ts @@ -2,6 +2,8 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod/v4"; import { hasQueryAccessToIntegrationsAsync } from "@homarr/auth/server"; +import { mediaRequestListRequestHandler } from "@homarr/request-handler/media-request-list"; +import { mediaRequestStatsRequestHandler } from "@homarr/request-handler/media-request-stats"; import { constructIntegrationPermissions } from "@homarr/auth/shared"; import { createId, objectEntries } from "@homarr/common"; import { decryptSecret, encryptSecret } from "@homarr/common/server"; @@ -828,6 +830,8 @@ export const integrationRouter = createTRPCRouter({ const integration = await createIntegrationAsync(ctx.integration); const result = await integration.requestMediaAsync(input.mediaType, input.mediaId, input.seasons); invalidateIntegrationDataCache(ctx.integration.id); + mediaRequestListRequestHandler.invalidateCache(); + mediaRequestStatsRequestHandler.invalidateCache(); return result; }), });