* 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
* add user agent video stats
closes#6832
* Disable indexes, support start/end dates
* move ua parsing to client
* Openapi, inline body request, update tests
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>
* WIP: Add backend functionality to store comment count per video and update on comment visibility actions
* WIP: Display image icon and comment count on video miniature component
* Probably don't need to index the comment count
* Added comment count back to mini video component
* Added basic tests
* Sort by comments, more robust comments count
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>
* Separate player in a dedicated build, that we can control using vite.
We had too many issues with Angular build system and we can now
have the same build between the embed and the client. We can also
embed SVG directly in the CSS
* Upgrade p2p-media-loader to v2
* Update internal infohashes to reflect this p2p-media-loader protocol
change (they are updated at PeerTube startup)
* Minimum required iOS version is now v14
Deprecate:
* `path` and `url` of `ActorImage` (used to represent account/channel
avatars/banners) in favour of `fileUrl`
* `path` of `AvatarInfo` (used in notifications) in favour of `fileUrl`
* `captionPath` of `VideoCaption` in favour of `fileUrl`
* `storyboardPath` of `Storyboard` in favour of `fileUrl`
* feat-6167: Add autoplay setting for new users in GUI admin section
* feat-6167: Add new localization for admin GUI
* Fix user configuration not taking default auto play setting into account when creating a new user
* Revert "feat-6167: Add new localization for admin GUI"
This reverts commit fcdb05c8ea.
* Move autoplay in defaults section
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>
* Split "my library" into "video space (channels, videos...)" and "my library (playlists, history...)"
* Split "admin" into "overview (users, videos...)", "moderation (abuses, blocks, registrations...)" and "settings (configuration, runners...)"
* Reorganize the header and the left menu: account settings/notifications are now in the header
* Add instance information context in the left menu
* Merge dedicated videos pages for "recently added", "trending", "local videos" into a "browse videos" page that includes quick filters
* Clean up entire CSS
* Clean CSS variables so it's easier to theme PeerTube (some new variables fallback to old variables to limit currnet themes breakages)
* Replace the current light theme into a new one (beige)
* Add a dark (brown) theme (included in PeerTube core)
* Fix accessibility issues with old light theme colors (white on orange button for example)
* Redesign the left menu, the horizontal menu, form controls and buttons, "Discover videos" page and common video filters panel
* Replace/remove/add some global icon