* Commit updated API documentation
* Fix content path used for meta tags.
TT:#3075
* Fix lint for go code.
TT:#3075
* Revert docs/api/index.html
TT:#3075
---------
Co-authored-by: Owncast <owncast@owncast.online>
* 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
* 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>
* 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
* 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
**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.
* treat fediverse usernames as case-insensitive for auth
* add test for case insensitive, clean up duplicate import in federverse auth controller
* fix test, there was an issue with state when all the tests were run