The Google fonts package was causing inconsistent weight of fonts and
would have to be re-declared every time the style needed to be used.
Now the Inter font files are bundled in and don't require an http
request to fetch them.
On iOS, certain chat messages would have a trailing invalid/unknown
"emoji" (question mark inside a square). This is caused by certain
Twitch IRC clients appending the INVALID Unicode character (U+E5000) to
circumvent restrictions on sending identical messages in quick
succession.
To resolve this, I added a check on the last word of the message. If
the character exists, the word will be remove. Since the word will only
contain a space and the character, it can be safely removed.
This commit also contains an additional "optimization" through
StringBuffers. By using the buffer there will be less TextSpan widgets
which theoretically should improve performance.
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
The GLOBALUSERSTATE and USERSTATE are not related to any message list modifications. Instead, they can be handled with one line in the switch statement in chat store.
The USERSTATE method was renamed to addMessage for better readability.