Patrick Bollinger
e59167deaa
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-08 18:58:43 -07:00
Gabe Kangas
169c11596c
feat(chat): add support for chat part messages. Closes #3201 ( #3291 )
2023-09-10 10:58:11 -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