mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-02 21:32:10 +03:00
chatCore.ts fed applyCompressionAsync's supportsVision option from isVisionModelId() — the deliberately-conservative model-id fragment heuristic in src/shared/constants/visionModels.ts — instead of the authoritative getResolvedModelCapabilities().supportsVision used by every other vision-aware path (e.g. the vision-bridge guardrail). gpt-5.5 is registered with supportsVision:true in modelSpecs.ts, but the fragment list has no gpt-5.x entry, so the heuristic wrongly returned false. That false reached lite.ts's replaceImageUrls(), whose gate is `supportsVision !== false`, silently stripping every image_url block before the request ever reached the executor. getResolvedModelCapabilities().supportsVision resolves to null (not false) for genuinely unknown models, which the same !== false gate already treats as preserve-by-default — matching the conservative semantics used elsewhere and avoiding the #4071/#4012 class of bug (blinding a model that can actually see).