Release 1.65.12
Release Notes - Seatmap Platform
Version 1.65.12 - 2026-05-14
Release Focus: Two fixes — cap the booking renderer’s background-texture upload to prevent Chrome GPU OOM on very large venues, and add a ?format= query parameter to converter-service for explicit png/webp output selection.
What’s Fixed
Cap background texture upload to prevent Chrome GPU OOM
On large-background venues — e.g. a 34,476-seat venue with viewBox 15,206×11,505 — the booking-client renderer uploaded the full-resolution full.webp to GPU via texImage2D with no size guard. A 700 MB VRAM upload exceeded mobile budgets and crashed the Chrome GPU process (“Aw, Snap!” / “Опаньки”).
The SEAT-831 mitigation (keep full in JS heap, upload only a 2048-capped detail crop on viewport-settle) already existed but only ran on the constrained GPU tier. Mainstream Android phones (DPR 2.0–2.75, GPU advertising MAX_TEXTURE_SIZE=16384) fell through to high and got the full unbounded upload.
The fix routes the full image through the detail-crop path on all tiers when switchToWebGL === true, adds an absolute VRAM guard in setupBackgroundTexture() (refuses uploads larger than gl.MAX_TEXTURE_SIZE or beyond a ~64 MB budget), and tightens the tier classifier so low-DPR phones with misleading GPU capability strings no longer slip through. Issue: SEAT-990.
Converter: explicit ?format= for png/webp output
converter-service now accepts a ?format=png or ?format=webp query parameter so callers can pin the output format instead of relying on the upstream default. Issue: SEAT-989.
Affected products
booking-client—Renderer.ts,layers/WebGLLayer.ts,tools/deviceCapabilities.ts.converter-service— adds?format=query parameter (additive).
Upgrade
npm install @seatmap.pro/renderer@1.65.12
No API or configuration changes; the ?format= parameter is additive.