139 Commits

Author SHA1 Message Date
f7f0f22bb5 middle-align new badges 2024-12-23 22:04:24 -05:00
80837beaa8 use badge for historical message indicator 2024-12-23 17:40:00 -05:00
817289a01d add shared chat session support (#424)
* dispose overlay timer

* fix pip

* add channel indicators to messages for shared chat sessions

* add tooltip to chat message pfp

* remove tooltip marign/padding

* return null instead of throwing error

* fix build error
2024-12-23 16:05:07 -05:00
4f28408be6 use tabular figures for chat message timestamps 2024-12-23 15:28:38 -05:00
b9dae5df88 fix deprecated and lint warnings 2024-12-23 15:09:28 -05:00
ea8849a782 Switch to LaunchMode.inAppBrowserView
Uses Chrome Custom Tabs which has a better navigation menu.
2024-08-12 21:55:28 -07:00
1594d40f48 Add option to enable historical recent messages in chat (#374)
* Add initial support for recent messages

* Add setting for recent messages

* Add setting to onboarding

* Activate buffer after connecting

* Update copy

* Remove unnecessay future delayed

* Remove old line

* Prefer message buffer
2024-08-12 00:01:45 -07:00
a5cc7d8f3f Add photo view for thumbnails, emotes, and badges (#372)
* Add photo view for emotes and badges

* Add photo view to stream thumbnails

* Remove dismissable and use close button

* Use cached network image provider

* Add dismissible
2024-08-11 12:57:24 -07:00
630a6725d1 Fix animated FFZ emotes not animating (#370)
Support animated FFZ emotes
2024-08-09 21:23:34 -07:00
387246635f Add option to sync message delay with stream latency (#364)
* Run build_runner

* Add option to sync messsage delay with stream latency

* Add experimental labbel

* Hide seconds indicator in chat only mode

* Consistent casing
2024-08-03 15:00:31 -07:00
8fcb52f926 Fix onTapPingedUser not triggering due to commas 2023-12-20 23:45:31 -05:00
d61b938cbe Underline links in chat 2023-12-17 23:16:31 -05:00
663b32b945 Add user mention clickability (#314)
* Add handle for clicking on user ping

* Add trailing coma
2023-12-17 21:47:44 -05:00
364b94411d Fix rare case where 7TV emotes don't show
7TV emotes are locked to 4x size, but if that doesn't exist an exception
is thrown. The lack of 4x size seems to
be caused by a new emote still in processing.
2023-11-30 17:59:43 -05:00
1a55bd2e63 Fix own display name not showing in chat (#309) 2023-11-30 17:23:09 -05:00
2801c6405b Fix missing username in sub notices 2023-11-28 14:41:02 -05:00
bdba3c08d2 Make Owner7TV nullable
Some emotes don't have an owner, causing parsing errors and resulting in
emotes not showing in chat.
2023-11-28 06:15:00 -05:00
04ac5346a6 Remove avatarUrl field from Owner7TV 2023-11-28 05:53:11 -05:00
9e91208555 Add support for 7TV and FFZ emote authors (#306) 2023-11-28 03:58:07 -05:00
8fab6bdbc9 Add support for 7TV emote update events (#305)
* Get 7TV emote set id

* Add initial support for 7TV emote set events in chat

* Add 7TV emote add/remove alerts in chat

* Add author to 7TV events
2023-11-28 03:21:05 -05:00
da491bdc50 Infer isLightTheme from provided context 2023-11-24 16:25:15 -05:00
b15ee89307 Use DefaultTextStyle & ListTile for reply box 2023-11-24 15:58:51 -05:00
b238e35b4c Fix emote copy name using full name 2023-11-21 01:42:32 -05:00
86324a4b22 Check and use proper flag for 7TV zero-width 2023-11-01 22:38:16 -04:00
1cb04bed2d Fix 7TV zero-width emotes not working (#292)
Use flags to determine 7TV zero width emote
2023-11-01 18:16:57 -04:00
bc67aad670 Fix 7TV emotes not using custom names (#291)
* Fix 7TV emotes not using custom set names

* Show real name in emote details
2023-11-01 17:55:49 -04:00
a981cec250 Migrate 7TV emotes to V3 API (#287)
* Migrate 7TV global emotes to V3 API

* Migrate 7TV channel emotes to V3 API
2023-11-01 13:34:21 -04:00
00678129a8 Constrain badge details size 2023-10-23 22:33:14 -04:00
cba6600d5f Add Twitch sub emotes to emote menu (#281)
* Fix subbed emotes not showing when enabling turbo emotes

* Add twitch channel emotes to emote menu

* Add ability to show emote details in emote menu

* Add haptic feedback

* Add emote details sheet to recent emotes

* Diisable chat logs
2023-10-23 11:52:04 -04:00
9a6892746d Update to Material 3/You and other changes/fixes (#280)
* Use adaptive refresh indicators

* Add new message count indicator in chat

* Sync pubspec.lock

* Initial migration to material 3

* Restore default bottom sheet style

* Remove FrostyListTile and reset styles

* Use "Clear" button for all search history

* Add `require_trailing_commas` lint rule

* Exclude generated files from linter

* Use ListView for safe area support in bottom sheet

* Add initial dark theme

* Make sizing and units consistent

* Update onbaording spacings & copy

* Migrate to default material 3 buttons

* Add headers to chat details bottom sheet

* Simplify token log in method

* Use bottom sheet for account options

* Remove `AnimateScale` widget

* Tweak search paddings

* Update message spacing divisions

* Upgrade packages

* Update message spacing divisions

* Regenerate splash screens

* Update Inter & add google fonts

* Add initial material 3 themes

* Use adaptive alert dialogs

* Revert to oultined inputs

* Fix tooltip message

* Revert add google_fonts

* Improve themes and various styling

* Convert categories grid to list

* Tweak stream card thumbnail radii

* Tweak settings headers

* Left align floating snackbars

* Tweak search header padding

* Fix profile pics occasionally not rounded

* Use profile pic for settings button if logged in

* Redesign sleep timer

* Use divider theme and reduce thickness

* Use 0 letter spacing for tab bar titles

* Redesign category streams list

* Add border to tooltips

* Increase category card font weight

* Use outlined icon btton for chat user modal

* Reduce profile pic radius in search results

* Fix scrolll to top button safe area

* Add support for reply threads

* Reduce tooltip and snackbar border thickness

* Rebuild reply threads on new messages

* Upgrade packages (iOS)

* Reduce font weight for all chat alerts

* Use tabbars for pageview

* Add dividers everywhere

* Revert "Add dividers everywhere"

This reverts commit 5f0d349fdbb0afad313cfb88e8c359714b3ea87a.

* Remove fill from inputs

* Add dividers to settings

* Use segmented button for settings list

* Add scrollbar to lists with scrollcontroller

* Redesign badge/emote tooltip

* Remove outline from chat user modal buttons

* Remove divider from reply thread

* Use tap for chatters list and increase font weight

* Constrain emote tooltip width
2023-10-22 18:38:32 -04:00
3af5406f60 Update linting and formatting rules (#261)
* Add new linting rules

* Apply new linting rules

* Fix dart sdk version

* Format code to 80 lines
2023-04-29 11:34:28 -04:00
f17cef9523 Migrate to new Twitch badges endpoint (#256) 2023-04-11 08:52:18 -04:00
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
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
7881ce22b4 Improve design and usability, general tweaks and fixes (#226)
See #226 for more details.
2023-01-18 05:34:54 -05:00
d5e8d0c6c5 Enable zero width emotes by default 2022-09-08 16:04:13 -04:00
d4e9d82ee2 Simplify reply null check 2022-09-03 15:25:52 -04:00
f8358e71d3 Add replied message to replies (#189)
Add replies to chat
2022-09-02 15:33:51 -04:00
71a3c8b7b9 Fix misaligned chat names (#187) 2022-09-02 12:20:40 -04:00
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
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
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
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
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
47894f4746 Fix message buffer behavior (#154) 2022-07-27 16:25:34 -04:00
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
b9ef4661cf Separate sub emotes in emote menu (#142)
Closes #142
2022-07-03 05:43:29 -04:00
bb0b24e530 Add option to launch links externally (#113) 2022-05-22 21:14:42 -04:00
9b88463d39 Upgrade packages & apply new lints (#113) 2022-05-12 04:58:03 -04:00
2d0c1bee5f Fix 7TV zero-width randomly not working (#112) 2022-05-11 23:10:02 -04:00