66 Commits

Author SHA1 Message Date
Chocobozzz
eaf6fccbbb Add playlistUrl metadata in json to hls files 2025-02-13 10:45:48 +01:00
Chocobozzz
2183c53601 Remove unused job 2025-02-07 09:40:06 +01:00
Chocobozzz
260447942a Add ability to put captions in object storage
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`
2025-02-07 09:35:39 +01:00
Chocobozzz
94a7879d7d Add host to common video filters 2025-01-31 16:08:09 +01:00
Chocobozzz
05f105d03f Remove web video redundancy support
It's not used anymore in the player since several major versions now, so
there's no point in continuing to store these video files
2025-01-31 11:13:13 +01:00
kontrollanten
74b5096a64 Plugin support for sophisticated spam handling (#6692)
* feat(plugins): add filter:admin-user-list.bulk-actions.create.result

* feat(plugins): add filter:admin-user-moderation.actions.create.result

* feat(plugins): add filter:admin-comment-list.actions.create.result

* feat(plugin): add filter:admin-comment-list.bulk-actions.create.result

* feat(plugin): add filter:admin-abuse-list.actions.create.result

* feat(plugins): add doAction increment/decrement loader

Support for plugins to show application loader.

* feat(plugins): add doAction admin-user-list:load-data

* feat(plugins): add doAction admin-video-comment-list:load-data

* feat(plugins): add doAction admin-abuse-list:load-data

* feat(plugins): add doAction video-watch-comment-list:load-data

* cleanup and bug fixes

* fix(abuse-list-table): cleanup plugin action

* fixes after review

* UserListComponent: remove shortCacheObservable

* fix lint issues

* rename to admin-users-list:load-data

In order keep consistency with filter:admin-users-list.bulk-actions.create.result

* update plugin documentation

* move plugin actions to client-action.model.ts

* Styling

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-01-28 14:44:47 +01:00
Chocobozzz
82246a0c8d Better live notification label 2025-01-16 10:53:18 +01:00
Khyvodul
1a568cc65c feat: 6167 Add autoplay setting in the admin settings section (#6788)
* 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>
2025-01-14 13:25:17 +01:00
kontrollanten
3f30458c37 feat: plugin support to filter email addresses (#6752)
* feat: plugin support to filter email addresses

Add support for plugins to filter user email addresses.

* Add missing `totalNotDeletedComments` doc

* Styling

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-01-14 11:02:12 +01:00
Chocobozzz
f4d6cecf10 Redesign about pages 2025-01-09 10:29:17 +01:00
Chocobozzz
5b4c7fc20d Add custom upload ability for runners 2025-01-09 10:29:16 +01:00
Chocobozzz
a1ad7035db Fix home padding
Signed-off-by: Chocobozzz <me@florianbigard.com>
2024-11-27 10:24:21 +01:00
Chocobozzz
f83674c143 Global client redesign
* 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
2024-11-23 14:44:49 +01:00
Chocobozzz
3842a527f6 Remove deprecated server code 2024-11-04 10:23:01 +01:00
Chocobozzz
a91bd80087 Add ability to filter requested runner jobs 2024-10-31 10:22:35 +01:00
Chocobozzz
70ee15d3aa Add ability to configure stun servers 2024-10-24 10:36:17 +02:00
kontrollanten
41c70a6b35 Sitemap: Hide empty accounts/channels and add video tags (#6633)
* feat(sitemap): remove empty accounts/channels

closes #6607

* feat(sitemap): add more video tags

https://developers.google.com/search/docs/crawling-indexing/sitemaps/video-sitemaps

closes #6606

* Chunk videos SQL query

* Optimize SQL query

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2024-10-23 07:17:02 +02:00
Chocobozzz
27bf92235f Fix video file object storage detection 2024-08-19 17:02:44 +02:00
Chocobozzz
bbaf96d60d Support max FPS configuration 2024-08-13 09:38:36 +02:00
Chocobozzz
90859f2b61 Reduce peertube types package size 2024-08-13 09:38:35 +02:00
Chocobozzz
25684e837c Fix client player error on fast restream 2024-08-09 10:00:34 +02:00
Chocobozzz
62bf86c186 Introduce bufferStalled playback metric 2024-08-08 14:41:34 +02:00
Chocobozzz
816f346a60 Separate HLS audio and video streams
Allows:
  * The HLS player to propose an "Audio only" resolution
  * The live to output an "Audio only" resolution
  * The live to ingest and output an "Audio only" stream

 This feature is under a config for VOD videos and is enabled by default for lives

 In the future we can imagine:
  * To propose multiple audio streams for a specific video
  * To ingest an audio only VOD and just output an audio only "video"
    (the player would play the audio file and PeerTube would not
    generate additional resolutions)

This commit introduce a new way to download videos:
 * Add "/download/videos/generate/:videoId" endpoint where PeerTube can
   mux an audio only and a video only file to a mp4 container
 * The download client modal introduces a new default panel where the
   user can choose resolutions it wants to download
2024-08-05 08:31:59 +02:00
Chocobozzz
44919a8d57 Fix hidden runner jobs tab
If remote runners feature is only enabled on transcription
2024-07-31 08:56:33 +02:00
Chocobozzz
a9d08d2646 Correctly handle invalid current password 2024-07-31 08:35:24 +02:00
Chocobozzz
3a71086e35 Correctly handle transcription conflicts 2024-06-28 14:42:19 +02:00
Chocobozzz
fd4831e502 Metadata to know if the caption is auto generated 2024-06-28 08:44:59 +02:00
Chocobozzz
1bfb791e05 Integrate transcription in PeerTube 2024-06-28 08:44:58 +02:00
Chocobozzz
3427330611 Support update object storage urls 2024-06-05 09:01:40 +02:00
Chocobozzz
29329d6c45 Implement auto tag on comments and videos
* Comments and videos can be automatically tagged using core rules or
   watched word lists
 * These tags can be used to automatically filter videos and comments
 * Introduce a new video comment policy where comments must be approved
   first
 * Comments may have to be approved if the user auto block them using
   core rules or watched word lists
 * Implement FEP-5624 to federate reply control policies
2024-05-29 15:03:14 +02:00
Chocobozzz
4ea659d569 Handle videos with FPS < 1 2024-05-29 08:56:53 +02:00
Chocobozzz
5cb3e6a0b8 Use sessionId instead of IP to identify viewer
Breaking: YAML config `ip_view_expiration` is renamed `view_expiration`
Breaking: Views are taken into account after 10 seconds instead of 30
seconds (can be changed in YAML config)

Purpose of this commit is to get closer to other video platforms where
some platforms count views on play (mux, vimeo) or others use a very low
delay (instagram, tiktok)

We also want to improve the viewer identification, where we no longer
use the IP but the `sessionId` generated by the web browser. Multiple
viewers behind a NAT can now be able to be identified as independent
viewers (this method is also used by vimeo or mux)
2024-04-04 16:27:40 +02:00
kontrollanten
cd42491cf0 feat: add support for sub routes under /my-account (#6218)
* feat: add support for sub routes under /my-account

closes #6217

* feat(plugins/client-routes): page titles

Add support for adding custom page titles in client routes.

* fix(client/PluginPages): reload component upon URL change

* Styling

* docs(plugins): update registerClientRoute

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2024-04-04 08:17:59 +02:00
kontrollanten
aaa5acbb0c feat(plugins): add filter:api.user.me.get.result
relates to #6219
2024-03-27 13:32:53 +01:00
Chocobozzz
a159b8b517 Add ability to list and delete original file
In admin
2024-03-26 14:10:02 +01:00
Chocobozzz
c09e27d77a Optimize transcoding profile building 2024-03-19 09:53:59 +01:00
chagai95
e57c3024f4 Add config option to keep original video file (basic first version) (#6157)
* testing not removing old file and adding columb to db

* implement feature

* remove unnecessary config changes

* use only keptOriginalFileName, change keptOriginalFileName to keptOriginalFilename for consistency with with videoFile table, slight refactor with basename()

* save original video files to dedicated directory original-video-files

* begin implementing object storage (bucket) support

---------

Co-authored-by: chagai.friedlander <chagai.friedlander@fairkom.eu>
Co-authored-by: Ian <ian.kraft@hotmail.com>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2024-03-15 15:47:18 +01:00
Chocobozzz
10e78bb778 Remove twitter whitelisted option
It doesn't seem to be required
2024-03-08 10:54:29 +01:00
Chocobozzz
98781f353d Add user history in import/export 2024-02-28 16:48:59 +01:00
Chocobozzz
a4b497c2a9 Add postingRestrictedToMods to channels AP objects
See https://github.com/LemmyNet/lemmy/issues/3837
2024-02-27 15:46:38 +01:00
Chocobozzz
b6b1aaa56f Add video aspect ratio in server 2024-02-27 15:24:34 +01:00
Chocobozzz
0165786f65 Add total moderators/admins in stats 2024-02-23 15:04:18 +01:00
Chocobozzz
bb7cb0d2fd Add ability to set avatar to instance 2024-02-23 14:27:11 +01:00
Chocobozzz
0648d57870 Add total video file size column in users list 2024-02-21 15:28:38 +01:00
Chocobozzz
db69d9491e Add abuse and registration requests stats 2024-02-21 14:57:20 +01:00
Chocobozzz
7986ab8452 Support chapter import/export 2024-02-21 13:49:08 +01:00
Chocobozzz
3cac8a756f Fix lint, tests and styling 2024-02-21 13:49:08 +01:00
Chocobozzz
8573e5a80a Implement user import/export in server 2024-02-21 13:49:08 +01:00
Chocobozzz
7ee0efb57a Add ability to set a banner to the instance 2024-02-20 11:33:10 +01:00
Chocobozzz
a012d6c2a9 Add notification on subscription live stream 2024-02-15 14:06:25 +01:00