- Check for existence of x11 window before attempting to use it in overlay
- Check for valid monitor before setting window size based on it
- Check for existence of x11 window when unsetting xshape
- Fix typo in redraw logic for gamescope mode
- - fade out when inactive
- - inactive time (in seconds) before fade out
- - fade out duration (seconds)
- - fade out lower limit. Lowest opacity at which to stop fading out
- Add activity tracker to voice overlay
- Remove old avatar alpha transparency which reloaded file each time it changed
- Convert to images to PIL and back when needed to lower alpha level
- - This was much less than ideal, but alternatives failed
- Fix issue with premultiplied alpha in image loading
- Lowered minimum avatar opacity
- Fixed an edge case where overlay windows were closed
- Added inactivity variables to config window
- Updated Welsh translation - poorly
- These is a very high chance of new bugs or repeats of old bugs. Be watchful!
- Removed periodic timeout for overlay ticking
- Removed 60hz timeout for reading websocket
- Removed 1hz timeout for text overlay
- Removed 1hz timeout for notification overlay
- Added a one-call timeout for each overlay which happens a configurable time after render to remove it excess data
- Changed flat bool needsrender to a function call set_needs_render
- Where needed, this schedules an idle callback to rerender, cutting down on multiple renders in extremely short time
- Ripped out do_read from connector
- Piped the websocket socket into GLib, allowing it to call back when new data is readable
- Implemented reconnect logic in GLib
- Shortened connect timeout as localhost should be rather quick
- Attempt reconnect 20 seconds after disconnect or failed connect
- Cache users access token after successful authentication
- Use cached access token on connection
- Clear cached access token on failure to connect