Release 1.65.12

Release date: May 14, 2026

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-clientRenderer.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.