merge: origin/dev (widget-only integration refactor)

Resolve conflicts keeping our simplified request handlers (with TTL
cache) and adopting dev's new release-provider + timetable direct
implementations. Remove per-query staleTime from timetable widget.
This commit is contained in:
Thomas Camlong committed 2026-07-02 18:19:46 +02:00
commit 356fadb9d6
91 files changed
+2306 -2545

No files matched your search

+7 -13
View File
@@ -1,16 +1,10 @@
import type { IntegrationKindByCategory } from "@homarr/definitions";
import type { ReleaseResponse, ReleasesRepository } from "@homarr/integrations";
import { createIntegrationAsync } from "@homarr/integrations";
import type { ReleaseResponse, ReleasesRepositoryRequest } from "./release-providers";
import { getLatestMatchingReleaseAsync } from "./release-providers";
import { createRequestHandler } from "./lib/request-handler";
import { createIntegrationRequestHandler } from "./lib/integration-request-handler";
export const releasesRequestHandler = createIntegrationRequestHandler<
ReleaseResponse,
IntegrationKindByCategory<"releasesProvider">,
ReleasesRepository
>({
requestAsync: async (integration, input) => {
const instance = await createIntegrationAsync(integration);
return instance.getLatestMatchingReleaseAsync(input.identifier, input.versionRegex);
export const releasesRequestHandler = createRequestHandler<ReleaseResponse, ReleasesRepositoryRequest>({
async requestAsync(input) {
return await getLatestMatchingReleaseAsync(input);
},
cacheTtlMs: 5 * 60 * 1000,
});