* 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>
* Use a table to list my videos for a clearer overview and so it's
easier to add bulk actions in the future
* Use a "Manage" video page with a proper URL navigation
* Add "Stats" and "Studio" in this "Manage" page
* 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(API): permissive email check in reset & verification
In order to not force users to be case sensitive when asking for
password reset or resend email verification. When there's multiple
emails where the only difference in the local is the capitalized
letters, in those cases the users has to be case sensitive.
closes#6570
* feat(API/login): permissive email handling
Allow case insensitive email when there's no other candidate.
closes#6570
* code review changes
* Fix tests
* Add more duplicate email checks
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>