Commit graph

72 commits

Author SHA1 Message Date
Patrick Bollinger
d42a705d33 Stop Firefox from adding mysterious hash (#3348)
This resolves https://github.com/owncast/owncast/issues/3240

From the comments:
This was trickier than expected, but the root of the problem is Firefox will set `#` in the URL bar when `window.location.hash` is set to _any_ string, even a blank string. The morale of the story is, don't mutate base data if you just want to copy values. 😅

Sample of Firefox JavaScript console session that demonstrates the issue:
```javascript
>> window.location.href
"https://github.com/owncast/owncast/issues/3240"

>> const setBlankHash = () => { window.location.hash = ''; };
undefined

>> window.location.hash
""

>> window.location.href
"https://github.com/owncast/owncast/issues/3240"

>> setBlankHash()
undefined

>> // My browser just jumped to the top of the page
undefined

>> window.location.hash
""

>> window.location.href
"https://github.com/owncast/owncast/issues/3240#"
```
2023-10-26 13:14:28 -07:00
Gabe Kangas
eb28ceca54 feat(chat): add support for chat part messages. Closes #3201 (#3291) 2023-10-26 13:10:08 -07:00
Gabe Kangas
777da508ed
fix(chat): fix chat not using the correct messages selector. (#3180)
* fix(chat): fix chat not using the correct messages selector. Closes #3166

* fix(chat): initial state was incorrect when hiding/showing messages
2023-07-17 20:48:59 +00:00
Gabe Kangas
6805a7c1db
feat(ui): more improvements to initial loading state 2023-06-28 07:53:06 -07:00
Gabe Kangas
d60289c8bc
feat(ui): improve loading state 2023-06-27 22:52:23 -07:00
janWilejan
c563742856
Chat popup (#3098)
* add pop out chat button

* add button to close chat popup

* chat is hidden on main interface when a popup chat is open

* NameChangeEvent renames clients with the given id

if you have two or more owncast windows (or pop-out chats) open, changing your
name in 1 client is reflected in all clients.

* replace isChatVisible booleans with chatState enum

* update stories to use ChatState

* fix build tests

---------

Co-authored-by: janWilejan <>
2023-06-26 09:00:27 -07:00
Gabe Kangas
71703f2245
fix(chat): fix bot status not showing. Closes #3046 2023-05-31 13:54:03 -07:00
Gabe Kangas
e50b23d081
Cleanup unused Javascript (#3027)
* chore(js): be stricter about dead code warnings

* chore(js): remove dead code and unused exports

* rebase

* chore: remove unused files

* chore(deps): remove unused prop-types dep

* chore(js): remove unused function

* chore(deps): remove + check unused deps

* chore(js): remove unused exports. Closes #3036
2023-05-20 21:15:25 -07:00
Gabe Kangas
597281bbb2
Guard against duplicate websocket connections. Closes #2773 2023-03-31 21:01:16 -07:00
Gabe Kangas
0f58f8c0fe
Banned and chat disconnected states will hide chat. Closes #2764 2023-03-13 15:25:05 -07:00
Gabe Kangas
c4f057eded
Make testing for moderator state centralized in User class 2023-03-03 21:55:02 -08:00
Gabe Kangas
1536e4a04d
Show moderator message mid-chat session. Closes #2762 2023-03-03 19:49:58 -08:00
Michael David Kuckuk
b38df2fbe3
Create stories for layout testing (#2722)
* Inject services with useContext

* Extract service for video settings

* Create mock factories for services

* Create test data for chat history

* Add story to visualize different layouts

* Fix renaming mistake

* Add landscape and portrait viewports

* Add landscape stories

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-02-26 16:54:28 -08:00
Gabe Kangas
313a81359a
Add Fediverse event chat views. Closes #2679 2023-02-05 19:58:38 -08:00
Gabe Kangas
a84af0870a
Speed up initial loading state 2023-01-31 23:29:03 -08:00
Gabe Kangas
b0f88519d0
Strip fragments from URL when connecting to websocket 2023-01-21 23:19:21 -08:00
Gabe Kangas
5b371b4f73
Improve connectivity error message 2023-01-17 19:21:24 -08:00
Gabe Kangas
e48e274c79
Only show moderator notification once. Closes #2578 2023-01-13 20:53:10 -08:00
Gabe Kangas
d8a5380b7f
Fix some React lifecycle and rendering errors that exist in build 2023-01-10 16:39:20 -08:00
Gabe Kangas
a971a79296
Fix name change clearing chat history. Closes #2532 2022-12-29 20:11:20 -08:00
Gabe Kangas
4838562af8
Fix online app state not being set during goodbye state 2022-11-20 13:27:43 -08:00
Gabe Kangas
32d0850854
Fix another first-launch bug 2022-11-13 19:29:10 -08:00
Gabe Kangas
f5355f244c
Change status handling 2022-11-13 16:03:37 -08:00
Gabe Kangas
c5f02a091b
Handle all server status changes 2022-11-13 14:50:20 -08:00
Gabe Kangas
f348203016
Fix delay in app state being set 2022-11-13 10:47:28 -08:00
Gabe Kangas
595865c11d
Fix infinite load on first launch. Closes #2302 2022-11-04 18:35:50 -07:00
Gabe Kangas
50f23a0807
Changes to troubleshoot #2291 2022-11-02 00:02:32 -07:00
Gabe Kangas
952b28f8bf
Explicitly set state for config+status when hydrated 2022-10-24 21:26:03 -07:00
Gabe Kangas
e75b20d6ca
Support customSocketOverride value for websocket. Closes #2225 2022-10-18 20:43:23 -07:00
Gabe Kangas
91c7bed0e8
Add action message type to chat. Closes #2226 2022-10-18 19:47:38 -07:00
Gabe Kangas
37cdbb8dbd
Add backgrounded stream+messages title notifier. Closes #2208 2022-10-18 19:21:08 -07:00
Gabe Kangas
3e89937d2b
Handle websocket errors and reconnection. Closes #1869 2022-10-18 16:39:49 -07:00
Gabe Kangas
80a012a3c7
Add current user object that holds user session values instead of standalone getters. Closes #2050 2022-10-10 16:40:13 -07:00
Gabe Kangas
9c1fac7468
Do not show raw error in the fatal error modal 2022-10-08 23:15:38 -07:00
Gabe Kangas
8ee9be5d88
Support disabled chat. Closes #1979 2022-09-10 20:03:58 -07:00
Gabe Kangas
8d02f4068d
Polish up the initial loading experience 2022-09-10 18:08:56 -07:00
Gabe Kangas
42ff0cdb01
Add server-side hydration of initial config+status. Closes #1964 2022-09-10 15:37:07 -07:00
James Young
d1f3fffe2f
reafctor: normalize component formatting (#2082)
* refactor: move/rename BanUserButton file

* refactor: move/rename Chart file

* refactor: update generic component filenames to PascalCase

* refactor: update config component filenames to PascalCase

* refactor: update AdminLayout component filename to PascalCase

* refactor: update/move VideoJS component

* chore(eslint): disable bad react/require-default-props rule

* refactor: normalize ActionButton component

* refactor: normalize ActionButtonRow component

* refactor: normalize FollowButton component

* refactor: normalize NotifyButton component

* refactor: normalize ChatActionMessage component

* refactor: normalize ChatContainer component

* refactor: normalize ChatJoinMessage component

* refactor: normalize ChatModerationActionMenu component

* refactor: normalize ChatModerationDetailsModal component

* refactor: normalize ChatModeratorNotification component

* refactor: normalize ChatSocialMessage component

* refactor: normalize ChatSystemMessage component

* refactor: normalize ChatTextField component

* refactor: normalize ChatUserBadge component

* refactor: normalize ChatUserMessage component

* refactor: normalize ContentHeader component

* refactor: normalize OwncastLogo component

* refactor: normalize UserDropdown component

* chore(eslint): modify react/function-component-definition rule

* refactor: normalize CodecSelector component

* refactor: update a bunch of functional components using eslint

* refactor: update a bunch of functional components using eslint, pt2

* refactor: update a bunch of functional components using eslint, pt3

* refactor: replace all component->component default imports with named imports

* refactor: replace all component-stories->component default imports with named imports

* refactor: remove default exports from most components

* chore(eslint): add eslint config files for the components and pages dirs

* fix: use-before-define error in ChatContainer

* Fix ChatContainer import

* Only process .tsx files in Next builds

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2022-09-07 00:00:28 -07:00
Gabe Kangas
ac7e095fdf
Handle hide/show chat messages via moderation. Closes #1986 2022-09-04 17:58:06 -07:00
Gabe Kangas
f3d611e762
Fix content header not rendering properly on mobile 2022-08-22 21:50:17 -07:00
Gabe Kangas
c2bd9436ba
Show moderation menu for moderators. Closes #1864 2022-08-22 19:25:16 -07:00
Gabe Kangas
c4479a0ffc
Add first pass at IndieAuth modal. For #1863 2022-08-20 16:16:24 -07:00
Gabe Kangas
f8429beef4
Add+style system style chat message. Closes #1998 2022-08-10 20:22:00 -07:00
Gabe Kangas
68414445c2
Add support for changing user color in name modal. Closes #1805 2022-08-09 19:56:45 -07:00
Gabe Kangas
2c8621c873
Add chat join messages 2022-07-14 21:05:34 -07:00
Gabe Kangas
9a2a43d916
Add moderator status chat message. Closes #1999 2022-07-14 20:36:47 -07:00
t1enne
d12712a107 Changed chat behaviour
added recoil value isMobile to determine which chat to display and
style. #1978

changed the player to actually span across the viewport without the
black borders around it.
2022-07-03 12:36:30 +02:00
Gabe Kangas
ccb97197c5
Fix chat array not being properly appended to 2022-06-29 11:50:56 -07:00
Gabe Kangas
bb1c934c4b
Fix goodbye state not going back online. Closes #1977 2022-06-25 21:26:41 -07:00
Gabe Kangas
6de93f9651
Move the favicons 2022-06-24 21:53:16 -07:00