* add filter:api.user.signup.requires-approval.result
closes#6691
* update test
* signup: dont mark /registrations/request as deprecated
* fix broken tests
* changes after review
* Add offensive test for video filename check
* PR fixes
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>
When using openapi-generator to build an API from the spec, `tags` would have a `_collection_format` set to `csv`, which caused the API to submit eg "tags=tag1,tag2,tag3", instead of submitting multiple `tag` parameters, eg `tag=tag1,tag=tag2,tag=tag3`
Setting the encoding this way sets the `_collection_format` to `multi`, which works.
* Move to sharp library to improve image manipulation performance and
support more image formats
* Move video previews in thumbnails directory
* Deprecate lazy static previews endpoint
* Plugin `getFiles()` API now includes a `width`/`height` attribute
* Deprecate previewfile for video publication/update.
Use `thumbnailfile` instead
* Deprecate `thumbnailPath` and `previewPath` of `Video` in favour of
`thumbnails`
* Deprecate `thumbnailPath` of `VideoPlaylist` in favour of
`thumbnails`
* Replace `torrentPath` by `torrentFilename` and `torrentStream` for
remote torrents for `filter:api.download.torrent.allowed.result`
plugin filter
* Remove useless `fileUrl` from `UserExport` and `VideoSource`
* Remove remote captions where we don't have a valid URL
* cache directory is not deleted on each run anymore
* Add permanent cache for video captions and storyboards
* Remove `cache` admin configuration, use house-keeping script instead
This is the playlist element id, used to update or delete elements in
the list. The old description and example made it look like it is the
video object id.
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.
* 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>
* Add NSFW flags to videos so the publisher can add more NSFW context
* Add NSFW summary to videos, similar to content warning system so the
publisher has a free text to describe NSFW aspect of its video
* Add additional "warn" NSFW policy: the video thumbnail is not blurred
and we display a tag below the video miniature, the video player
includes the NSFW warning (with context if available) and it also
prevent autoplay
* "blur" NSFW settings inherits "warn" policy and also blur the video
thumbnail
* Add NSFW flag settings to users so they can have more granular
control about what content they want to hide, warn or display