Fork of tommyxchow/frosty with TwitchAdSolutions (vaft) adblock https://frostyapp.io
Find a file
tommyxchow d4c3714561 Fix Unicode rendering in certain chat messages
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.
2021-11-02 03:44:05 -04:00
.github/workflows Create main.yml 2021-09-03 02:56:52 -04:00
android Add webview_flutter dependency 2021-09-12 23:32:54 -04:00
ios Initial commit 2021-08-18 09:38:00 -04:00
lib Fix Unicode rendering in certain chat messages 2021-11-02 03:44:05 -04:00
test Add channel & user parse test 2021-09-25 01:17:40 -04:00
web Initial commit 2021-08-18 09:38:00 -04:00
.gitignore Update .gitignore 2021-10-12 00:08:00 -04:00
.metadata Initial commit 2021-08-18 09:38:00 -04:00
analysis_options.yaml Upgrade to Flutter 2.5.0 & lint fixes 2021-09-09 00:08:36 -04:00
pubspec.lock Fix handling of ROOMSTATE changes 2021-10-23 00:25:22 -04:00
pubspec.yaml Bump package versions to fix JSON warning 2021-10-22 02:27:03 -04:00
README.md Update README.md 2021-09-04 14:54:28 -04:00

Frosty CI

A Twitch client for iOS and Android, built with Flutter and originally with SwiftUI.

Features

  • Browse top and followed channels on Twitch
  • Watch live streams with live chat
  • Support for BTTV, FFZ, and 7TV emotes, including GIFs

Motivation

Currently, the only available Twitch client on iOS is the official Twitch app. I wanted to make a Twitch client that provides some important missing features in the official app. I also saw this as an opportunity to learn and become familiar with the mobile development ecosystem.

The Problem

A major problem with the official Twitch app is that emotes from services such as BetterTTV (FFZ), FrankerFaceZ (FFZ), and 7TV are not officially supported. Twitch is unaffiliated with these services, hence why they haven't been integrated officially.

As a result, the millions of users of these services have an unideal viewing experience on the official Twitch app. In the stream chat, only text is positioned where emotes should be (imagine only being able to see :emoji: rather than the emojis themselves).

This app aims to bring these emotes and other general quality of life features to both iOS and Android.