7675c53e16
Removed aria ( #4430 )
...
* fixed-aria
* removed-aria
* fix(js): linter error
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-07-22 12:32:07 -07:00
59b905649e
Add pluralization support to Translation component ( #4441 )
...
* Initial plan
* Add pluralization support to Translation component with comprehensive tests
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Javascript formatting autofixes
* Update web/tests/translation.test.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update web/components/ui/Translation/Translation.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: linter warning
* Simplify pluralization logic: use original key for plural, only _one for singular
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* feat(i18n): fix support for nested namespace string and key extraction
* chore: update extracted translations
* fix(i18n): fix linter warnings in extraction script
* Update web/scripts/i18n-extract.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat(i18n): sort translation keys
* fix(i18n): fix linter warnings
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-13 17:34:06 -07:00
eafcf9148c
Update EditInstanceDetails admin component to support localization ( #4439 )
...
* Initial plan
* Update EditInstanceDetails component to support localization
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* chore: update extracted translations
* Update web/types/localization.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add EditInstanceDetails namespace to localization keys
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* chore: update extracted translations
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Owncast default web localizations <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-13 13:34:30 -07:00
29b5100114
Create custom Translation component for better i18n handling ( #4431 )
...
* Initial plan
* Implement Translation component with Storybook stories
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Add Jest test for Translation component and demonstrate ?lang=de functionality
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Javascript formatting autofixes
* Create centralized type-safe localization system
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Add @testing-library/react to Translation component tests
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Fix code formatting errors with prettier and eslint
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Revert "Fix code formatting errors with prettier and eslint"
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* fix(js): eslinter errors
* fix(js): unused code warnings
* fix(js): fix additional warnings
* Update Emoji admin page to use new Translation component
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Organize localization keys by logical sections (Frontend, Admin, Common, Testing)
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Organize localization keys by TypeScript namespaces
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Javascript formatting autofixes
* feat(js): add support for default translated text
* chore: add default lang translations on commit
* fix(js): unused code warnings
* Update OfflineBanner component to use new Translation component
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* fix(js): fix localization extraction job
* chore(js): remove ts-node cli
* fix(css): fix css warning
* feat(js): add some additional translation strings via component
* chore: update extracted translations
* test: add tests for Translation component defaultText and fallback behavior
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* chore: update extracted translations
* Javascript formatting autofixes
* chore: call out new Translation component
* fix: linter warning
* chore: updated instructions
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-07-13 02:21:46 -07:00
07786682b0
Fix error message styling consistency in browser notification modal ( #4418 )
...
* Initial plan
* Update BrowserNotifyModal to use Alert component for error styling consistency
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* chore: update copilot instructions
* chore: update copilot instructions
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-07-04 22:42:40 -07:00
1310dc1b80
Add horizontal line to admin sidebar ( #4417 )
...
* feat(admin): add horizontal line to sidebar. Closes #4098
* fix: lint css file
* fix: tweak css
* chore: go mod tidy
* fix: another css fix
2025-07-04 19:34:57 -07:00
5950db7abd
Display keyboard shortcut in UserDropdown chat menu items ( #4414 )
...
* Initial plan
* Add keyboard shortcut display to UserDropdown chat menu items
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Successfully implement keyboard shortcut display in UserDropdown chat menu
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
* Additional instructions
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-07-04 14:19:17 -07:00
f6c13bdc69
chore(web): remove unpopulated meta tags. Closes #4324
2025-05-20 20:27:45 -07:00
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
d1879e74b5
fix errorMessage being set as a raw error type instead of a string ( #4333 )
2025-05-10 13:20:24 -07:00
75a8819188
fix(web): add missing space in footer
2025-05-03 11:16:16 -07:00
07d4ce0a52
Increase font sizes on offline embed page ( #4246 )
2025-03-10 20:17:06 -07:00
e08b251b7c
fix: username wrapping for parting message ( #4209 )
2025-02-15 17:02:56 -08:00
849c4e85b0
Removes trailing whitespace causing web hydration errors ( #4208 )
2025-02-14 22:49:08 -08:00
2c42b901f2
set default initialValue to an empty string in TextFieldWithSubmit component ( #4207 )
2025-02-14 22:32:24 -08:00
f1ca5f9549
Update follower cards to have better responsive design ( #4198 )
...
* change a follower's name to be very long
* Add more media query and make the entire row match the tallest card
* fix lint in followerCollection file
* make media queries easier to read
2025-02-12 20:46:54 -08:00
ca98a5ad21
fix(video): support native hls playback via opengraph tags. Fixes #4204
2025-02-12 19:19:42 -08:00
9be8fa56c2
Add background color and title attribute to social images ( #4192 )
...
* Make social links wrap
* Add background to social links
* add title to social link
* fix lint attempt
* css lint fix attempt
* scss prettier
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-02-07 18:56:24 -08:00
dd7a0ec081
fix(storybook): remove the storybook params causing render errors
2025-02-06 18:44:39 -08:00
47857e283e
fix(web): improve sizing and spacing of offline embed. Closes #4133
2025-01-17 15:40:06 -08:00
bd8dc8326c
fix(admin): do not log newfeed 404s
2025-01-15 22:00:32 -08:00
d03cac106c
fix(admin): do not handle version upgrade logic if current version is not set
2025-01-15 21:59:45 -08:00
2e8e61309a
Remove use of default props ( #4118 )
...
* refactor: replace defaultProps with function parameters in Modal, Statusbar, ChatContainer, and CrossfadeImage components
* New commit for Default properties of React components after syncing fork and rebasing
* fix: fix linter warning
---------
Co-authored-by: swarup <swarupnarkhede999@gmail.com>
2025-01-15 16:12:54 -08:00
d77b80a94a
fix(storybook): fix another story not rendering with i18n
2025-01-14 21:27:21 -08:00
70282761d3
fix(storybook): fix storybook rendering with i18n library
2025-01-14 21:19:23 -08:00
cb387d88be
Initial localization work ( #3980 )
...
* First pass at configuring localization
* Add CI job for translations
* Update CI job
* Update default value
* Update parser config
* Update defaults again
* try to fix the multiple parsing of a file
* Update crowdlin config
* Update configs
* New Crowdin translations by GitHub Action (#3448 )
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* Point to updated translated files
* Tooltip i18n
* Run translation job when web components are updated
* Commit updated translations
* Translations update (#3453 )
* Update source file strings.json
Updated translations
* New translations strings.json (French)
Updated translations
* New translations strings.json (Spanish)
Updated translations
* New translations strings.json (German)
Updated translations
* New translations strings.json (English, United States)
Updated translations
* Commit updated translations
* New Crowdin translations by GitHub Action (#3452 )
Co-authored-by: Owncast <owncast@owncast.online>
* chore(deps): update to next config to address build errors
* New Crowdin translations by GitHub Action (#3455 )
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* Translations update (#3456 )
* New translations strings.json (Arabic)
Updated translations
* New translations strings.json (German)
Updated translations
* New translations strings.json (Greek)
Updated translations
* New translations strings.json (Irish)
Updated translations
* New translations strings.json (Italian)
Updated translations
* New translations strings.json (Japanese)
Updated translations
* New translations strings.json (Korean)
Updated translations
* New translations strings.json (Dutch)
Updated translations
* New translations strings.json (Norwegian)
Updated translations
* New translations strings.json (Punjabi)
Updated translations
* New translations strings.json (Russian)
Updated translations
* New translations strings.json (Swedish)
Updated translations
* New translations strings.json (Chinese Traditional)
Updated translations
* New translations strings.json (Vietnamese)
Updated translations
* New translations strings.json (Bengali)
Updated translations
* New translations strings.json (Thai)
Updated translations
* New translations strings.json (Croatian)
Updated translations
* New translations strings.json (Hindi)
Updated translations
* New translations strings.json (Malay)
Updated translations
* New Crowdin translations by GitHub Action (#3457 )
* New translations strings.json (Arabic)
Updated translations
* New translations strings.json (German)
Updated translations
* New translations strings.json (Greek)
Updated translations
* New translations strings.json (Irish)
Updated translations
* New translations strings.json (Italian)
Updated translations
* New translations strings.json (Japanese)
Updated translations
* New translations strings.json (Korean)
Updated translations
* New translations strings.json (Dutch)
Updated translations
* New translations strings.json (Norwegian)
Updated translations
* New translations strings.json (Punjabi)
Updated translations
* New translations strings.json (Russian)
Updated translations
* New translations strings.json (Swedish)
Updated translations
* New translations strings.json (Chinese Traditional)
Updated translations
* New translations strings.json (Vietnamese)
Updated translations
* New translations strings.json (Bengali)
Updated translations
* New translations strings.json (Thai)
Updated translations
* New translations strings.json (Croatian)
Updated translations
* New translations strings.json (Hindi)
Updated translations
* New translations strings.json (Malay)
Updated translations
* New Crowdin translations by GitHub Action
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* Commit updated API documentation
* Update translations job
* New Crowdin translations by GitHub Action (#3698 )
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* Update Crowdin configuration file
* Translations update (#3700 )
* New translations strings.json (French)
Updated translations
* New translations strings.json (Italian)
Updated translations
* Translations update (#3699 )
* New translations strings.json (French)
Updated translations
* New translations strings.json (Spanish)
Updated translations
* New translations strings.json (Italian)
Updated translations
* New translations strings.json (Japanese)
Updated translations
* New translations strings.json (Polish)
Updated translations
* New translations strings.json (Russian)
Updated translations
* New translations strings.json (Portuguese, Brazilian)
Updated translations
* Commit updated API documentation
---------
Co-authored-by: Owncast <owncast@owncast.online>
* New Crowdin translations by GitHub Action (#3701 )
* New translations strings.json (French)
Updated translations
* New translations strings.json (Spanish)
Updated translations
* New translations strings.json (Italian)
Updated translations
* New translations strings.json (Japanese)
Updated translations
* New translations strings.json (Polish)
Updated translations
* New translations strings.json (Russian)
Updated translations
* New translations strings.json (Portuguese, Brazilian)
Updated translations
* New Crowdin translations by GitHub Action
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* Draft: Mark strings for translation. (#3458 )
* Mark strings for translation.
* Mark up strings for translation
* fix(web): fix linter warnings
---------
Co-authored-by: Le fractal <17422-fractal@users.noreply.framagit.org>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* do not pull from cowdin via workflow
* Commit updated translations
* feat: add translations support to admin pages and components (#3977 )
* feat: add translations support to admin pages and components
Added translations support admin main page and its components, help
page, handware-info page. Added translations support for LogTable,
NewsFeed and StreamHealthOverview components.
* update package.json
* fix rendering issue
* Commit updated API documentation
---------
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* Offline banner i18n formatting (#3997 )
* Fix "Last live ago" string formatting with i18n interpolation
* Change some base translation jsons to use i18n interpolation
* Linting fix
* chore(js): ignore i18n pkgs in knip
* fix(test): fix browser ui test
* fix(js): remove unused var
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: taintedcypher <119351153+taintedcypher@users.noreply.github.com>
Co-authored-by: Le fractal <17422-fractal@users.noreply.framagit.org>
Co-authored-by: Sufyaan Khateeb <81009832+SufyaanKhateeb@users.noreply.github.com>
Co-authored-by: mahmed2000 <mahmad2000@protonmail.com>
2025-01-14 20:54:21 -08:00
2b42ff5ce4
Revert "fix(js): do not fire dangerouslySetInnerHTML if there is nothing to render. Closes #4075 "
...
This reverts commit d91c42bafd9136805fd64018f0db517156bcb263.
Closes #4112
2025-01-14 08:33:03 -08:00
048acbce88
fix(js): do not fire dangerouslySetInnerHTML if there is nothing to render. Closes #4075 ( #4076 )
2025-01-08 15:10:35 -08:00
87c7571d5c
embed screen style adjustments ( #4063 )
...
* restyle and relayout embed screen to account for smaller screen displays.
- address https://github.com/owncast/owncast/issues/3683 to address overflow issues
- address https://github.com/owncast/owncast/issues/4051 to move the name of the stream
* Javascript formatting autofixes
* clean up; restore package lock
* accommodate cases when there's no follow option; put follow form on one line, but wrap if need
* clean up
* separate out follow form into separate standalone component to be used in multiple places
* improve follow error styling; rm defaultProps for Modal to get rid of warning
* improve styling of follow form and components for legibility
* prettyify scss
* prettyify scss again
* one more time
* prettify ant file
* simplify layout, center everything
* just use gap
* tweak and lint
* lint, again
---------
Co-authored-by: Owncast <owncast@owncast.online>
2025-01-05 17:28:35 -08:00
6528633a13
fix skip link visibility and it moving logo upon focus ( #4078 )
...
* fix skip link visibility and it moving logo upon focus
* update color
2025-01-04 20:24:27 -08:00
a6dc9645e6
Add local CSS lint checks ( #4068 )
...
* update package scripts to include prettifying scss files and stylelint-ing; fix related issues found from stylelinter
* revert old prettier autofix
* lint
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-01-04 12:59:45 -08:00
8a1c05abf4
Make the error alert in OfflineEmbed closable ( #4062 )
2024-12-20 09:17:34 -08:00
e1a48909c8
fix(embed): fix follow button not showing up in offline embed. Closes #4053
2024-12-12 22:43:30 -08:00
d9a0d13479
Communicate and handle apub outgoing updates being delayed ( #4009 )
...
* Allow icon only status messages such as STATUS_PROCESSING to be displayed
* Add a processing status state for the EditSocialLinks component
* Log warning for the outbound apub channel being full
* Buffer the outbound apub channel so some API requests are less likely to get blocked during handling
* Make the apub outbound request trace-log always occur after being queued.
* Linting fix
2024-11-30 14:38:00 -08:00
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
eca880ac1f
Replace picmo with emoji-mart ( #4001 )
...
* Add emoji-mart deps
* Change EmojiPicker to use emoji-mart
* Change ChatTextField to work with the emoji-mart data object
* Remove picmo, commit package-lock
* Fix mutant svgs having a size of 0
* Get the custom emojis to show up earlier in the picker
* Set emoji-mart to exact semver. Later versions break custom category sorting.
2024-11-09 13:58:38 -08:00
d31d2948c3
Change websocket mock from empty object to empty class ( #3998 )
2024-11-08 11:43:41 -08:00
8e89dfb345
fix: username wrapping ( #3975 )
2024-10-30 22:13:28 -07:00
4ac3068fcb
fix(css): run prittier on css file
2024-10-20 12:29:36 -07:00
78a7a45ff0
fix(sass): resolve sass warning by wrapping in root
2024-10-20 12:20:22 -07:00
dd5a14cd1a
Fix mistyped filter value in the admin's log table ( #3952 )
2024-10-10 08:05:05 -07:00
c528d3921f
fix(web): long usernames in chat truncated ( #3949 )
2024-10-09 15:15:58 -07:00
983db3c675
Javascript formatting autofixes
2024-09-20 03:18:25 +00:00
84f0dd07ae
Move title up a level to allow mouse hover to show timestamp ( #3926 )
...
* Move title up a level to allow mouse hover to show timestamp
* Fix bad commit to resolve 3848
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-09-19 20:15:49 -07:00
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
f7b61d8d9a
Javascript formatting autofixes
2024-09-05 21:47:55 +00:00
39e77dc2cc
Markdown-Editor-LineWrapping ( #3908 )
...
* Markdown-Editor-LineWrapping
* added lineWrapping to js and css editors
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-09-05 14:45:09 -07:00
4579d9074e
Initial change for Social Media validation ( #3819 )
...
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-07-19 12:41:22 -07:00
43fdadd361
Override default videojs volume panel width ( #3796 )
2024-06-30 19:53:27 -07:00