Commit graph

664 commits

Author SHA1 Message Date
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
a691370514 Add device_preview package 2022-09-01 13:50:21 -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
44d48af12c Fix misaligned alerts & add notification widget 2022-08-08 18:58:41 -04:00
Tommy Chow
368a1bb179 Merge branch 'main' of https://github.com/tommyxchow/frosty 2022-08-07 20:28:15 -04:00
Tommy Chow
20d6970519 Tweak button letter casing 2022-08-07 19:50:43 -04:00
Tommy Chow
b5530496fd Tweak notification padding 2022-08-07 19:38:43 -04:00
Tommy Chow
a5560ee9cc
Add the ability to reconnect to chat with notification (#180)
* Add ability to refresh chat & new settings menu

* Improve chat notifications
2022-08-07 18:46:05 -04:00
Tommy Chow
51a4ae8235
Fix wrong subcriber badges in chat (#179) 2022-08-07 18:26:59 -04:00
Tommy Chow
77c140ff89 Fix overlay delay in portrait mode
The double tap to enter fullscreen feature results in a slight delay on
the `GestureDetector` in order to verify if the user is single or double
tapping.

Since you can't enter fullscreen in portrait mode, I've disabled it in
that orientation.
2022-08-07 01:26:23 -04:00
Tommy Chow
b84bebc83d
Fix infinite messages in chat when auto-scroll is off (#178)
* Fix infinite buffer size when autoscroll disabled
2022-08-07 01:00:51 -04:00
Tommy Chow
92ee68172a Merge branch 'main' of https://github.com/tommyxchow/frosty 2022-08-06 20:04:32 -04:00
Tommy Chow
1cba4adb3d
Fix copy message notifications dismissing early (#177)
Fix chat notif dismissing early
2022-08-06 19:53:56 -04:00
Tommy Chow
22bfd813df Reload WebViewController on iOS only 2022-08-06 19:32:21 -04:00
Tommy Chow
7be8dcd63f
Add paste button for copied messages and option to move notification to the bottom of chat (#176)
* Add paste button to "message copied" notification

* Add option to move notification to bottom of chat
2022-08-05 22:53:24 -04:00
Tommy Chow
08d476d11e
Fix large blocked users list preventing login (#175)
* Remove await from get blocked users

* Implement request limit to blocked users
2022-08-05 03:24:35 -04:00
Tommy Chow
e88806a8f0
Fix old data restoring on reinstall (Android) (#170)
* Disable Auto Backup on Android

* Capture exceptions for Sentry in auth
2022-08-01 17:55:12 -04:00
Tommy Chow
43d55c785b
Fix PiP not dismissing on iOS (#168)
Reload webview when dispoing video
2022-07-31 20:51:27 -04:00
Tommy Chow
9b4b34f647 Use sublist for removing overloaded messages 2022-07-31 19:46:40 -04:00
Tommy Chow
c8a1a2ad70 Fix landscapeCutout setting not resetting
[skip ci]
2022-07-31 18:38:14 -04:00
Tommy Chow
c4f904ecca
Remove unused model fields (#167)
* Remove unused fields from badges

* Remove unused emote fields

* Update emote tests

* Remove unused channel fields

* Remove unused stream fields

* Remove unused user fields

* Update tests
2022-07-31 18:23:54 -04:00
Tommy Chow
898a1c2d00 Fix 7TV emotes not showing in chat
There was a recent change in the 7TV api that resulted in the `tags`
field returning null. The serializer currently doesn't handle `null`
cases so it was causing a deserialize error.

A simple fix is to make the field nullable, but I've decided to remove
it completely since it's not used anywhere in the app.
2022-07-29 11:58:35 -04:00
Tommy Chow
84cee1cede Add "no recent emotes" indicator 2022-07-29 02:32:18 -04:00
Tommy Chow
2ac1bc1a37 Fix badges not showing up for logged in user
I can't 100% confirm since I don't have third-party badges (brokee) but
it should work!
2022-07-28 22:35:29 -04:00
Tommy Chow
b63a10f846 Prevent summoning own modal in chat
Forgot about De Morgan's Laws!
2022-07-28 22:04:15 -04:00
Tommy Chow
870e8ae916 Implement custom copy notification
When copying a message in chat, a notification will now show under the
video rather than the block the textfield.
2022-07-28 21:44:28 -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
1e557e0001 Fix video overlay not showing on first start (iOS) 2022-07-28 18:08:03 -04:00
Tommy Chow
ffd3d9c5ea
Add toggle fullscreen with double tap (#163) 2022-07-28 18:06:24 -04:00
Tommy Chow
334f353af1 Batch rendering in chat
Instead of re-rendering the chat every single time a message comes in,
I've made it so that messages are batche and then rendered all at once
every 200ms.

As a result, the amount of renders are cut from hundreds per second to
just 5. The same technique is used in native Twitch chat.

A side effect is that chat is now a little more readable. Instead of
every single message flying in, they're now grouped with much less
jumps.

Message limit has also been increased to 10000 to allow for greater chat
with minimal performance cost.

Also reverts 717d989.
2022-07-28 15:30:23 -04:00
Tommy Chow
2ab0d631b1 Restire MobX actions on lists
I previously had to remove the `@action` annotation on some methods due
to an update in the MobX package. The change has since been reverted so
I've decided to add back the annotations.
2022-07-28 01:33:53 -04:00
Tommy Chow
84c814d1f9 Organize/document video store
Also fixed webview not refershing when toggling overlay in settings
2022-07-28 01:25:56 -04:00
Tommy Chow
cec8323df6
Add options to override landscape cutout (#162) 2022-07-27 22:54:42 -04:00
Tommy Chow
8984efa4ed Add option to prevent chat sleep (#157) 2022-07-27 21:03:28 -04:00
Tommy Chow
0028c96099 Prevent sleep in chat only mode (#157) 2022-07-27 20:04:02 -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
5973bbb2b9
Merge pull request #160 from tommyxchow/154-pip-android
Add PiP to Android and optimize chat
2022-07-27 16:38:39 -04:00
Tommy Chow
47894f4746 Fix message buffer behavior (#154) 2022-07-27 16:25:34 -04:00
Tommy Chow
717d989954 Convert chat to from builder to ListView (#154)
Since widgets are built bottom up in the chat, most of the benefits of
the `ListView.builder` are likely null.
2022-07-27 16:17:15 -04:00
Tommy Chow
997e6dfe3f Fix general settings not resetting 2022-07-27 01:57:58 -04:00
Tommy Chow
9911ed49e6 Fix floating throwing exception on iOS 2022-07-27 01:57:10 -04:00
Tommy Chow
b2fe05a4c4 Fix stream info not refreshing 2022-07-27 01:19:25 -04:00
Tommy Chow
98fa3a68fa Update chatters when opening chat details 2022-07-26 23:30:16 -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
402d75cc21 Add initial support for PiP on Android (#154) 2022-07-25 16:31:14 -04:00
Tommy Chow
ea2f6c7ee5 Tweak first run message 2022-07-06 00:51:58 -04:00
Tommy Chow
5ce4b3beac Tweak bottom bar padding 2022-07-06 00:00:02 -04:00
Tommy Chow
9e1c8480a4 Fix empty blank categories 2022-07-05 23:13:43 -04:00
Tommy Chow
f059140807 Add link to changelog (releases) in other settings 2022-07-05 06:06:56 -04:00