For now only an "editor" role is available for collaborators. An editor
has the same right as the channel owner but cannot:
* Delete the channel
* Invite collaborators
* Transfer ownership of a video
* Transfer ownership of a channel (feature not developed yet)
* Invite a new collaborator
* Remove another collaborator
The owner of a channel can invite another local account to be an editor
of the channel. The editor can accept or reject the invitation.
Moved transfer ownership of a video in the "Manage video" page.
Updated the video channel update page to a "Manage" page, like we have
for the video to add an "Editors" sub section, allowing the owner of
the channel to manage channel editors.
Refactored the SQL query classes and added more raw SQL queries for
models that list entities depending on channel collaboration status.
Updated server tests to check editors can manage or cannot manage
channel entities.
* Allow auth plugins to redirect to external url
Add a new optional field to `RegisterServerExternalAuthenticatedResult`,
the object passed to the `userAuthenticated` callback used by auth plugins.
The server code uses this to redirect to an external website if it is set.
Left TODO:
- This code has been tested manually but a test case is still missing.
- Here or in the plugin, the redirect urls must be limited to values configurable by admins.
* rename to URI for consistency
* add test for the new parameter
* address review comments
- correct syntax for optional parameter
- handle the case where `externalAuthToken` has query parameters included
* Add Scheduled Lives functionality through originallyPublishedAt
Implements #6604 by reusing the originallyPublishedAt field of isLive videos to mark "waiting for live" videos as scheduled at a set time.
* Hide scheduled lives from Browse Videos page
* Add tests for Scheduled Live videos
* Make scheduled lives use a dedicated scheduledAt field in the VideoLive table
* Plan live schedules to evolve in the future
* Use a dedicated table to store live schedules, so we can add multiple
schedules in the future and also add a title, description etc. for a
specific schedule
* Adapt REST API to use an array to store/get live schedules
* Add REST API param so it's the client choice to include or not
scheduled lives
* Export schedules info in user import/export
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>
ffmpeg aac encoder is not very good so prefer to keep the same bitrate
as mp3
we also use the max available bitrate with a flac input that has an
unknown bitrate