Files
Elie Habib 3be8edd4b9 release: v2.4.0 — live webcams, mobile detection fix, sentry triage
- Live Webcams Panel with region filters and grid/single view (#111)
- Mobile detection: width-only, touch notebooks get desktop layout (#113)
- Le Monde RSS URL fix, workbox precache HTML, panel ordering migration
- Sentry: ML timeout catch, YT player guards, maplibre noise filters
- Changelog for v2.4.0
2026-02-19 01:25:05 +04:00

1.8 KiB

Sentry Triage — 2026-02-19

Commit: 09174fd on main

Issues Triaged (5)

ACTIONABLE — Fixed in Code

ID Title Events Users Fix
WORLDMONITOR-1G Error: ML request unload-model timed out after 120000ms 30 27 Wrapped unloadModel() in try/catch; timeout no longer leaks as unhandled rejection. Cleans up loadedModels set on failure.
WORLDMONITOR-1F Error: ML request unload-model timed out after 120000ms 9 9 Same root cause as 1G (different release build hash).
WORLDMONITOR-1K TypeError: this.player.playVideo is not a function 1 1 Added optional chaining (playVideo?.(), pauseVideo?.()) in LiveNewsPanel.ts. YT IFrame API player object may not have methods ready during initialization race.

NOISE — Filtered

ID Title Events Users Filter
WORLDMONITOR-1J InternalError: too much recursion 1 1 i18next internal translate -> extractFromKey cycle on Firefox 147. Added /too much recursion/ to ignoreErrors.
WORLDMONITOR-1H TypeError: Cannot read properties of null (reading 'id') 1 1 maplibre-gl internal render crash (_drawLayers -> renderLayers). Extended beforeSend regex to suppress null id/type when stack is in map chunk.

Files Modified

File Change
src/services/ml-worker.ts unloadModel(): try/catch around this.request(), clean loadedModels on failure
src/components/LiveNewsPanel.ts Optional chaining on playVideo?.() and pauseVideo?.()
src/main.ts Added /too much recursion/ to ignoreErrors; extended maplibre beforeSend filter for null id/type

Sentry Status

All 5 issues marked resolved (in next release) via API. They will auto-reopen if errors recur after deployment.