1cf923a5af
Update localization files + references ( #4556 )
...
* Initial plan
* Add localization support to NameChangeModal component
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Add NameChangeModal translations to English language file
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* fix(i18n): fix localization keys
* chore(test): add i18n test
* chore(i18n): update translation script
* chore(i18n): reorgnize translation keys and update components
* chore: fix linting warnings
* chore(i18n): update all the language files
* feat(i18n): add last live ago i18n key
---------
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-09-15 19:27:56 -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
Michael and GitHub
c981acbc5d
Fix issue #4042 : Add paragraph in admin emoji page to link to documentation ( #4235 )
...
* Fix issue #4042 : Add paragraph in admin emoji page to link to documentation
* Address some code formatting issues
* Fixed html style issue
2025-03-09 17:22:29 -07:00
ed5186a280
Added changes for Issue 4044 ( #4199 )
...
* Added changes for fix 4044
* Fixed spacing issue
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2025-02-11 15:40:11 -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
Gabe Kangas
8ffbf23d4e
fix(js): fix social switch not actually turning on feature. Closes #4055
2024-12-12 22:33:37 -08:00
Gabe Kangas and GitHub
446d5db085
fix(js): fix followers table being empty when sorted. Closes #3799 ( #4054 )
2024-12-12 21:40:24 -08:00
f59ac63dfe
fix(social): set federation enabled state after confirmation ( #4038 )
...
* feat(integerations): add route to get user details
* Commit updated API documentation
* test(integrations): implement unit test for get user details
* fix(social): set federation enabled state after confirmation
set federation enabled state only after confirmation in modal
* Javascript formatting autofixes
* chore(social): use variable instead of explicitly setting path value
* Javascript formatting autofixes
---------
Co-authored-by: Owncast <owncast@owncast.online >
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2024-11-30 12:32:13 -08: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
Gabe Kangas and GitHub
a450e62397
Optionally disable chat rate limiter and add optional chat slur/language filter ( #3681 )
...
* feat(chat): basic profanity filter. For #3139
* feat(chat): add setting for disabling chat spam protection. Closes #3523
* feat(chat): wire up the new chat slur filter to admin and chat. Closes #3139
2024-04-09 22:25:41 -07:00
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
Gabe Kangas
7b783ac00e
fix(admin): fix admin followers pagination. Closes #3510
2024-02-18 19:14:20 -08:00
Varun Gujarathi and GitHub
b694be1052
fix(admin): sanitize fediverse username ( #3437 )
...
* test: add config federation test
* fix: santize fediverse username
fixes #3424
* refactor: remove commented code
* refactor: change username const to usernameValue
* refactor: use shorthand property
* build: move stories page out of build directory
* fix: allow only alphanumeric chars in username
* fix: filter out special chars in username
Added a regex filter to strip non-alphanumeric chars in username field.
* chore: clean unused fields
2024-02-05 20:00:50 -08:00
Aziz Rmadi and GitHub
6c644330e7
Fixed page size stale state on LogTable component ( #3516 )
2024-01-22 20:31:23 -08:00
b28b027ead
chore(deps): update dependency typescript to v5 ( #3387 )
...
* chore(deps): update dependency typescript to v5
* fix: resolve type mismatch
* Commit updated API documentation
---------
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 >
2023-10-25 21:52:36 -07:00
Gabe Kangas and GitHub
169c11596c
feat(chat): add support for chat part messages. Closes #3201 ( #3291 )
2023-09-10 10:58:11 -07:00
Ikko Eltociear Ashimine and GitHub
0fb821b33c
Fix typo in actions.tsx ( #3225 )
...
alway -> always
2023-07-31 10:44:48 -07:00
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
8148f74736
Unhide dropdown in Viewer Info page ( #3173 )
...
Co-authored-by: janWilejan <>
2023-07-14 09:28:56 -07:00
janWilejan and GitHub
e15e2dc47c
Fix deprecated antd dropdown warnings ( #3171 )
...
* Fix deprecated antd dropdown warnings
2023-07-13 20:28:12 +00:00
46ca5223f9
Chat wire protocol ( #3125 )
...
* core: remove file extension from emoji name
* web: transform emotes to labels when sending
* chat: replace br with line break
* core: implement emoji cache
* chat: send shortcodes for custom emoji
* chat: correct esling errors
* core: move emoji injection into dedicated function
* emoji: integrate emoji into markdown renderer, fix formatting
* chat protocol: correct golangci-lint findings
* chat field: specify that the contentEditable is an HTMLElement
* admin: mention that emoji should have unique names
* Prettified Code!
* regenerate pack-lock
* chat: correct the emphasis tag, provide fallback for other elements
---------
Co-authored-by: jprjr <jprjr@users.noreply.github.com >
2023-07-05 17:25:47 -07:00
Gabe Kangas
cc953f154e
fix(admin): fix typo causing established chat mode display bug. Closes #3070
2023-06-05 16:47:08 -07:00
0ff30d44e4
fix: hide latency card for admin if latency is 0 ( #3047 )
...
* hide latency card for admin if latency is 0
* Prettified Code!
---------
Co-authored-by: abhipanorian <abhipanorian@users.noreply.github.com >
2023-05-30 11:33:30 -07:00
Gabe Kangas and GitHub
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
fb36d32fa0
Fixes : Admin: Custom emoji page layout ( #2993 )
...
* Update emojis.tsx
* Prettified Code!
* Second Iteration
* Update emojis.tsx
* Putting Delete Button at top-right
Will this work ?
* Prettified Code!
* Update emojis.tsx
Changing Icon of Delete Button
Decreasing Delete-Button Size
* Prettified Code!
* Tweak style of delete emoji button
---------
Co-authored-by: dev265545 <dev265545@users.noreply.github.com >
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2023-05-07 12:57:15 -07:00
Gabe Kangas
b3ac4e1a15
fix(js): consolidate url and account validators
2023-04-16 14:32:18 -07:00
07c5cabfe8
Trigger the title updated webhook event whenever a title is changed ( #2823 )
...
* wip: trigger the title updated webhook event whenever a title is changed
* Commit updated API documentation
* fix: add STREAM_TITLE_CHANGED to list of valid events
* feat: Add support for STREAM_TITLE_CHANGED webhook event on admin dashboard
* fix: transmit webhook event after stream has changed to fix race conditions where older title was sent
---------
Co-authored-by: Owncast <owncast@owncast.online >
2023-03-28 11:34:00 -07:00
Gabe Kangas
bb14af399e
Fix the listing of follower tables in admin
2023-03-22 14:54:43 -07:00
Gabe Kangas
a5e5adfa02
Fix incorrect follower count displayed. Closes #2854
2023-03-21 17:33:59 -07:00
Dhanu Saputra and GitHub
2b41113211
Loose div in Utilities > Stream health screen ( #2844 )
2023-03-21 13:06:16 -07:00
Gabe Kangas
6973c3d8df
Update styling of video settings admin page. Closes #2803
2023-03-14 21:34:37 -07:00
Gabe Kangas
3ada7182f5
Update viewers chart y axis to make more sense. Closes #2806
2023-03-13 15:58:16 -07:00
Gabe Kangas
0b619b84a6
Add waiting message to hardware screen. Closes #2805
2023-03-13 13:19:17 -07:00
Gabe Kangas
23a721857f
Do not support stream key UI or any persisted stream keys when overridden via cli flag. Closes #2749
2023-02-27 17:08:52 -08:00
0a653aaba7
Remove usage of the PropTypes dependency ( #2723 )
...
* Remove usage of the PropTypes dependency
* Prettified Code!
---------
Co-authored-by: dhanusaputra <dhanusaputra@users.noreply.github.com >
2023-02-22 09:21:00 -08:00
Philipp and GitHub
a290770ac9
Allow embedding HTML for external actions ( #2693 )
...
* Admin UI: implement HTML embeds
* Admin UI External Actions: set correct useHTML on edits
* Admin UI: edit by index, not URL
* External Actions: render HTML on stream frontend
* Don't open embeds externally
* Remove TODO comment
* Add HTML as unique action key
* Admin UI: Actions: use CodeMirror editor, dropdown
2023-02-14 09:08:54 -08:00
Gabe Kangas
d9e4731764
Update charting library and how it is used. Closes #2658
2023-02-02 14:58:39 -08:00
Philipp and GitHub
4aaabaac07
Admin UI: Fix broken links ( #2660 )
2023-02-01 10:39:48 -08:00
Gabe Kangas
19c228eaf6
Allow adding custom javascript to the page. Closes #2604
2023-01-18 22:38:24 -08:00
Michael David Kuckuk and GitHub
59e5cfefd4
Remove twitter notification configuration ( #2598 )
2023-01-17 13:20:29 -08:00
Gabe Kangas
2853752937
Make each admin page specify is own layout. Closes #2584
2023-01-15 23:12:38 -08:00
Gabe Kangas
6fbd6cbbcf
Lazy load every instance of using ant icons. Closes #2583
2023-01-15 22:31:36 -08:00
Gabe Kangas
82848bf68a
Fix link
2023-01-13 14:21:27 -08:00
Gabe Kangas
c7e12643e9
Point link to genera admin settings page
2023-01-11 22:44:55 -08:00
Gabe Kangas
2ff4316ee6
Fix admin subpages not having a layout
2023-01-11 22:44:15 -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
cfaeda94b0
Lazy load more components. #2167
2023-01-10 00:37:12 -08:00
Gabe Kangas
7392ae8a54
Reorganize admin components to help bundling
2023-01-10 00:37:11 -08:00
Gabe Kangas
29882f1291
Lazy load tooltip
2023-01-10 00:37:11 -08:00
Gabe Kangas
c542dc10da
Fix some components being rendered as pages
2023-01-10 00:37:10 -08:00