Previously, emote and badge URLs from FFZ's API had the scheme
omitted. A recent update to the API has added these schemes, so we no
longer need to prepend it.
* Rename `Badge` to `ChatBadge`
Flutter 3.7.0 adds a new `Badge` component that conflicts with the
existing badge widget.
* Fix new linting errors
* Upgrade packages
When messages are added at the same time as the resume scroll button is
pressed, the scroll offset won't be at the edge.
This commit adds an additional post frame callback so that we will also
scroll to the bottom after the build is completed.
Optimized the chat so that resuming PiP does not cause stutters.
This new implementation makes it so that only the latest (100) messages are
rendered at any given time, rather than every single one.
Once autoscroll is disabled and we scroll up in chat, the most recent
messages will be added to a buffer to prevent shifting.
Essentially, I've made it so that the default chat shows only the (100)
most recent messages. When you want to scroll back, the chat will
silently switch to the version with the last (10000) messages, giving
the best of both worlds in performance and scrollback history.
Removed the redundant request for Twitch global and channel emotes in getAssets().
Since these emotes will be processed anyways when generating the span, there's no point in wasting bandwidth to fetch and store them.
- Added enum for IRC tag command for slightly better comparisons
- Moved span portion of renderMessage to its own function in irc_api.dart
- Moved message remove and end scroll to seperate function action
- Fixed emote tags applying to all users
- Moved parse method to factory constructor in IRCMessage for better readability
- Renamed irc_message.dart to irc.dart to include other irc-related models
- Added ROOMSTATE model
- Moved addMessage functionality to chat store