Commit graph

131 commits

Author SHA1 Message Date
gingervitis
8a74af202d
Update chat message visibility for moderation (#524)
* update message viz in db

* create admin endpoint to update message visibility

* convert UpdateMessageVisibility api to take in an array of IDs to change visibility on instead

* Support requesting filtered or unfiltered chat messages

* Handle UPDATE chat events on front and backend for toggling messages

* Return entire message with UPDATE events

* Remove the UPDATE message type

* Revert "Remove the UPDATE message type"

This reverts commit 3a83df3d492f7ecf2bab65e845aa2b0365d3a7f6.

* update -> visibility update

* completely remove messages when they turn hidden on VISIBILITY-UPDATEs, and insert them if they turn visible

* Explicitly set visibility

* Fix multi-id sql updates

* increate scroll buffer a bit so chat scrolls when new large messages come in

* Add automated test around chat moderation

* Add new chat admin APIs to api spec

* Commit updated API documentation

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-12-29 13:35:33 -08:00
Gabe Kangas
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
Christian Muehlhaeuser
c7cc973ebc
Log and abort when listening on RTMP port fails (#478)
Fixes #477.
2020-12-19 22:17:10 -08:00
Gabe Kangas
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
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
Gabe Kangas
2abea78e3c Use onMetaData instead of setDataFrame to try to parse out RTMP
metadata. Closes #419
2020-12-05 18:37:42 -08:00
Gabe Kangas
4a4639a523 Ignore old per-session peak viewer counts when reading stats file. 2020-12-05 15:09:57 -08:00
Gabe Kangas
0b66f3b79f
Support video-only streams if there is no audio in the inbound stream. (#401)
Closes #400
2020-12-02 00:19:55 -08:00
Gabe Kangas
4cb0027ed3 Fix blocking YP 2020-11-20 22:59:20 -08:00
Gabe Kangas
90b71b7c00 Fix typo. ms -> s 2020-11-20 14:11:19 -08:00
Gabe Kangas
036a981ef3 Removing transcoding performance warnings. Not currently helpful. 2020-11-19 22:40:09 -08:00
Gabe Kangas
92dc98a0ea Make things not break if video passthrough is enabled + update admin to display video settings a bit clearer. A start to #306 2020-11-19 22:12:48 -08:00
Christian Muehlhaeuser
7c71a68da5
Add database schema versioning & migration skeleton (#382) 2020-11-18 16:49:54 -08:00
gingervitis
01f16aeddf
Simplify Logo requirement from users. (#373)
* Simplify Logo requirement from users.
- Only require 1 logo file, instead of a `small` and `large` one.  Just require `logo`.
- Update frontend sso that primary header logo will ALWAYS be owncast logo.
- User's logo will remain in "user content" area.

* Commit updated API documentation

Co-authored-by: Owncast <owncast@owncast.online>
2020-11-17 15:12:54 -08:00
Gabe Kangas
a24dbc418b Tame down encoding performance alerts. Closes #338 2020-11-16 21:02:48 -08:00
Matt Steele
a40b3a0e80
Check if inbound details properly set before use (#365)
* Check if inbound details properly set before use

Fixes #340

* Only parse setDataFrame messages

* Remove unneeded guard
2020-11-16 20:14:22 -08:00
Gabe Kangas
4d2066a76d
Start cleaning up linter errors. (#358)
* Start cleaning up linter errors. For #357

* Fix unmarshalling NullTime values

* More linter fixes

* Remove commented code

* Move defer up

* Consolidate error check lines

* Move error check to make sure row iteration was successful

* Cleaner error check + do not recreate pipe if it exists

* Consolidate hashing to generate client id
2020-11-14 18:39:53 -08:00
Gabe Kangas
934285c55b Move stats.json to data dir 2020-11-12 22:34:49 -08:00
Christian Muehlhaeuser
2e1f8d29b5
Fix godoc style comments (#356) 2020-11-12 15:14:59 -08:00
Christian Muehlhaeuser
8f921fbfde
Fix popular typos (#355) 2020-11-12 14:57:24 -08:00
Christian Muehlhaeuser
cfb031a15c
Make sure we close DB statements to release resources (#354) 2020-11-12 14:46:56 -08:00
Christian Muehlhaeuser
3f9dd2870f
Explicitly ignore io.Copy's return values (#352)
We're probably ignoring any errors here, since we're writing to a memory
buffer here. Let's make it clear we didn't just forget to check, but
really want to ignore these values.
2020-11-12 14:42:01 -08:00
Christian Muehlhaeuser
2c504eb8be
Handle filepath.Walk errors (#351) 2020-11-12 14:29:17 -08:00
Christian Muehlhaeuser
00129c5942
Stick to the documented default bitrate of 1200 in case of config parsing issues (#350) 2020-11-12 14:23:52 -08:00
Christian Muehlhaeuser
21df28160a
Avoid unnecessary conversion (#349) 2020-11-12 14:18:32 -08:00
Christian Muehlhaeuser
8d9eb1e79f
Log potential errors returned by http.ListenAndServe (#345) 2020-11-12 12:42:18 -08:00
Gabe Kangas
a9586b03fc Disable persistent http connections in transcoder 2020-11-11 00:28:01 -08:00
Gabe Kangas
1dbd550134
Bundle and serve admin (#317)
* WIP with admin bundling

* Current state of the admin is bundled

* Update admin bundler to work with binary bundling

* Log detail about the admin interface. Closes #312

* Move bundle script to the build dir

* Update to current version of admin

* Commit updated API documentation

Co-authored-by: Owncast <owncast@owncast.online>
2020-11-06 15:12:35 -08:00
Gabe Kangas
4de2841659 Remove stale client purging. Use sockets to count clients. #323 2020-11-05 00:15:00 -08:00
Gabe Kangas
723a671f1c Stop handleDisconnect from double firing 2020-11-05 00:15:00 -08:00
Gabe Kangas
18e322c5e1 Add version number to status endpoint 2020-11-03 21:22:17 -08:00
Gabe Kangas
fe0021b8c8 Remove preview gif on offline. Closes #300 2020-11-02 19:39:52 -08:00
Gabe Kangas
3963568951
Stop rtmp from reaching back into core (#290)
* Stop rtmp from reaching back into core.

* Un-export since these functions no longer need to be public
2020-10-29 14:09:28 -07:00
Gabe Kangas
34fe55b5a3 Add getter for stream variant encoder preset w/ test 2020-10-26 09:14:20 -07:00
Gabe Kangas
19e86b8c04
First pass at centralized database reference. Closes #282 (#289)
* First pass at centralized database reference. Closes #282

* Add verbose logging option to launch.json

* Clear current broadcaster on stream end. Closes #285

* Fix typo in verbose launch args

* Add support for purging tailwind styles. For #224

* Don't need to pass db as param since it is stored

* Commit updated Javascript packages

Co-authored-by: Owncast <owncast@owncast.online>
2020-10-26 08:55:31 -07:00
Gabe Kangas
32c7e3fa34 Clear current broadcaster on stream end. Closes #285 2020-10-24 14:58:34 -07:00
Gabe Kangas
2b8aea8797 Support a local working directory copy of ffmpeg. Closes #276 2020-10-21 21:47:42 -07:00
Gabe Kangas
131675bc03 Split out setting broadcaster details into its own file 2020-10-21 17:07:00 -07:00
Gabe Kangas
ea9579d899 Add multiple variants to the transcoder test 2020-10-19 21:34:42 -07:00
Gabe Kangas
7dcc89a841 Add system chat message support to messages query 2020-10-16 17:50:00 -07:00
bitspill
bfbac8cc57
Variable collisions; Possible use of nil value (#256)
* Variable '*' collides with imported package name

* Variable 'error' collides with builtin interface

* '*' may have 'nil' or other unexpected value as its corresponding error variable may be not 'nil'
2020-10-16 15:04:31 -07:00
Gabe Kangas
3812e6345f Fix typo 2020-10-16 13:57:23 -07:00
Gabe Kangas
3ff993c2bc Stop logging every file that is uploaded 2020-10-16 10:08:23 -07:00
Gabe Kangas
b9a80709ab Decrease the amount of time before the stream is made available to the player 2020-10-16 10:08:23 -07:00
Gabe Kangas
eb0ee4dd8a Catch db error and show frienlier message. Closes #252 2020-10-15 17:57:32 -07:00
Gabe Kangas
8f740c4cb6 Cleanup private and optinally public segments on a timer instead of after every save. Closes #254 2020-10-15 17:50:17 -07:00
Gabe Kangas
2d71337146 Rename functions to be clearer that it is for offline cleanup 2020-10-15 16:17:33 -07:00