Commit graph

886 commits

Author SHA1 Message Date
mahmed2000
5a145eb407
Fixes for aria-live bugs (#3694)
* make the aria-live text adhere to the last message's username

* Wrap lastMessage in an Interweave to handle pre-encoded characters properly

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-14 18:06:29 -07:00
mahmed2000
9c3a4acb16
Change tag to self-closing since the linter complains otherwise (#3690)
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-13 13:51:43 -07:00
Gabe Kangas
30d51d81ac
Allow react/no-danger 2024-04-12 10:20:06 -07:00
Jeet Chawda
39078babbe
stream offline status embed updated (#3684) 2024-04-11 19:57:25 -07:00
mahmed2000
de8bc8d41b
Fix for copying stream key without revealing it only copies asterisks (#3663)
* asterisk copy fix for #3460

* rename text to keys for consistency + linting fix

* make onCopy spawn an antd message directly, remove redundant copyText function

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-10 13:15:53 -07:00
Gabe Kangas
805f96e271
fix(web): resolve the status bar duration string. Fixes #3652 2024-03-28 21:18:28 -07:00
Gabe Kangas
70fdc2c642
fix(web): remove rounded corner in video embed 2024-03-07 17:00:32 -08:00
renovate[bot]
44eafe69ac
fix(deps): update dependency date-fns to v3 (#3619)
* fix(deps): update dependency date-fns to v3

* fix(deps): update usage of date-fns format

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-03-06 21:13:13 -08:00
Riya Bhatia
1ddba0118e
State-changed events modified to be in aria live region (#3469)
* Made changes to chatcontainer, still facing issue with only reading out the newest message

* Added accessibility measure for chat to allow for latest message to be read by screen reader

* Fixed linting errors

* Fixed linting errors pt. 2

* Fixed linting errors, the finale?

* Ok this is actually it i promise

* add username to be read out by screenreader

* fix string concat linter issue

* fix linting indexing issue

* remove test mp4 files

---------

Co-authored-by: melghali <melghali@andrew.cmu.edu>
2024-03-05 22:02:58 -08:00
Aziz Rmadi
45436162bd
Hide chat button on mobile when chat is disabled (#3616) 2024-03-05 21:58:17 -08:00
Gabe Kangas
5ce78fbad4
New offline embed (#3599)
* WIP

* feat(web): add new offline embed view. First step of #2917

* feat(web): support remote fediverse follow flow from embed

* feat(chore): add back offline video embed browser test
2024-02-25 12:52:32 -08:00
Pratyay Roy
ff3c1a4587
fix: remove autoscroll to readwrite chat embed input field (#3582) 2024-02-18 16:39:24 -08:00
renovate[bot]
8069ca782f
chore(deps): update dependency @types/react to v18.2.52 (#3479)
* chore(deps): update dependency @types/react to v18.2.52

* fix(chat): missing placeholder prop in interface

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-02-06 20:07:31 -08:00
Aziz Rmadi
6c644330e7
Fixed page size stale state on LogTable component (#3516) 2024-01-22 20:31:23 -08:00
Gabe Kangas
2b57741397
fix: treat matrix links as regular web urls. Closes #3329 2024-01-21 20:25:05 -08:00
renovate[bot]
dbf3ad93f1
chore(deps): update dependency prettier to v3.2.3 (#3520)
* chore(deps): update dependency prettier to v3.2.3

* chore(js): fix updated prettier whitespace

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-01-19 23:08:07 -08:00
Varun Gujarathi
139ec51dde
fix: add eventType support for touch devices (#3508)
fixes Not selectable items in quality settings menu #3368
2024-01-09 21:45:57 -08:00
Gabe Kangas
34a474b30d
feat(chat): have unique icons for join and part messages. Closes #3421 2023-11-12 10:42:55 -08:00
Gabe Kangas
9db8a8699a
fix: a11y button lables. Closes #3418 2023-11-08 20:08:00 -08:00
kame
4f078e1ee4
Migrated Storybook notation from CSF2 to CSF3 (#3412)
* Migrate web action-buttons directory to CSF3 notation

* Migrate web chat directory to CSF3 notation

* Migrate web common directory to CSF3 notation

* Migrate web layout directory to CSF3 notation

* Migrate web modals directory to CSF3 notation

* Migrate web ui directory to CSF3 notation

* Migrate web video directory to CSF3 notation

* Migrate web stories directory to CSF3 notation
2023-11-06 19:35:05 -08:00
Gabe Kangas
57ff30c894
fix(admin): hopefully fix an exception that is being thrown in develop. Closes #3373 2023-10-25 20:01:04 -07:00
Pranav Joglekar
b8ffe5be16
fix: prevent floating mobile action menu button (#3383)
the absolute positioned mobile action button was attached
to the body causing it to float during scrolling. Now, we wrap
the action buttons inside a relative div so that they are attached
to this div which prevents them from scrolling with page
Fixes #3271

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-10-24 21:58:36 -07:00
Patrick Bollinger
9a7925444f
Fix embedded status bar being cut off (#3352)
* Fix embedded status bar being cut off

This should resolve https://github.com/owncast/owncast/issues/3210.

As recommended in the discussion, flexbox was the way to solve this issue.
The main thing that needed to be addressed though was not applying too many constraints on the OwncastPlayer component just because it was embedded.
By removing the embedded constraints, styling appears to be working as expected.
I'll attach screenshots to the pull request.

* Fix eslint error
2023-10-21 21:46:10 -07:00
armadi1809
81c5908545
Set aria-live to off on span responsible for rendering the online message on a stream (#3361)
Co-authored-by: Aziz Rmadi <azizrmadi@Azizs-MacBook-Air.local>
2023-10-15 19:45:54 -07:00
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
Vishal Sharma
1917b15b0a
Update ClientTable.tsx (#3342)
* Update ClientTable.tsx

solves: #3339

## Changes

changed   owncast/web/components/admin/ClientTable.tsx line 44 `value={selectedKeys[0]})` to `value={selectedKeys[0].toString()} // Convert selectedKeys[0] to string
` as the value attribute expects a value of type string | number | readonly string[]` but previously it was assigned bigint.

* Update ClientTable.tsx

solves: #3339

## Changes

changed   owncast/web/components/admin/ClientTable.tsx line 44 `value={selectedKeys[0]})` to `value={selectedKeys[0].toString()} // Convert selectedKeys[0] to string
` as the value attribute expects a value of type `string | number | readonly string[]` but previously it was assigned bigint.
2023-10-07 13:14:07 -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
364afd0e71
fix: add spacing between user badges. Closes #3247 2023-08-17 19:28:21 -07:00
Gabe Kangas
5ac0d5bbca
feat(admin): add explicit directory info agreement modal. Closes #3258 2023-08-16 17:08:19 -07:00
Gabe Kangas
1a7b6b99d5
feat(storage): support a object storage custom path prefix 2023-08-11 22:18:45 -07:00
Gabe Kangas
243156b307
chore: address linter warnings 2023-08-02 13:46:00 -07:00
janWilejan
c00b0be3d4
fix emojis overflowing the chat message (#3228)
* fix emojis overflowing the chat message

* fix: force ignoring of certain paths?

---------

Co-authored-by: janWilejan <>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-02 12:29:25 -07:00
Gabe Kangas
a163ab8d96
fix: formatting breaking build 2023-07-29 16:04:32 -07:00
renovate[bot]
7c13a3fd01
chore(deps): update dependency eslint-plugin-react to v7.33.0 (#3205)
* chore(deps): update dependency eslint-plugin-react to v7.33.0

* chore: have linter try to autofix and commit linter warnings

* Linter fixes

* chore: tweak how js formatting is run within actions

* fix: type mismatch

* Prettified Code!

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: gabek <gabek@users.noreply.github.com>
2023-07-29 15:57:45 -07:00
Gabe Kangas
6e3f5d3e9f
fix: fix positioning of mobile buttons menu. Closes #3216 (#3217) 2023-07-28 02:20:04 +00:00
Gabe Kangas
16db7825c9
fix: external actions were assuming all actions are urls. Fixes #3213 2023-07-26 11:17:47 -07:00
janWilejan
f112f9813d
NotifyReminderPopup uses a custom Popover (#3194)
* NotifyReminderPopup uses a custom Popover

* fix Popover resizing in storybook

* Prettified Code!

---------

Co-authored-by: janWilejan <>
Co-authored-by: janWilejan <janWilejan@users.noreply.github.com>
2023-07-21 15:58:14 -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
d43c2be44a
fix(admin): display year for user tables if not current year. Closes #3175 2023-07-16 16:46:35 -07:00
Gabe Kangas
4790880c19
fix(admin): save appearanceVariables to admin global config state. Fixes #3170 2023-07-16 16:34:37 -07:00
janWilejan
e15e2dc47c
Fix deprecated antd dropdown warnings (#3171)
* Fix deprecated antd dropdown warnings
2023-07-13 20:28:12 +00:00
janWilejan
14baef4e36
remove excess resize event listeners (#3169)
We add a resize handler to the window when the ChatContainer is created. If a
second ChatContainer is created due to React redrawing, remove the old handler.

Co-authored-by: janWilejan <>
2023-07-13 12:36:21 -07:00
janWilejan
f889113526
change overflow behaviour in chat input (#3167)
Firefox only breaks at word boundaries by default, meaning we need a horizontal
scrollbar to handle long words like AAAAAAAAAAAAAAAAAAAAAAAAAAAAA.

Co-authored-by: janWilejan <>
2023-07-11 13:13:04 -07:00
janWilejan
101174f71e
replace margins with padding in the chat container (#3165)
Virtuoso can't calculate the size of elements that have margins. This causes
strange behaviour with scrolling in chat.

Co-authored-by: janWilejan <>
2023-07-11 13:07:58 -07:00
John Regan
3f65099910
Name change: better unicode handling (#3164)
* Name change: better unicode handling

Client-side:

* Changes the NameChangeModal to show text "Over limit" when a proposed display
name is too long.

* Allows names to go over limit to prevent splitting graphemes on input.

Server-side:

* Changes the MakeSafeStringOfLength to count number of unicode code points
instead of string bytes.

* name modal: check that newName is defined before iterating
2023-07-11 10:44:09 -07:00
John Regan
056bd9f152
contenteditable: remove warning about unknown property onContentChange (#3161) 2023-07-10 23:02:07 -07:00
janWilejan
3f4887020d
Add resize handle to chat (#3157)
* add resize handle to chat

* Add chat resize functionality

* window resize only causes chat resize on desktop

* fix parseFloat invocation

* desktop is optional attribute of ChatContainer

---------

Co-authored-by: janWilejan <>
2023-07-10 23:00:28 -07:00
John Regan
a663f8ec34
replace grapheme-splitter with graphemer (updated fork) (#3160) 2023-07-10 16:13:40 -07:00
Dev Gupta
d107a3386c
Update ActionButtonRow.module.scss (#3156) 2023-07-09 18:08:02 -07:00
janWilejan
2d72935564
change chat from a sidebar to a column (#3113)
* change chat from a sidebar to a column

Using a 2-column layout prevents the chat scrollbar from overlapping the page
scrollbar. Also, it no longer needs to calculate extra padding for elements.

* remove unused Sidebar.tsx

* fix css for chat column

* re-center "Go to last message" button

* main content column always uses maximum height

* lint

* re-hide scrollbars in mainContent on chromium

* fix chat column width when input is over-full

* chat is only fixed-width in desktop

---------

Co-authored-by: janWilejan <>
2023-07-09 14:07:35 -07:00