Merge branch 'fix/v1437-r2-jobs' into release/v1.43.7

This commit is contained in:
Marc-André Bombeck committed 2026-10-20 10:17:01 +02:00
commit e5b7eebe64
62 files changed
+1745 -774

No files matched your search

@@ -13,6 +13,7 @@ import {
nextAdvisorPollInterval,
useInsightsAdvisorQuery,
} from "@/components/insights/use-insights-advisor";
import { pollAttemptCount } from "@/lib/queries/refetch-interval";
import { useAnalyticsQuery } from "@/lib/queries/use-analytics-query";
import { useInsightsLayoutQuery } from "@/hooks/use-insights-layout";
import { queryKeys } from "@/lib/query-keys";
@@ -90,7 +91,7 @@ export function InsightsLayoutShell({ children }: { children: ReactNode }) {
refetchInterval: (query) =>
nextAdvisorPollInterval(
query.state.data?.revalidating,
query.state.dataUpdateCount,
pollAttemptCount(query.state),
),
});
@@ -2,6 +2,7 @@
import { useCallback, useState } from "react";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { pollAttemptCount } from "@/lib/queries/refetch-interval";
import type { InsightResult } from "@/lib/ai/types";
// Type-only — the runtime schemas load lazily inside `fetchAdvisor` so
// the zod module graph (`@/lib/ai/schema` is ~550 lines of zod builders)
@@ -462,7 +463,7 @@ export function useInsightsAdvisorQuery(
refetchInterval: (query) =>
nextAdvisorPollInterval(
query.state.data?.payload?.revalidating,
query.state.dataUpdateCount,
pollAttemptCount(query.state),
settling,
),
});
@@ -470,14 +471,12 @@ export function useInsightsAdvisorQuery(
// `dataUpdateCount` lives on the query STATE (the refetchInterval callback
// reads it there); the observer result only exposes `dataUpdatedAt`. Read
// it imperatively from the cache where the settle machinery needs it.
const readDataUpdateCount = useCallback(
() =>
queryClient
.getQueryCache()
.find({ queryKey: queryKeys.insightsAdvisor() })?.state
.dataUpdateCount ?? 0,
[queryClient],
);
const readDataUpdateCount = useCallback(() => {
const state = queryClient
.getQueryCache()
.find({ queryKey: queryKeys.insightsAdvisor() })?.state;
return state ? pollAttemptCount(state) : 0;
}, [queryClient]);
// Apply the settle resolution the pure seam proves. Each poll result lands
// in `query.data` (the poll's own cache write IS the fresh payload — no