* Prepare ability to transfer channels too
* Cleanup object and components names
* Correctly separate video ownership changes from other
* Add bulk actions to ownership changes
* 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>
* Add pop-out player button
* Use native PiP and hide popout fallback
* Revert Live DVR changes
* Add Live DVR with 2h window
* Add Live DVR flag in video watch player options
* Fix Live DVR seekbar and HLS options
* Show PiP button on medium player sizes
* Force PiP button visible in embed
* Disable context menu in embeds
* Match PiP icon size to other controls
* Center popout icon mask
* Center PiP control
* Add context menu flag to embed customizations
* Revert "Center PiP control"
This reverts commit aede705f3f.
* Revert "Center popout icon mask"
This reverts commit 0770471caa.
* Revert "Match PiP icon size to other controls"
This reverts commit cef0b49a02.
* Revert "Force PiP button visible in embed"
This reverts commit 1379d7d0c9.
* Revert "Show PiP button on medium player sizes"
This reverts commit a183536ca7.
* Revert object storage path-style config
* Add configurable per-live DVR window
* Remove force_path_style config dependency
* Fix DVR window validator typing
* Include DVR seconds in live form patch
* Fix logout token revocation race
* Stabilize video import and transcription tests
* Increase video transcription replacement test timeouts
* Revert "Remove force_path_style config dependency"
This reverts commit cac22d193f.
* Revert "Add pop-out player button"
This reverts commit 28ba5f5bb1.
* test(live): add DVR validation coverage
* config: define object_storage.force_path_style default
* style(lint): fix max-len in live DVR files
* style(client): fix lint in live DVR types
* feat(live): switch DVR window to milliseconds and simplify player toggle
* Live DVR adaptations
---------
Co-authored-by: DJBlu <djblu2003.dk@gmail.com>
Co-authored-by: root <root@ubuntu.home.lan>
Co-authored-by: root <root@peertube.home.lan>
Co-authored-by: Chocobozzz <me@florianbigard.com>
* 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
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>