Commit graph

33 commits

Author SHA1 Message Date
Tommy Chow
10a596a247 Fix FFZ emotes and badges no longer showing
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.
2023-03-05 05:23:06 -05:00
Tommy Chow
5d95843de8
Upgrade to Flutter 3.7.0 (#233)
* 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
2023-01-26 23:56:16 -05:00
Tommy Chow
7881ce22b4
Improve design and usability, general tweaks and fixes (#226)
See #226 for more details.
2023-01-18 05:34:54 -05:00
Tommy Chow
d5e8d0c6c5 Enable zero width emotes by default 2022-09-08 16:04:13 -04:00
Tommy Chow
d4e9d82ee2 Simplify reply null check 2022-09-03 15:25:52 -04:00
Tommy Chow
f8358e71d3
Add replied message to replies (#189)
Add replies to chat
2022-09-02 15:33:51 -04:00
Tommy Chow
71a3c8b7b9
Fix misaligned chat names (#187) 2022-09-02 12:20:40 -04:00
Tommy Chow
53fabd067a
Restructure folders (#184)
* Split up `video_chat.dart`

* Restructure home folder

* Restructure settings folder

* Restructure channel folder

* More restructuring
2022-08-31 14:11:45 -04:00
Tommy Chow
2e52bbebda Improve chat message modal behavior
Modal is now summoned by long-pressing the username.

Message is now copied by long-pressing  the message.
2022-07-28 19:51:04 -04:00
Tommy Chow
f87a140e36 Fix chat resume scroll
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.
2022-07-27 18:07:17 -04:00
Tommy Chow
47894f4746 Fix message buffer behavior (#154) 2022-07-27 16:25:34 -04:00
Tommy Chow
932412b75f Optimize chat (#154)
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.
2022-07-26 23:23:53 -04:00
Tommy Chow
bb0b24e530 Add option to launch links externally (#113) 2022-05-22 21:14:42 -04:00
Tommy Chow
9b88463d39 Upgrade packages & apply new lints (#113) 2022-05-12 04:58:03 -04:00
Tommy Chow
6191624d44
Fix certain links not launching on Android (#108) 2022-04-08 22:57:21 -04:00
tommyxchow
254968a2d6 Improve tooltips for zero-width emotes 2022-03-30 16:09:35 -04:00
tommyxchow
9cd02b75d9 Fix improper width on certain emotes without size 2022-03-28 17:59:52 -04:00
Tommy Chow
4a65da68a7
Apply emote sizes from FFZ/7TV APIs to chat and emote menu (#96)
* Apply emote heights from API in chat (#95)

* Apply emote widths from API in chat (#95)

* Apply emote sizes from API in emote menu (#95)
2022-03-28 02:48:32 -04:00
Tommy Chow
8ce8005868 Tweak emoji sizes & fix tooltip for zero-width 2022-03-20 01:08:14 -04:00
Tommy Chow
00972e13cd Fix twitch emotes tooltips 2022-02-03 21:43:59 -05:00
tommyxchow
543a0ec5c4 Tweak textfield border radius 2022-01-16 23:48:34 -05:00
tommyxchow
abe8d4dcd0 Change color parser to be slightly more efficient 2022-01-16 23:41:19 -05:00
tommyxchow
eef8c57948 Add tooltip to zero-width & documentation 2022-01-16 14:19:08 -05:00
tommyxchow
1a53101047 Add some documentation 2022-01-16 12:39:20 -05:00
tommyxchow
796559b51b Fix settings not updating chat & refactor IRC 2021-12-15 23:54:06 -05:00
tommyxchow
04f0ef74d3 Add status notices to chat, pause & resume test 2021-12-13 02:19:06 -05:00
tommyxchow
81c18feb45 Add hide blocked users in chat (#55)
Blocked users will be hidden from chat only if the logged in user is not
a mod or not the channel owner.
2021-12-11 00:45:44 -05:00
tommyxchow
9875b6ed59 Implement handling of NOTICE command (#44) 2021-11-23 00:47:21 -05:00
tommyxchow
2df2326f73 Revert 05df4e8, comment additions & fixes
The previously removed requests in 05df4e8 were actually required for
rendering emotes whenever the user themself sends a message.
2021-11-02 03:51:34 -04:00
tommyxchow
05df4e8d2f Minor comment additions and fixes
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.
2021-10-26 01:48:46 -04:00
tommyxchow
1afc979139 Add command enum, refactor chat store
- 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
2021-10-24 03:53:08 -04:00
tommyxchow
26e7a746db Fix handling of ROOMSTATE changes 2021-10-23 00:25:22 -04:00
tommyxchow
bb74b7bd6e Refactor IRC API
- 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
2021-10-22 02:34:23 -04:00