Commit Graph
80 Commits
Author SHA1 Message Date
77da953781 Disable support for the latency compensator in the player (#4348)
* chore(web): disable support for the latency compensator. Closes #4224

* Javascript formatting autofixes

---------

Co-authored-by: Owncast <owncast@owncast.online>
2025-05-20 20:00:03 -07:00
Gabe Kangas 70bbcb97b8 fix(js): tweak how the vjs hook is fired and url is created 2024-11-15 13:25:06 -08:00
681111ceb2 refactor: update vjs beforeRequest to onRequest (#3945)
* refactor: update vjs onRequst to onRequest

* fix(js): update vjs to use the new onrequest hook for manipulating request uri

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-11-15 12:55:26 -08:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Gabe Kangas
f6a1b1b638 chore(deps): update typescript-eslint monorepo to v8 (major) (#3887)
* chore(deps): update typescript-eslint monorepo to v8

* chore(js): fix linter errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-09-15 13:51:33 -07:00
mahmed2000andGitHub 43fdadd361 Override default videojs volume panel width (#3796) 2024-06-30 19:53:27 -07:00
Varun GujarathiandGitHub 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
kameandGitHub 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
Patrick BollingerandGitHub 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
janWilejanGitHubjanWilejan <>
d09031faeb Increase width of volume slider to 100px (#3155)
Co-authored-by: janWilejan <>
2023-07-09 12:50:04 -07:00
janWilejanGitHubjanWilejan <>
185123dab2 fail silently when no codces are found (#3142)
Co-authored-by: janWilejan <>
2023-07-05 21:41:50 -07:00
Gabe Kangas b1a8f712c0 fix(embed): leave room for status bar in video embed. Closes #3104 2023-06-28 10:13:24 -07:00
janWilejanGitHubjanWilejan <>
7930747cbb Fix highlight in video quality selection menu (#3102)
Also removed dead code in video quality selection menu.
Also 'minimize latency (experimental)' button is no longer renamed when pressed
(it is now highlighted when enabled).

Co-authored-by: janWilejan <>
2023-06-26 09:40:28 -07:00
Gabe Kangas ccb9b5d075 chore: run stylelint on our css files 2023-06-20 20:58:00 -07:00
Gabe KangasandGitHub 8862d5d6ef Remove unused default exports 2023-06-19 18:32:56 -07:00
Gabe KangasandGitHub 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
c2a0295a0c Address some layout issues with odd content spacing on mobile, and footer position (#3022)
* - set vars for player container height and status bar height
- use them to calculate mobile top spacing to adjust for tab content positioning

* give main content section a min height, place footer absolutely at bottom; rm all the fixed footer styling

* cleanup; restructure tabbed display logic and css a bit

* Prettified Code!

* cleanup

* fix(story): footer story needs to be wrapped in RecoilRoot if it is to use Recoil

* revert adding footer to mobile about section

* prevent double scrolling

---------

Co-authored-by: gingervitis <gingervitis@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-05-18 12:13:26 -07:00
Gabe Kangas d900da8cab fix(metrics): increase max valid latency reporting time. Troubleshooting 2023-05-11 22:17:33 -07:00
Gabe Kangas 84fdbecec3 fix(player): fix incorrect icon being rendered from vjs font after update 2023-05-07 09:42:58 -07:00
Gabe Kangas 933656c3a7 fix(player): fix vjs throwing warning about accessing tech 2023-05-06 20:06:13 -07:00
Gabe Kangas be60d94045 chore(deps): update video.js to the 8.x release 2023-05-06 18:37:12 -07:00
Gabe Kangas 7261b1d49f fix(embed): allow flexible player sizes for embeds. Closes #2984 2023-05-04 11:29:48 -07:00
32c3f6a9b6 fix: #2668 Page Vertical Spacing Issues (#2863)
* fix: #2668 Page Vertical Spacing Issues

* Update test to reflect mobile work

* chore: refactor action buttons

---------

Co-authored-by: thisProjects <wibbet@wobbet.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-04-26 15:31:23 -07:00
Gabe Kangas 7ec7e1704c Add bool option to player to fill container for embeds. Closes #2884 2023-04-05 20:05:22 -07:00
Gabe Kangas 11a11e64ad Add error boundary to player. For #2811 2023-03-12 23:11:14 -07:00
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
Michael David KuckukandGitHub 25119561fb Give chat a min-height that other elements yield to on mobile clients (#2676)
* Add className prop to some components

* Give mobile chatbox height priority over other elements

* Optimize for mobile landscape mode

* Make thumbnail background black

* Fix overflow issues on narrow screens

* Adjust layout for offline mode on mobile

* Fix main content width on Desktop

* Fix offline layout for desktop
2023-02-08 18:50:58 -08:00
e977279eef [ImgBot] Optimize images (#2654)
*Total -- 14,486.60kb -> 13,473.50kb (6.99%)

/static/img/emoji/blob/ablobaww.gif -- 401.59kb -> 221.70kb (44.79%)
/static/img/emoji/blob/ablobdancer.gif -- 33.43kb -> 24.81kb (25.78%)
/static/img/emoji/blob/ablobthinking.gif -- 82.81kb -> 61.59kb (25.62%)
/web/stories/assets/mocks/offline-state.png -- 25.70kb -> 19.44kb (24.34%)
/web/.storybook/story-assets/project/sticker-bigtech-alt.png -- 161.87kb -> 131.11kb (19%)
/static/img/emoji/blob/blobwave.png -- 7.84kb -> 6.55kb (16.44%)
/static/web/img/platformlogos/fediverse.svg -- 18.53kb -> 15.55kb (16.08%)
/web/public/img/platformlogos/fediverse.svg -- 18.53kb -> 15.55kb (16.08%)
/static/img/emoji/blob/blobaww.png -- 8.72kb -> 7.38kb (15.32%)
/web/.storybook/story-assets/project/owncast-background.png -- 3,228.15kb -> 2,739.00kb (15.15%)
/static/img/emoji/blob/ablobgift.gif -- 205.24kb -> 174.65kb (14.91%)
/web/.storybook/story-assets/project/logo-translucent-grey.svg -- 7.51kb -> 6.45kb (14.22%)
/web/components/video/airplay.svg -- 1.36kb -> 1.18kb (13.35%)
/static/web/_next/static/media/airplay.1a413e9c.svg -- 1.36kb -> 1.18kb (13.35%)
/static/img/emoji/conigliolo96/conigliolo15.gif -- 34.76kb -> 30.12kb (13.35%)
/static/img/emoji/conigliolo96/conigliolo1.gif -- 34.66kb -> 30.03kb (13.35%)
/static/img/emoji/conigliolo96/conigliolo17.gif -- 35.63kb -> 30.90kb (13.26%)
/static/img/emoji/blob/blobdancer.png -- 9.63kb -> 8.42kb (12.5%)
/static/img/emoji/blob/blobthinking.png -- 11.07kb -> 9.69kb (12.43%)
/static/web/img/platformlogos/matrix.svg -- 1.21kb -> 1.06kb (12.32%)
/web/public/img/platformlogos/matrix.svg -- 1.21kb -> 1.06kb (12.32%)
/static/web/img/platformlogos/xmpp.svg -- 4.23kb -> 3.73kb (11.83%)
/web/public/img/platformlogos/xmpp.svg -- 4.23kb -> 3.73kb (11.83%)
/static/img/emoji/blob/ablobcry.gif -- 42.70kb -> 37.93kb (11.16%)
/web/stories/assets/mocks/follow-modal.png -- 100.92kb -> 90.24kb (10.59%)
/static/img/emoji/dog/img347.svg -- 17.25kb -> 15.50kb (10.13%)
/static/img/emoji/blob/blobjam.png -- 12.81kb -> 11.56kb (9.71%)
/static/img/emoji/blob/blobyum.png -- 9.49kb -> 8.58kb (9.58%)
/static/img/emoji/blob/ablobsleep.gif -- 45.52kb -> 41.19kb (9.52%)
/static/img/emoji/dog/img346.svg -- 15.84kb -> 14.36kb (9.39%)
/static/img/emoji/dog/img327.svg -- 16.52kb -> 14.99kb (9.27%)
/static/img/emoji/blob/blobangry.png -- 8.23kb -> 7.49kb (9.06%)
/static/img/emoji/blob/ablobwave.gif -- 77.02kb -> 70.13kb (8.94%)
/static/img/emoji/dog/img091.svg -- 14.19kb -> 12.94kb (8.82%)
/static/img/emoji/dog/img001.svg -- 15.80kb -> 14.42kb (8.74%)
/static/img/emoji/dog/img093.svg -- 14.39kb -> 13.13kb (8.7%)
/static/img/emoji/dog/img203.svg -- 15.82kb -> 14.45kb (8.61%)
/static/img/emoji/conigliolo96/conigliolo25.gif -- 38.86kb -> 35.54kb (8.54%)
/static/img/emoji/blob/blobyes.png -- 13.01kb -> 11.91kb (8.49%)
/static/img/emoji/blob/blobthanks.png -- 11.97kb -> 10.97kb (8.38%)
/static/img/emoji/dog/img288.svg -- 16.43kb -> 15.10kb (8.07%)
/static/img/emoji/blob/ablobblewobble.gif -- 16.01kb -> 14.80kb (7.56%)
/static/img/emoji/conigliolo96/conigliolo28.gif -- 38.59kb -> 35.80kb (7.22%)
/static/img/emoji/conigliolo96/conigliolo21.gif -- 38.29kb -> 35.64kb (6.92%)
/static/img/emoji/dog/img352.svg -- 22.09kb -> 20.57kb (6.9%)
/web/stories/assets/mocks/notify-popup.png -- 48.11kb -> 45.48kb (5.46%)
/static/web/img/indieauth.png -- 9.85kb -> 9.32kb (5.38%)
/web/public/img/indieauth.png -- 9.85kb -> 9.32kb (5.38%)
/web/stories/assets/mocks/chatmessage-system.png -- 33.28kb -> 31.55kb (5.19%)
/static/img/emoji/blob/ablobcheer.gif -- 37.57kb -> 35.74kb (4.86%)
/static/img/emoji/blob/ablobattention.gif -- 36.55kb -> 34.81kb (4.76%)
/static/img/logo.png -- 127.20kb -> 121.26kb (4.68%)
/web/.storybook/story-assets/project/logo-glare-outlined.png -- 127.20kb -> 121.26kb (4.68%)
/web/.storybook/story-assets/project/kiss-cut-stickers-5.5x5.5-default-60874a6c11849.png -- 127.20kb -> 121.26kb (4.68%)
/web/stories/assets/mocks/chatmessage-action.png -- 9.85kb -> 9.39kb (4.66%)
/web/.storybook/story-assets/project/header.png -- 57.15kb -> 54.50kb (4.63%)
/web/stories/assets/mocks/chatmessage-user.png -- 37.25kb -> 35.79kb (3.91%)
/static/img/emoji/blob/ablobgiggle.gif -- 228.77kb -> 221.60kb (3.13%)
/web/stories/assets/mocks/notify-modal.png -- 63.75kb -> 61.91kb (2.89%)
/web/.storybook/story-assets/tshirt/all-over-print-womens-crew-neck-t-shirt-white-back-6087418b62999.png -- 724.91kb -> 705.22kb (2.72%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-front-60873dde51eb3.png -- 689.98kb -> 671.76kb (2.64%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-back-60873dde52297.png -- 682.39kb -> 664.39kb (2.64%)
/web/.storybook/story-assets/tshirt/all-over-print-womens-crew-neck-t-shirt-white-front-6087418b626d5.png -- 760.09kb -> 740.90kb (2.53%)
/web/.storybook/story-assets/tshirt/all-over-print-womens-crew-neck-t-shirt-white-back-6087418b62aa4.png -- 530.18kb -> 524.45kb (1.08%)
/web/stories/assets/mocks/fediauth-modal.png -- 76.13kb -> 75.33kb (1.05%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-back-60873dde523ae.png -- 604.79kb -> 598.44kb (1.05%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-front-60873dde52064.png -- 689.60kb -> 682.66kb (1.01%)
/web/stories/assets/mocks/indieauth-modal.png -- 97.92kb -> 96.98kb (0.96%)
/web/.storybook/story-assets/tshirt/all-over-print-womens-crew-neck-t-shirt-white-front-6087418b62878.png -- 533.18kb -> 528.58kb (0.86%)
/web/stories/assets/mocks/followers-tab.png -- 145.22kb -> 143.97kb (0.86%)
/web/.storybook/story-assets/tshirt/all-over-print-womens-crew-neck-t-shirt-white-right-6087418b62c88.png -- 459.98kb -> 456.04kb (0.86%)
/static/img/emoji/blob/blobscream.png -- 11.65kb -> 11.55kb (0.82%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-back-60873dde524ca.png -- 612.37kb -> 607.37kb (0.82%)
/web/.storybook/story-assets/tshirt/all-over-print-womens-crew-neck-t-shirt-white-left-6087418b62b91.png -- 501.58kb -> 497.80kb (0.75%)
/static/img/emoji/blob/ablobparty.gif -- 254.34kb -> 252.42kb (0.75%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-right-60873dde52184.png -- 481.94kb -> 478.58kb (0.7%)
/web/stories/assets/mocks/single-follower.png -- 51.88kb -> 51.54kb (0.65%)
/web/.storybook/story-assets/tshirt/all-over-print-mens-crew-neck-t-shirt-white-left-60873dde525e2.png -- 597.15kb -> 593.50kb (0.61%)
/static/img/emoji/mutant/grumpy_block.svg -- 1.01kb -> 1.01kb (0.29%)
/static/img/emoji/mutant/tennis.svg -- 1.02kb -> 1.01kb (0.29%)
/static/img/emoji/mutant/studio_microphone.svg -- 1.17kb -> 1.17kb (0.25%)
/static/img/emoji/mutant/eye.svg -- 1.43kb -> 1.43kb (0.2%)
/static/img/emoji/mutant/singer.svg -- 2.92kb -> 2.92kb (0.17%)
/static/img/emoji/mutant/technologist.svg -- 3.08kb -> 3.08kb (0.16%)
/static/img/emoji/mutant/softball.svg -- 2.30kb -> 2.30kb (0.13%)
/static/img/emoji/mutant/8_ball.svg -- 1.75kb -> 1.75kb (0.11%)
/static/img/emoji/mutant/football.svg -- 1.93kb -> 1.92kb (0.1%)
/static/img/emoji/mutant/jack_o_lantern.svg -- 1.99kb -> 1.98kb (0.1%)
/static/img/emoji/mutant/cat_kiss.svg -- 3.37kb -> 3.37kb (0.09%)
/static/img/emoji/mutant/blep.svg -- 3.43kb -> 3.43kb (0.09%)
/static/img/emoji/mutant/cat_pouting.svg -- 3.69kb -> 3.69kb (0.08%)
/static/img/emoji/mutant/student.svg -- 2.47kb -> 2.47kb (0.08%)
/static/img/emoji/mutant/cat_grin.svg -- 3.74kb -> 3.74kb (0.08%)
/static/img/emoji/mutant/cat_heart_eyes.svg -- 3.81kb -> 3.81kb (0.08%)
/static/img/emoji/mutant/cat_devious.svg -- 3.87kb -> 3.87kb (0.08%)
/static/img/emoji/mutant/skull.svg -- 2.58kb -> 2.58kb (0.08%)
/static/img/emoji/mutant/cat_crying.svg -- 4.19kb -> 4.19kb (0.07%)
/static/img/emoji/mutant/cat_joy.svg -- 4.21kb -> 4.21kb (0.07%)
/static/img/emoji/mutant/cat_smile.svg -- 4.25kb -> 4.25kb (0.07%)
/static/img/emoji/mutant/office_worker.svg -- 3.00kb -> 3.00kb (0.07%)
/static/img/emoji/mutant/chef.svg -- 3.09kb -> 3.09kb (0.06%)
/static/img/emoji/mutant/cat_scream.svg -- 4.93kb -> 4.93kb (0.06%)
/static/img/emoji/mutant/astronaut.svg -- 3.40kb -> 3.40kb (0.06%)
/static/img/emoji/mutant/artist.svg -- 3.66kb -> 3.65kb (0.05%)
/static/img/emoji/mutant/skull_and_crossbones.svg -- 5.04kb -> 5.04kb (0.04%)
/static/img/emoji/mutant/detective.svg -- 5.35kb -> 5.35kb (0.04%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-01-31 09:12:51 -08:00
Gabe Kangas 9877d115ee Update how the player resizes to fit. Closes #2360 2023-01-29 17:10:44 -08:00
Gabe Kangas fb4b0a56cc Fix player sizing in different viewports. Closes #2360 2023-01-28 18:16:31 -08:00
Gabe Kangas e6be36af31 Add aria-label to player settings button. For #1826 2023-01-23 19:36:28 -08:00
Gabe Kangas 24f6bb1ea5 Add aria-title attribute to video player. For #1826 2023-01-23 19:28:32 -08:00
Gabe Kangas cdaae66e94 Add skip links for content, player and footer. For #1826 2023-01-21 23:22:28 -08:00
Gabe Kangas f725bc28f4 Make the player fit the full width but content stay the same. For #2360 2023-01-21 12:50:36 -08:00
Michael David KuckukandGitHub 2f2300db8d Add initiallyMuted query parameter to embed player (#2539)
* Add query param to initially mute embed player

* Add stories for embed player

* Improve VideoJS typing
2022-12-31 16:08:54 -08:00
Gabe Kangas 9ed14ca73f Refactor player button to fix Safari issues. Closes #2440 2022-12-15 21:28:09 -08:00
Gabe Kangas 4eb25e3509 Remove log message 2022-11-20 13:27:42 -08:00
Gabe Kangas d0cc0d8e56 Play around with sizing and placement of player. For #2204 and #2303 2022-11-19 13:35:37 -08:00
Gabe Kangas 62c556aa2a Add video playlist cachebuster. Closes #2349 2022-11-17 22:10:53 -08:00
Gabe Kangas 9ca012cc8b Fix settings items not being returned 2022-11-12 23:42:33 -08:00
Gabe Kangas ac32e691a0 Fix some playery errors and layout issues 2022-11-12 23:36:00 -08:00
Gabe Kangas d81b6803d2 Settings items text color 2022-11-12 23:35:59 -08:00
Gabe Kangas 00dc8c6802 Use updated MenuButton creation 2022-11-12 23:35:59 -08:00
t1enne 917248fc5b moved footer to layout. changed some css 2022-10-22 10:46:17 +02:00
Gabe Kangas 27565c2b02 Show play button on player pause. Closes #2206 2022-10-12 19:24:41 -07:00
Gabe Kangas d40e66b7ef Stop playback metrics on player unmount 2022-10-12 19:15:47 -07:00
Gabe Kangas 88bb8336f3 Fix player not staying inline on iOS. Closes #2097 2022-10-12 17:53:37 -07:00
Gabe Kangas 23b5468ed4 Fix error thrown by player after player is unmounted 2022-10-08 17:51:17 -07:00
Gabe Kangas 6773fc37a5 Fix space bar moving page. Closes #2110 2022-10-08 17:15:19 -07:00
Gabe Kangas ded47a0c25 Make live indicator use our theme colors. For #1899 2022-10-08 16:51:49 -07:00
Cleo JohnandGitHub 34f35974e0 Change Airplay to SVG and refactor (#2156)
* Replaced airplay.png with airplay.svg

* Refactor VideoJS.scss to propper scss syntax

* Fix for the messup I made during the refactor

* fix airplay size

* hotfix fixed aircast styling
2022-10-06 18:57:49 -07:00