Commit Graph
100 Commits
Author SHA1 Message Date
Gabe Kangas 777de9fbf4 Remove in-line rendering of images by url 2021-03-14 12:08:42 -07:00
Gabe KangasandGitHub bf33d08384 Add support for disabling chat. Closes #472 (#799) 2021-03-14 11:46:27 -07:00
Gabe KangasandGitHub 6f545a905b Support full html in system messages. Closes #747 (#814) 2021-03-12 00:43:10 -08:00
Gabe Kangas 55da8a41e0 Update admin bundle 2021-03-11 13:41:16 -08:00
Gabe KangasandGitHub c713e216d3 Allow selection of different stream variants in the player (#815)
* WIP video quality selector

* The quality selector works even though it is not pretty

* Support getting and setting variant name. Closes #743

* Sort video qualities

* Fix odd looking selected states of menubutton items

* Fix comment
2021-03-11 12:51:43 -08:00
Gabe KangasandGitHub 4f012fab56 Add nebunez to dependabot alerts 2021-03-10 16:46:41 -08:00
Gabe KangasandGitHub 896c7b57ef Remove code formatting on PRs 2021-03-09 14:25:00 -08:00
Gabe KangasandGitHub de195f883e Gek/disable remote images (#800)
* Disable images from anywhere but our emojis. Closes #756

* Add tests around images in chat messages

* Update sanitizer + test
2021-03-08 23:20:15 -08:00
Gabe Kangas 36645437ef Do not copy the config file into Docker builds 2021-03-07 22:46:51 -08:00
Gabe Kangas e713852c67 Fix Dockerfile to pass along the correct platform name 2021-03-07 21:02:25 -08:00
Gabe Kangas 89cf92640c Try to fix builds saying they are dev 2021-03-07 20:29:44 -08:00
Gabe Kangas c9052bab9f Fix broken image in admin bundle 2021-03-07 19:53:58 -08:00
Gabe Kangas e15fd4ed66 Update admin bundle 2021-03-07 19:25:54 -08:00
Gabe KangasandGitHub c27620d656 Never mark issues with a milestone as stale 2021-03-04 21:24:50 -08:00
Gabe Kangas db0b813eea Do not execute chat-only or video-only js from main app. Closes #787 2021-03-04 14:08:53 -08:00
Gabe Kangas a67e938875 allocate yp at launch to allow for enabling it later 2021-03-04 01:48:10 -08:00
Gabe Kangas 49bb899d51 Optimize/fix concurrency for chat 2021-03-03 21:48:11 -08:00
Gabe Kangas 1e0b1b389d Update admin bundle 2021-03-02 22:35:35 -08:00
Gabe Kangas 2854d2a907 Update admin bundle 2021-03-02 21:06:31 -08:00
Gabe Kangas 4a233ab7ac Return detailed error. Closes #781 2021-03-02 19:10:27 -08:00
Gabe Kangas 717e4f9ceb Remove platforms.js from preload list. Closes #774 2021-03-01 18:29:19 -08:00
Gabe KangasandGitHub c19462a20e Link GitHub to OpenCollective 2021-02-28 17:25:05 -08:00
Gabe Kangas 8c8aa31e30 Update admin bundle 2021-02-27 00:13:56 -08:00
Gabe Kangas d8e6b75b5f No longer reset max viewer count at cleanup. Only do it at new stream start. Fixes #768 2021-02-26 22:15:46 -08:00
Gabe Kangas 15af4af770 Fix websocket load test not sending required event type 2021-02-26 22:14:08 -08:00
Gabe Kangas 1d9774e453 Display the current value not the threshold 2021-02-24 23:48:31 -08:00
Gabe Kangas 4f833be80a Add ability to mark a message as ephemeral and set it with title changes 2021-02-23 11:24:32 -08:00
Gabe Kangas 8f1681c7aa Remove unused model 2021-02-23 11:23:51 -08:00
Gabe Kangas 68eecab29b Hardcode logo to be /logo 2021-02-22 23:32:59 -08:00
Gabe Kangas f1a1b9d2e6 Always return stream title with yp response 2021-02-22 23:18:56 -08:00
Gabe Kangas 0bfd9f8e1f Do not send user joined events to chat clients if stream is not active. Closes #750 2021-02-21 16:21:12 -08:00
Gabe Kangas b47589fa8f Print out a log message saying what image is being copied where 2021-02-21 16:03:42 -08:00
Gabe Kangas ebc3070ea0 Assume videopassthrough is enabled if bitrate is zero 2021-02-21 13:10:24 -08:00
Gabe Kangas b1368db079 Fix yaml property name 2021-02-21 13:06:32 -08:00
Gabe Kangas 765dd7efe2 Fix chat history backlog query. Closes #748 2021-02-21 12:13:46 -08:00
Gabe Kangas 3663c1bcfd Add default logo to data 2021-02-21 11:16:41 -08:00
Gabe KangasandGitHub 3ae6f82701 Update prettier action + only look at webroot 2021-02-21 11:02:51 -08:00
Gabe Kangas 106dfc0ff0 Update admin bundle 2021-02-20 17:21:41 -08:00
Gabe Kangas dc8cdb09d5 Fix metadata.html crash. Closes #746. Re: #685 2021-02-20 16:47:47 -08:00
Gabe Kangas 7ef1ded021 Update admin bundle 2021-02-18 23:12:03 -08:00
Gabe Kangas 650620dcd7 Bundle admin from master instead of 0.0.6 2021-02-18 23:12:03 -08:00
Gabe Kangas 396bff54fd Mark api spec as 0.0.6 2021-02-18 23:07:53 -08:00
Gabe KangasGitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Aaron OgleOwncastGinger Wongdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>nebunezgabek
bc2caadb74 0.0.6 -> Master (#731)
* Implement webhook events for external integrations (#574)

* Implement webhook events for external integrations

Reference #556

* move message type to models and remove duplicate

* add json header so content type can be determined

* Pass at migrating webhooks to datastore + management apis (#589)

* Pass at migrating webhooks to datastore + management apis

* Support nil lastUsed timestamps and return back the new webhook on create

* Cleanup from review feedback

* Simplify a bit

Co-authored-by: Aaron Ogle <aaron@geekgonecrazy.com>

Co-authored-by: Gabe Kangas <gabek@real-ity.com>

* Webhook query cleanup

* Access tokens + Send system message external API (#585)

* New add, get and delete access token APIs

* Create auth token middleware

* Update last_used timestamp when using an access token

* Add auth'ed endpoint for sending system messages

* Cleanup

* Update api spec for new apis

* Commit updated API documentation

* Add auth'ed endpoint for sending user chat messages

* Return access token string

* Commit updated API documentation

* Fix route

* Support nil lastUsed time

* Commit updated Javascript packages

* Remove duplicate function post rebase

* Fix msg id generation

* Update controllers/admin/chat.go

Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>

* Webhook query cleanup

* Add SystemMessageSent to EventType

Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>

* Set webhook as used on completion. Closes #610

* Display webhook errors as errors

* Commit updated API documentation

* Add user joined chat event

* Change integration API paths. Update API spec

* Update development version of admin that supports integration apis

* Commit updated API documentation

* Add automated tests for external integration APIs

* check error

* quiet this test for now

* Route up some additional 3rd party apis. #638

* Commit updated API documentation

* Save username on user joined event

* Add missing scope to valid scopes list

* Add generic chat action event API for 3rd parties. Closes #666

* Commit updated API documentation

* First pass at moving WIP config framework into project for #234

* Only support exported fields in custom types

* Using YP get/set key as a first pass at using the data layer. Fixes + integration.

* Ignore test db

* Start adding getters and setters for config values

* More get/set config work. Starting to populate api with data

* Wire up some config edit endpoints

* More endpoints

* Disable cors middleware

* Add more endpoints and add test to test them

* Remove the in-memory change APIs

* Add endpoint for changing tags

* Add more config endpoints

* Starting to point more things away from config file and to the datastore

* Populate YP with db data

* Create new util method for parsing page body markdown and return it in api

* Verify proposed path to ffmpeg

* For development purposes show the config key in logs

* Move stats values to datastore

* Moving over more values to the datastore

* Move S3 config to datastore

* First pass the config -> db migrator

* Add the start of the video config apis

* It builds pointing everything away from the config

* Tweak ffmpeg path error message

* Backup database every hour. Closes #549

* Config + defaults + migration work for db

* Cleanup logging

* Remove all the old config structs

* Add descriptive info about migration

* Tweak ffmpeg validation logic

* Fix db backup path. backup on db version migration

* Set video and s3 configurations

* Update api spec with new config endpoints

* Add migrator for stats file

* Commit updated API documentation

* Use a dynamic system port for internal HLS writes. Closes #577 (#626)

* Use a dynamic system port for internal HLS writes. Closes #577

* Cleanup

* YP key migration to datastore

* Create a backup directory if needed before migrations

* Remove config test that no longer makes sense. Cleanup.

* Change number types from float32 to float64

* Update automated test suite

* Allow restoring a database backup via command line flags. Closes #549

* Add new hls segment config api

* Commit updated API documentation

* Update apis to require a value container property

* add socialHandles api

* Commit updated API documentation

* Add new latancy level setting to replace segment settings

* Commit updated API documentation

* Fix spelling

* Commit updated API documentation

* hardcode a json api of available social platforms

* Add additional icons

* Return social handles in server config api

* Add socialhandles validation to test

* Move list of hard coded social platforms to an api

* Remove audio only code from transcoder since we do not use it

* Add latency levels api + snapshot of video settings as current broadcast

* Add config/serverurl endpoint

* Return 404 on YP api if disabled

* Surface stream title in YP response

* Add stream title to web ui

* Cleanup log message. Closes #520

* Rename ffmpeg package to transcoder

* Add ws package for testing

* Reduce chat backlog to past 5hrs, max 50. Closes #548

* Fix error formatting

* Add endpoint for resetting yp registration

* Add yp/reset to api spec. return status in response

* Return zero viewer count if stream is offline. Closes #422

* Post-rebase fixes

* Fix merge conflict in openapi file

* Commit updated API documentation

* Standardize controller names

* Support setting the stream key via the command line. Closes #665

* Return social handles with YP data. First half of https://github.com/owncast/owncast-yp/issues/28

* Give the YP package access to server status regardless if enabled or not

* Change delay in automated tests

* Add stream title integration API. For #638

* Commit updated API documentation

* Add storage to the migrator

* Missing returning NSFW value in server config

* Add flag to ignore websocket client. Closes #537

* Add error for parsing broadcaster metadata

* Add support for a cli specified http server port. Closes #674

* Add cpu usage levels and a temporary mapping between it and libx264 presets

* Test for valid url endpoint when saving s3 config

* Re-configure storage on every stream to allow changing storage providers

* After 5 minutes of a stream being stopped clear the stream title

* Hide viewer count once stream goes offline instead of when player stops

* Pull steamTitle from the status that gets updated instead of the config

* Commit updated API documentation

* Optionally show stream title in the header

* Reset stream title when server starts

* Show chat action when stream title is updated

* Allow system messages to come back in persistence

* Split out getting chat history for moderation + fix tests

* Remove server title and standardize on name only

* Commit updated API documentation

* Bump github.com/aws/aws-sdk-go from 1.37.1 to 1.37.2 (#680)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.1 to 1.37.2.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.1...v1.37.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add video variant and stream latency config file migrator

* Remove mostly unused disable upgrade check bool

* Commit updated API documentation

* Allow bundling the admin from the 0.0.6 branch

* Fix saving port numbers

* Use name instead of old title on window focus

* Work on latency levels. Fix test to use levels. Clean up transcoder to only reference levels

* Another place where title -> name

* Fix test

* Bump github.com/aws/aws-sdk-go from 1.37.2 to 1.37.3 (#690)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.2 to 1.37.3.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.2...v1.37.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dependabot config

* Bump github.com/aws/aws-sdk-go from 1.37.3 to 1.37.5 (#693)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.3 to 1.37.5.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.3...v1.37.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump video.js from 7.10.2 to 7.11.4 in /build/javascript (#694)

* Bump video.js from 7.10.2 to 7.11.4 in /build/javascript

Bumps [video.js](https://github.com/videojs/video.js) from 7.10.2 to 7.11.4.
- [Release notes](https://github.com/videojs/video.js/releases)
- [Changelog](https://github.com/videojs/video.js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/videojs/video.js/compare/v7.10.2...v7.11.4)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>

* Make the latency migrator dynamic so I can tweak values easier

* Split out fetching ffmpeg path from validating the path so it can be changed in the admin

* Some commenting and linter cleanup

* Validate the path for a logo change and throw an error if it does not exist

* Logo change requests have to be a real file now

* Cleanup, making linter happy

* Format javascript on push

* Only format js in master

* Tweak latency level values

* Remove unused config file examples

* Fix thumbnail generation after messing with the ffmpeg path getter

* Reduce how often we report high hardware utilization warnings

* Bundle the 0.0.6 branch version of the admin

* Return validated ffmpeg path in admin server config

* Change the logo to be stored in the data directory instead of webroot

* Bump postcss from 8.2.4 to 8.2.5 in /build/javascript (#702)

Bumps [postcss](https://github.com/postcss/postcss) from 8.2.4 to 8.2.5.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.4...8.2.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Default config file no longer used

* don't show stream title when offline

addresses https://github.com/owncast/owncast/issues/677

* Remove auto-clearing stream title. #677

* webroot -> data when using logo as thumbnail

* Do not list websocket/access token create/delete as integration APIs

* Commit updated API documentation

* Bundle updated admin

* Remove pointing to the 0.0.6 admin branch

* Linter cleanup

* Linter cleanup

* Add donations and follow links to show up under social handles

* Prettified Code!

* More linter cleanup

* Update admin bundle

* Remove use of platforms.js and return icons with social handles. Closes #732

* Update admin bundle

* Support custom config path for use in migration

* Remove unused platform-logos.gif

* Reduce log level of message

* Remove unused logo files in static dir

* Handle dev vs. release build info

* Restore logo.png for initial thumbnail

* Cleanup some files from the build process that are not needed

* Fix incorrect build-time injection var

* Fix missing file getting copied to the build

* Remove console directory message.

* Update admin bundle

* Fix comment

* Report storage setup error

* add some value set error checking

* Use validated dynamic ffmpeg path for animated gif preview

* Make chat message links be white so they don't hide in the bg. Closes #599

* Restore conditional that was accidentally removed

Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Ginger Wong <omqmail@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nebunez <uoj2y7wak869@opayq.net>
Co-authored-by: gabek <gabek@users.noreply.github.com>
2021-02-18 23:05:52 -08:00
Gabe Kangas 2d42903ad6 Format javascript on push 2021-02-05 13:10:52 -08:00
Gabe KangasandGitHub 4d60c7c80c Update dependabot config 2021-02-04 01:41:17 -08:00
Gabe Kangas 89cf6115b3 Give more useful error messages and don't panic on bad disconnects. Closes #673 2021-01-29 11:25:18 -08:00
Gabe Kangas cf54be4b1d Stop logging rate limit messages 2021-01-26 19:52:32 -08:00
Gabe Kangas ca66ea6588 Pin preact to 10.5.10 to fix broken player layout. #661 2021-01-26 10:32:07 -08:00
Gabe Kangas 54ba725af3 Add hls load test 2021-01-19 23:58:14 -08:00
Gabe Kangas fca3473dad fix ffmpeg version check throwing warnings. closes #641 2021-01-18 17:17:39 -08:00
Gabe KangasandGitHub 95ad4e006a Try enabling codeql analysis, see how it does. 2021-01-18 15:51:14 -08:00
Gabe Kangas 5c1091e5f4 quiet this test for now 2021-01-16 17:32:19 -08:00
Gabe Kangas 2049d33e0c Check error when reading ffmpeg version string 2021-01-16 17:26:35 -08:00
Gabe Kangas eacd0bcbd4 check error from read timeout 2021-01-16 17:24:12 -08:00
Gabe Kangas 2b81fcef53 Add a read timeout when reading rtmp to handle connections that have dropped. Closes #564 2021-01-13 21:58:34 -08:00
Gabe Kangas acd546ce6c Remove fatal error. Closes #623 2021-01-13 17:57:37 -08:00
Gabe Kangas 594722d447 Update admin bundle 2021-01-13 00:25:16 -08:00
Gabe Kangas 191613949c Pin to a specific older version of snowpack until we can upgrade 2021-01-12 23:38:26 -08:00
Gabe Kangas aed6ea432c Tweak build script 2021-01-11 19:44:02 -08:00
Gabe Kangas f9916207c8 Add more checking around ffmpeg version validation. closes #619 2021-01-11 18:33:56 -08:00
Gabe Kangas 9214135ea4 Update admin bundle 2021-01-11 11:26:12 -08:00
Gabe Kangas e16be346c0 Set version number for 0.0.5 in api spec 2021-01-11 11:22:16 -08:00
Gabe Kangas 86a874df06 Update admin bundle 2021-01-09 13:29:39 -08:00
Gabe Kangas 0526404d19 Put suggested ffmpeg version into constants file 2021-01-08 16:09:00 -08:00
Gabe Kangas 064fdda528 Check version of ffmpeg. Closes #587 2021-01-07 22:45:29 -08:00
Gabe Kangas 7869072c96 Move unlock 2021-01-04 22:02:16 -08:00
Gabe Kangas c812a0abf5 Fix concurrent write crash. Fixes #578 2021-01-04 21:18:35 -08:00
Gabe Kangas fca3b02851 Point fakechat test script to localhost by default. Commit package.json 2021-01-02 12:16:53 -08:00
Gabe Kangas bda430f791 Cleanup some exported methods 2021-01-01 17:08:20 -08:00
Gabe Kangas 3c7997b75e Make missing ffmpeg a fatal error. Closes #554 2021-01-01 17:01:36 -08:00
Gabe Kangas 1dc25889ec Add inbound chat event rate limiting. Closes #484 2021-01-01 16:55:46 -08:00
Gabe Kangas b2953028cf Remove forcing old path-style URLs with s3. Closes #497 2020-12-31 11:50:18 -08:00
Gabe Kangas 56fe91f45c Mark api spec as 0.0.5-development 2020-12-30 23:26:11 -08:00
Gabe Kangas bc4b6895be Fix error message 2020-12-30 12:22:44 -08:00
Gabe Kangas 68f481d8be Render markdown to extra page content in prerelease api 2020-12-29 23:38:49 -08:00
Gabe Kangas ff61862109 Update admin bundle 2020-12-29 16:06:38 -08:00
Gabe Kangas cd77eab971 testing package-lock has updates 2020-12-28 18:10:40 -08:00
Gabe Kangas e5da1f871e Add PostCSS because Tailwind CLI needed it 2020-12-28 17:52:47 -08:00
Gabe Kangas 8328d1cb11 Disable serving a directory listing. Closes #530 2020-12-27 15:41:21 -08:00
Gabe Kangas 6e7787369e Mark API as v0.0.4 2020-12-25 19:24:19 -08:00
Gabe KangasandGitHub 88015638f0 Add checklist item for installer. 2020-12-22 23:25:36 -08:00
Gabe Kangas 75d800bf70 Update admin bundle 2020-12-22 18:02:32 -08:00
Gabe Kangas 959482e41a Update Admin bundle 2020-12-21 23:45:33 -08:00
Gabe Kangas 93c3968bc6 Try to assist people with websocket troubleshooting. Closes #468 2020-12-21 22:36:21 -08:00
Gabe Kangas 1ff70c13c5 Surface RTMP server port in admin. For #475 2020-12-21 22:20:27 -08:00
Gabe Kangas 76590bb043 Validate explicitly provided ffmpeg path. Closes #490 2020-12-21 22:02:05 -08:00
Gabe KangasandGitHub e558c549d7 Websocket fixes (#461)
* Bump api spec version

* Do not panic on cpu monitoring error

* Centralize the socket disconnect logic and fire it also when socket errors occur. Hopefully closes #421
2020-12-21 19:42:47 -08:00
Gabe Kangas 553992d6f8 Add linux-arm7 support to build script. Closes #470 2020-12-18 00:21:49 -08:00
Gabe Kangas 84b8a4290d Update admin bundle 2020-12-17 09:59:42 -08:00
Gabe KangasandGitHub e9c7ff29cf Add custom RTMP port number support (#462)
* Bump api spec version

* Add support for custom RTMP port. Closes #454
2020-12-17 09:56:04 -08:00
Gabe Kangas 1fe1c6c925 Move duplicate string to a constant 2020-12-16 23:01:09 -08:00
Gabe Kangas 47770feaa5 Remove TODO 2020-12-16 22:59:13 -08:00
Gabe Kangas 4ce139c0e0 Bump api spec version 2020-12-16 00:27:17 -08:00
Gabe KangasandGitHub 7b33e42efd Clean up some readme links 2020-12-14 16:34:50 -08:00
Gabe Kangas 97a86ec388 Add data dir to Dockerfile 2020-12-13 23:09:55 -08:00
Gabe Kangas ce4cb44412 Add latest tag to docker build 2020-12-13 22:29:29 -08:00
Gabe Kangas c04c3e851b Update admin bundle 2020-12-13 13:38:07 -08:00
Gabe Kangas 814fcceaac Reduce hardware alerting thresholds 2020-12-07 13:44:49 -08:00
Gabe Kangas b405b2fcc7 Connections from Restream seem to be more sensitive about if we get the initial packets processed or not, so I moved setStreamAsConnected to be decoupled from when we set broadcaster info. Another update for #432 2020-12-06 14:28:00 -08:00
Gabe Kangas 1c42bf9f63 Check for nil when accessing broadcaster. Might help #432 2020-12-06 12:01:16 -08:00