Commit Graph

109 Commits

Author SHA1 Message Date
Gabe Kangas
5cb4850fce chore(api): reorganize web assets and codegen types+handlers 2024-07-01 20:14:17 -07:00
Gabe Kangas
2ccd3aad87 User repository (#3795)
* It builds with the new user repository

* fix(test): fix broken test

* fix(api): fix registration endpoint that was broken after the change

* fix(test): update test to reflect new user repository

* fix: use interface type instead of concrete type

* fix: restore commented out code
2024-07-01 18:58:50 -07:00
mahmed2000
414a8aeed8 Rework utils/restendpointhelper to use the new chi router functionality (#3750)
* Remove old implementation, add new function to work with the chi router

* Use new URL Param function to get clientID instead

* Remove usage of old restendpoint functions

* Fix typo in url param name

* Remove unused tests
2024-05-30 12:31:07 -07:00
Gabe Kangas
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
Gabe Kangas
1b14800c7d fix(api): protect emoji delete api from path traversal exploit 2024-01-20 20:30:29 -08:00
Gabe Kangas
56eb2a4785 chore(lint): silence linter warnings 2023-10-21 09:46:45 -07:00
Gabe Kangas
169c11596c feat(chat): add support for chat part messages. Closes #3201 (#3291) 2023-09-10 10:58:11 -07:00
Shreyas
062de79920 Block Private URLs at serverurl API endpoint (#3295)
* Block Private URLs at `serverurl` API endpoint

* Block Private URLs at `serverurl` with `net/netip`
2023-09-06 20:28:15 -07:00
mrsoong
b0c50fb8e5 Fixed localhost IP ban (#3183) 2023-07-17 19:06:58 +00:00
Gabe Kangas
9b44ff107f fix(api): validate stream key payload. Closes #3082 2023-06-13 13:05:43 -07:00
Gabe Kangas
af82d05421 fix(api): explicitly disable caching on api responses 2023-06-05 08:52:00 -07:00
Gabe Kangas
cd458630ec Support using the custom video serving endpoint even if you don't use object storage (#2924)
* feat(video): refactor video serving endpoint

It can now be used without an object storage provider. Closes #2785

* fix: remove debug log
2023-05-30 14:05:24 -07:00
Gabe Kangas
15dc718e61 feat: add support for robots.txt disabling search indexing (#2929)
* feat: add support for robots.txt

Can toggle disabling search engine indexing. Closes #2684

* fix: unexport ts const
2023-05-30 11:09:51 -07:00
Gabe Kangas
85e7af3d5f Update to Go 1.20 + run better align (#2927)
* chore(go): update go version to 1.20. Closes #2185

* chore(go): run better align against project

To optimize struct field order. Closes #2870

* chore(go): update CI jobs to use Go 1.20

* fix(go): linter warnings for Go 1.20 update
2023-05-30 10:31:43 -07:00
Gabe Kangas
a3e890ff7a Fix linter errors to reflect update to Go 1.20 2023-05-28 12:38:51 -07:00
Pranav Joglekar
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
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
Gabe Kangas
19c228eaf6 Allow adding custom javascript to the page. Closes #2604 2023-01-18 22:38:24 -08:00
Michael David Kuckuk
59e5cfefd4 Remove twitter notification configuration (#2598) 2023-01-17 13:20:29 -08:00
Gabe Kangas
3819335090 Return error when data not found in logo upload API 2022-12-28 15:21:26 -08:00
Gabe Kangas
0ebb968074 Handle subdirectories of emoji in copying, fetching and deleting. For #1916 2022-12-16 20:23:58 -08:00
Philipp
dc54dfe363 Feature: emoji editor (#2411)
* Custom emoji editor: implement backend

This reuses the logo upload code

* Implement emoji edit admin interface

Again reuse base64 logic from the logo upload

* Allow toggling between uploaded and default emojis

* Add route that always serves uploaded emojis

This is needed for the admin emoji interface,
as otherwise the emojis will 404 if custom emojis are disabled

* Fix linter warnings

* Remove custom/uploaded emoji logic

* Reset timer after emoji deletion

* Setup: copy built-in emojis to emoji directory
2022-12-12 08:40:43 -08:00
Meisam
a7080a1fc1 validate response of federation APIs (#2408)
* validate json responses

* update deps

* tmp disable header check

* log all the webfinger fails

refactor and filter more malformed requests

* don't set incorrect serverURL strings

* test failing through admin api

* fix server url in fedi tests

* check response.text

* validate json/xml response of all apis

test Content-Type of api response and cleanup

* improve logs

* fix rebase

* cleanup json parser in api tests

* mark the api tests performed by admin

* Separate check for reading and format of serverURL

* test /federation/user/ with wrong username in ci
2022-12-10 21:10:10 -08:00
Gabe Kangas
c4dc802941 Make stream keys objects with comment instead of string slice 2022-11-29 16:05:44 -08:00
Gabe Kangas
c9e3ccad45 API + Data changes to support split up of stream keys and admin passwords 2022-11-29 16:05:44 -08:00
Gabe Kangas
813f8692f0 Support color customization from the admin (#2338)
* Add user-customizable theming. Closes #1915

* Prettified Code!

* Add user-customizable theming. Closes #1915

* Add explicit color for page content background

* Prettified Code!

Co-authored-by: gabek <gabek@users.noreply.github.com>
2022-11-12 20:26:55 -08:00
Gabe Kangas
c844e98a19 Merge remote-tracking branch 'origin/develop' into webv2 2022-10-12 16:52:05 -07:00
Florian Lehner
203f669ca8 preallocate memory (#2201)
**What this PR does / why we need it:**

Preallocate memory instead of enforcing an incremental growth. This will result in less work for the garbage collector.
2022-10-12 16:37:26 -07:00
Gabe Kangas
681067ab93 Add custom offline message+api. Part of #1901 2022-08-09 22:09:43 -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
b08393295f Add option to hide viewer count. Closes #1939 2022-06-26 00:46:55 -07:00
Gabe Kangas
78c6189c02 First pass at bundling web app into service. Working. 2022-06-19 15:32:42 -07:00
funkyhippo
a500a5f975 Add terminations to error repsonses in API. (#1872) 2022-04-23 13:19:17 -07:00
Gabe Kangas
e46f8e2a66 Troubleshoot misskey follows
Store the original follow request object and use it for approvals.
Closes #1690
2022-04-08 13:33:30 -07:00
Gabe Kangas
1e19e2a50e Surface the % of players represented in metrics 2022-03-27 16:27:38 -07:00
Gabe Kangas
410b413b84 Add stream health overview collection + apis 2022-03-24 23:07:05 -07:00
Gabe Kangas
4a17f30da8 Outbound live stream notifications (#1663)
* First pass at browser, discord, twilio notifications

* Commit updated Javascript packages

* Remove twilio notification support

* Email notifications/smtp support

* Fix Firefox notification support, remove chrome checks

* WIP more email work

* Add support for twitter notifications

* Add stream title to discord and twitter notifications

* Update notification registration modal

* Fix hide/show email section

* Commit updated API documentation

* Commit updated Javascript packages

* Fix post-rebase missing var

* Remove unused var

* Handle unsubscribe errors for browser push

* Standardize email config prop names

* Allow overriding go live email template

* Some notifications cleanup

* Commit updated Javascript packages

* Remove email/smtp/mailjet support

* Remove more references to email notifications

Co-authored-by: Owncast <owncast@owncast.online>
2022-03-18 13:33:23 -07:00
Gabe Kangas
d1e39c4c1e Force uniqueness with previews and logos on the fediverse. Closes #1777 and closes #1776 2022-03-17 13:22:44 -07:00
Gabe Kangas
6479220e78 Expand upon playback metrics 2022-03-16 22:49:27 -07:00
Gabe Kangas
babbcecc9c Stream performance metrics (#1785)
* WIP playback metrics

* Playback metrics collecting + APIs. Closes #793

* Cleanup console messages

* Update test

* Increase browser test timeout

* Update browser tests to not fail
2022-03-16 17:34:44 -07:00
Gabe Kangas
e0a75d5d54 Add support for established chat user mode. #1587 (#1681)
* Add support for established user mode. #1587

* Tweak tests

* Tweak tests

* Update test

* Fix test.
2022-03-06 23:26:24 -08:00
Gabe Kangas
19b9a8bdf6 Add support for IP-based bans (#1703)
* Add support for IP-based bans. Closes #1534

* Linter cleanup
2022-03-06 20:34:49 -08:00
Gabe Kangas
78c27ddbdd Add an icon for bot messages. Closes #1172 (#1729) 2022-03-06 20:09:55 -08:00
Gabe Kangas
1ed1cc01eb Persist time series viewer metrics (#1752)
* WIP persisting time series viewer metrics. Closes #1478

* Remove unused var, move around initial collection
2022-03-06 19:43:57 -08:00
Gabe Kangas
98fce01b52 Add support for active viewer details API. Closes #1477 (#1747) 2022-03-06 17:31:47 -08:00
Gabe Kangas
5e6bc50b59 Handle pagination for the federated actions & followers responses (#1731)
* Add pagination for admin social list

* Use Paginated API for followers tab on frontend
2022-03-06 17:18:51 -08:00
Gabe Kangas
d24ddc2b0a Add support for and use socket host override. (#1682)
* Add support for and use socket host override. Closes #1378

* Fix embeds with the new websocket constructor
2022-03-06 17:11:51 -08:00
Gabe Kangas
d5a6267b1f Add support to disable chat join messages. Closes #1582 (#1743) 2022-03-05 22:34:06 -08:00
Gabe Kangas
7f41b2df7c Strip any trailing slash when saving server URL 2022-01-20 17:07:15 -08:00
Gabe Kangas
3b0dafba9a Return error in API response. Return all fields in message+user query 2022-01-18 15:38:23 -08:00