Commit graph

670 commits

Author SHA1 Message Date
Tommy Chow
2faefc0c88 Restore video overlay settings button 2022-09-06 22:12:36 -04:00
Tommy Chow
5e1c41dc02 Remove renderMessages & revert msg limit to 5k
The separate list for render messages seems to have little effect for
performance, so removing it.

There has been some odd performance side effects with having a 10k
message limit, so I've reverted that as well.
2022-09-06 14:54:04 -04:00
Tommy Chow
ec8cb421b0
Close emote menu when going back on Android (#193) 2022-09-06 14:44:44 -04:00
Tommy Chow
fc0f7cbff7
Add option to have emote menu button on left (#192) 2022-09-06 12:42:36 -04:00
Tommy Chow
f42ed2bc4e
Add first message highlights and various tweaks (#191)
* Add first msg & tweak chat message styles

* Add options to show/hide alerts

* Remove unused setting

* Fix color

* Change resume scroll arrrow

* Tweak streamer name and title opacity

* Tweak card weights

* Renamed followed streams tab

* Move settings stuff to details button

* Darken the dark theme again

* Remove unecessary observer

* Tweaks
2022-09-06 12:04:31 -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
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