Skip to content

Secousse v0.2.1

Choose a tag to compare

@github-actions github-actions released this 15 May 21:08
· 48 commits to main since this release

Fixes

  • Chat listener leak that cascaded into a WebSocket storm. The disconnect listener in useChat registered its Tauri handler via an async await listen(...) whose unlisten function was stored in a ref. If the effect's cleanup ran before that promise resolved (typical when switching focus rapidly inside the multi-stream grid), the cleanup saw a null ref and did nothing — the listener slot was then overwritten by the next effect run and the original handler leaked. Each leaked listener also received chat-disconnected events and scheduled its own 2-second-delayed connect_to_chat, so a single Twitch-side disconnect produced N concurrent reconnect invocations on the same channel. Symptoms in the logs were repeated Chat disconnected from: <channel> entries from distinct user-script:NN slots and floods of duplicate USERNOTICE messages; on screen this could degrade into the WebView going black during chat scroll under load. Track the unlisten in a local variable with a cancelled flag so an in-flight listen() is torn down as soon as it resolves.

Full changelog: v0.2.0...v0.2.1