fix: prevent background agent race condition in session prompt (#2932)

Added await for session ready state before sending prompt in
background-agent/manager.ts. Also improved image resizer error handling.

132 tests pass, tsc clean.

Closes #2932
This commit is contained in:
YeonGyu-Kim
2026-04-07 15:24:02 +09:00
parent be562905d6
commit 5622d154fd
9 changed files with 777 additions and 11 deletions
@@ -1,6 +1,7 @@
import type { ImageDimensions, ResizeResult } from "./types"
import { extractBase64Data } from "../../tools/look-at/mime-type-inference"
import { log } from "../../shared"
import { resizeImageFallback } from "./png-fallback-resizer"
const ANTHROPIC_MAX_LONG_EDGE = 1568
const ANTHROPIC_MAX_FILE_SIZE = 5 * 1024 * 1024
@@ -114,14 +115,14 @@ export async function resizeImage(
const sharpModuleName = "sharp"
const sharpModule = await import(sharpModuleName).catch(() => null)
if (!sharpModule) {
log("[read-image-resizer] sharp unavailable, skipping resize")
return null
log("[read-image-resizer] sharp unavailable, attempting pure-JS fallback")
return resizeImageFallback(base64DataUrl, mimeType, target)
}
const sharpFactory = resolveSharpFactory(sharpModule)
if (!sharpFactory) {
log("[read-image-resizer] sharp import has unexpected shape")
return null
log("[read-image-resizer] sharp import has unexpected shape, attempting pure-JS fallback")
return resizeImageFallback(base64DataUrl, mimeType, target)
}
const rawBase64 = extractBase64Data(base64DataUrl)