- main: record transient I/O, plugin-teardown, and non-crashing UI errors
(network/websocket/timeout, MissingPluginException, image-load, layout
overflow) as non-fatal, and add a grouping reason to async errors so
distinct errors stop collapsing into one catch-all Crashlytics issue
- irc: guard IRCMessage.fromString against malformed/truncated lines that
threw RangeError, with regression tests
- chat: wrap the emote menu in OverflowBox so it no longer overflows
(RenderFlex) while the panel collapses
- chat: fix onBadgeError returning a List instead of a Map, which threw a
Future.catchError type error during channel asset loads
- video: skip setAutoPipMode on Android < 12 where it isn't implemented
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>