From e94375089e5d589a8853693a4c9da9b82b0e95dd Mon Sep 17 00:00:00 2001 From: ddcat666 <26564566+ddcat666@users.noreply.github.com> Date: Sat, 26 Sep 2026 17:05:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(quality):=20=E5=89=8D=E7=AB=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=B4=A8=E9=87=8F=20-=20=E4=BF=AE=E5=A4=8D=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E6=A0=BC=E5=BC=8F=E6=A3=80=E6=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/lib/canvas/agent-operation-feed.ts | 5 +---- web/src/lib/canvas/canvas-asset-handoff.ts | 5 +++-- web/src/services/api/resources.ts | 5 +---- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/web/src/lib/canvas/agent-operation-feed.ts b/web/src/lib/canvas/agent-operation-feed.ts index 1adc61d53..7831a9788 100644 --- a/web/src/lib/canvas/agent-operation-feed.ts +++ b/web/src/lib/canvas/agent-operation-feed.ts @@ -21,10 +21,7 @@ export type AgentFeedRecord = { question?: unknown; }; -export type AgentFeedSegment = - | { kind: "operations"; key: string; items: T[] } - | { kind: "reasoning"; key: string; items: T[] } - | { kind: "message"; key: string; item: T }; +export type AgentFeedSegment = { kind: "operations"; key: string; items: T[] } | { kind: "reasoning"; key: string; items: T[] } | { kind: "message"; key: string; item: T }; function record(value: unknown): Record { return value && typeof value === "object" && !Array.isArray(value) ? (value as Record) : {}; diff --git a/web/src/lib/canvas/canvas-asset-handoff.ts b/web/src/lib/canvas/canvas-asset-handoff.ts index 7c3c9ebe8..68f9e81ed 100644 --- a/web/src/lib/canvas/canvas-asset-handoff.ts +++ b/web/src/lib/canvas/canvas-asset-handoff.ts @@ -87,8 +87,9 @@ export function creationResultAssetIds(assets: Asset[], input: { messageId: stri return Array.from({ length: Math.max(input.resultUrls.length, stableKeys.length) }, (_, index) => { const storageKey = stableKeys[index]; const url = input.resultUrls[index] || ""; - const exact = candidates.find((asset) => unused.has(asset.id) && Boolean(storageKey) && asset.data.storageKey === storageKey) - || candidates.find((asset) => unused.has(asset.id) && (asset.coverUrl === url || (asset.kind === "image" ? asset.data.dataUrl === url : asset.data.url === url))); + const exact = + candidates.find((asset) => unused.has(asset.id) && Boolean(storageKey) && asset.data.storageKey === storageKey) || + candidates.find((asset) => unused.has(asset.id) && (asset.coverUrl === url || (asset.kind === "image" ? asset.data.dataUrl === url : asset.data.url === url))); const fallback = exact || (allowOrderedFallback ? candidates.find((asset) => unused.has(asset.id)) : undefined); if (!fallback) return undefined; unused.delete(fallback.id); diff --git a/web/src/services/api/resources.ts b/web/src/services/api/resources.ts index 7d7923317..99138b1de 100644 --- a/web/src/services/api/resources.ts +++ b/web/src/services/api/resources.ts @@ -137,10 +137,7 @@ function resourceAccessCacheExpiry(value: ResourceAccess, now = Date.now()) { const expiresAt = value.expiresAt ? new Date(value.expiresAt).getTime() : Number.NaN; if (Number.isFinite(expiresAt) && expiresAt <= now + 1_000) return now; const refreshAt = value.refreshAt ? new Date(value.refreshAt).getTime() : Number.NaN; - const candidates = [ - Number.isFinite(refreshAt) && refreshAt > now ? refreshAt : Number.POSITIVE_INFINITY, - Number.isFinite(expiresAt) && expiresAt > now ? expiresAt - 15_000 : Number.POSITIVE_INFINITY, - ].filter(Number.isFinite); + const candidates = [Number.isFinite(refreshAt) && refreshAt > now ? refreshAt : Number.POSITIVE_INFINITY, Number.isFinite(expiresAt) && expiresAt > now ? expiresAt - 15_000 : Number.POSITIVE_INFINITY].filter(Number.isFinite); if (candidates.length) return Math.max(now, Math.min(...candidates)); return now + 5 * 60_000; }