Commit graph

648 commits

Author SHA1 Message Date
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
Tommy Chow
8215755eda Decrease infinite scroll fetch index 2022-07-05 05:28:58 -04:00
Tommy Chow
89b385215a Fix long alerts getting cut off 2022-07-05 04:57:47 -04:00
Tommy Chow
078f1f7cd3 Tweak chat settings (#90) 2022-07-05 04:16:43 -04:00
Tommy Chow
0af1c796f2 Fix landscape chat safe area (#90) 2022-07-04 22:18:19 -04:00
Tommy Chow
a3b3ef3126 Automatically update messages in user modal (#90) 2022-07-03 23:49:44 -04:00
Tommy Chow
0e4e50e3c3 Refactor & Improve message tappable area (#90) 2022-07-03 23:49:05 -04:00
Tommy Chow
18d311f76f Add refresh emotes button to emote menu 2022-07-03 06:31:07 -04:00
Tommy Chow
b9ef4661cf Separate sub emotes in emote menu (#142)
Closes #142
2022-07-03 05:43:29 -04:00
Tommy Chow
c911767008
Merge pull request #150 from tommyxchow/90-redesign
Redesign and tweak various widgets and styles
2022-07-03 02:00:07 -04:00
Tommy Chow
779c180e95 Add dividers to chat settings (#90) 2022-07-02 23:58:06 -04:00
Tommy Chow
3eea1736ab Add divider option to section header (#90) 2022-07-02 23:56:38 -04:00
Tommy Chow
0d961517b7 Fix hide thumbnails for large stream cards (#90) 2022-07-02 22:59:04 -04:00
Tommy Chow
a532c06ca1 Change settings casing & improve subtitles (#90) 2022-07-02 22:57:23 -04:00
Tommy Chow
43d50f2b31 Reduce chat input padding & add delay notice (#90) 2022-07-02 19:37:14 -04:00
Tommy Chow
912f07bc5a Use ClipOval for profile picture (#90) 2022-07-02 19:13:26 -04:00
Tommy Chow
68c3bec568 Revert highlight color (#90) 2022-07-02 05:44:47 -04:00