Week 10: Fixing errors in Frosty

Exploring using Frosty

I knew that I wanted to fix issues and or add new features, but I recognized that I needed to think from first principles by becoming an actual user of Frosty. After all, being a genuine user of the product is really the only way to get a sense for what users want, which in turn helps me avoid over-engineering potential features that no one actually wants. Frosty adds support for browser extension features that do not exist on the native twitch mobile app. I first tried out these browser extensions while watching twitch streamers and really enjoyed how the features worked with the stream and made it overall more enjoyable. Then trying the native mobile app, the absence of these browser extension features became apparent and the interacting experience was significantly worse. Finally, trying out Frosty I found that I regained the experience that I had on the browser based streams, however there was one extension that was glaringly obvious.

Encountering the Error

I had heard about the double play button error from the issues list on github, but it felt different when I actually encountered it as a user. When I or any other user clicks into a stream, the error appears as a giant play button overlaying the normal phone which prevents the user from clicking the real play button and obscures the video frame. It is quite annoying as every single time you click into a stream, you get this error which makes the entire project seem buggy and hurts the user experience.

Fixing the Double Play Button Error

In terms of fixing this error, I first isolated that the video and navigation loading was in the file video_store.dart. Then I found that currently the twitch native overlay, which is the origin of the giant double play button, was only being hidden after the video was already initialized. This meant that the double play button was always occurring. My fix was to hide the default overlay immediately on the initialization of the video. I have an active PR for this fix, but have yet to hear back.

Written before or on March 23, 2026