17573 Commits
Author SHA1 Message Date
Chocobozzz 1e499b13d1 Update translations 2026-10-16 17:06:50 +02:00
Lio Novelli 5805fac6f9 Translated using Weblate (Slovenian)
Currently translated at 3.5% (116 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sl/
2026-10-16 15:48:42 +02:00
Ricardo Simões cc1ed96571 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (414 of 414 strings)

Translation: PeerTube/server-internal
Translate-URL: https://weblate.framasoft.org/projects/peertube/server-internal/pt_PT/
2026-10-16 15:48:42 +02:00
Lio Novelli c793872198 Translated using Weblate (Slovenian)
Currently translated at 2.7% (90 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sl/
2026-10-16 15:48:42 +02:00
Matyáš Bartošek 7f1c6b8180 Translated using Weblate (Czech)
Currently translated at 85.7% (2796 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/cs/
2026-10-16 15:48:42 +02:00
Lefteris T. 7a06b18a50 Translated using Weblate (Greek)
Currently translated at 54.0% (1761 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/el/
2026-10-16 15:48:42 +02:00
Lefteris T. 44bc73828d Translated using Weblate (Greek)
Currently translated at 53.3% (1738 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/el/
2026-10-16 15:48:42 +02:00
Lio Novelli 02310f5a30 Translated using Weblate (Slovenian)
Currently translated at 2.4% (80 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sl/
2026-10-16 15:48:42 +02:00
Jiří Podhorecký 5579ff28dd Translated using Weblate (Czech)
Currently translated at 85.7% (2795 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/cs/
2026-10-16 15:48:42 +02:00
Leif-Jöran Olsson 4b057c30a7 Translated using Weblate (Swedish)
Currently translated at 100.0% (414 of 414 strings)

Translation: PeerTube/server-internal
Translate-URL: https://weblate.framasoft.org/projects/peertube/server-internal/sv/
2026-10-16 15:48:42 +02:00
Leif-Jöran Olsson ed9577d920 Translated using Weblate (Swedish)
Currently translated at 100.0% (3259 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sv/
2026-10-16 15:48:42 +02:00
Ricardo Simões 6a2323a4b7 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (414 of 414 strings)

Translation: PeerTube/server-internal
Translate-URL: https://weblate.framasoft.org/projects/peertube/server-internal/pt_PT/
2026-10-16 15:48:42 +02:00
Ricardo Simões 2b3d3ae208 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (3259 of 3259 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/pt_PT/
2026-10-16 15:48:42 +02:00
Chocobozzz 8788b1ad5a Fix RTMP crash with stream id = 0 2026-10-16 15:05:22 +02:00
Chocobozzz f780e64289 Introduce postgresql secondaries support
Only for a few routes, that consumes postgresql CPU

Re-implement sequelize connection routing mechanism, to support:
 * Replica lag monitoring (to not select replicas that are too far
   behind the primary)
 * Be opt-in instead of opt-out (primary is used by default, a context
   must be marked to use replicas)
 * Handle "read-you-writes" mechanism (ensure that reads after writes
   see the latest data, using the user ID to track recent writes)
2026-10-16 13:47:57 +02:00
kontrollantenandChocobozzz 5a497906d7 feat(videos/browse): make it configurable to show scheduled lives (#7825)
* feat(videos/browse): make it configurable to show scheduled lives

closes #5235

* Consistency

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-15 10:47:12 +02:00
Sourav SarkarandChocobozzz 172d446209 initial commit for filters (#7802)
* initial commit for filters

* lint fix

* lint update .5 -> 0.5

* Use same behaviour as user video language settings

* Reorganize content filters and settings

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-15 10:30:07 +02:00
Chocobozzz 38ac38332b Add plugin helper to delete a user 2026-10-14 10:31:42 +02:00
Chocobozzz 9cee7f9bef Explain podcast audio file is stored in web videos 2026-10-14 10:29:01 +02:00
Chocobozzz 327f669730 Keep channel sync order even on import retry 2026-10-14 09:17:16 +02:00
CristianandChocobozzz 49caff058d Constrain PyAV when installing whisper-ctranslate2 (#7815)
* Constrain PyAV when installing whisper-ctranslate2

PyAV 19 (2026-09-29, Python 3.12+) removed the metadata_errors argument of
av.open(). faster-whisper 1.2.1, which whisper-ctranslate2 0.4.4 installs,
still passes it, so a freshly auto-installed engine fails every
transcription and no transcript file is written.

* Prefer upgrading to latest whisper ctranslate

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-13 16:48:42 +02:00
Daniel RamosandChocobozzz 341818e2ed Keep the 3D packing of videos that declare it in their container (#7816)
* Keep the 3D packing of videos that declare it in their container

A video with the packing declared in its container lost it in the web video and HLS files: the copy path writes an MP4 without it (seen with Matroska's StereoMode; the check reads the stream's stereo side data, so MP4's st3d box goes the same way), and libx264 only writes the frame packing SEI for the left eye first, as FFmpeg tells it "Inverted mode is not supported by x264".

Do not copy such a video, so that libx264 writes the SEI from the packing of the input, and when the right eye comes first put the left eye first with the stereo3d filter and give the packing to libx264 as frame-packing (the frames keep the inverted side data otherwise, and libx264 would drop the packing again).

Assisted-by: Claude Sonnet via Claude Code

* Handle rotation and move 3d to transcoding profile

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-13 16:09:28 +02:00
kontrollantenandChocobozzz a17b7698d9 feat: add support for playlistId in peertube-videos-list element (#7822)
* feat: add support for playlistId in peertube-videos-list element

closes #5391

* Throw on param conflict and hide nsfw videos

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-13 14:02:40 +02:00
9ff61e9f4e Display configured count_view_after in video stats views help (#7821)
* Display configured count_view_after in video stats views help

* Fix doc

---------

Co-authored-by: baptiste-bcn <baptisteblanchon91@gmail.com>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-13 13:49:06 +02:00
Muhammad Anas Khalid 31c9b9cd84 Fix dereferenceable error type links in REST API documentation (#7783) 2026-10-13 13:40:26 +02:00
Chocobozzz 4384b9fae6 Add isLocal filter to comments feeds 2026-10-13 12:01:52 +02:00
Thomas Citharel f9d1dc3318 feat: allow filtering comments feed on local videos
Add an `onLocalVideo` query parameter to the video comments feed to
only list comments made on local (or remote) videos.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2026-10-13 12:01:52 +02:00
Chocobozzz 6acc565b6f Fix broken local path update 2026-10-13 11:30:02 +02:00
m-altaifi 5456074749 Document how to reinstall a plugin during development
plugins install copies the plugin directory into the instance storage
(pnpm add file:), so rebuilding the source does not change what the
instance runs and re-running install reinstalls the same copy.

Point at plugins update --path and the required version bump, and link
the CLI tools guide from the plugin development section.
2026-10-13 11:30:02 +02:00
AltaifiandChocobozzz e911c75b6b Add ability to disable audit logs (#7777)
* Add ability to disable audit logs

Add a `log.audit.enabled` configuration option, mirroring the existing
`log.rotation.enabled` shape.

The guard lives in `auditLoggerWrapper`, which every `create`/`update`/
`delete` audit call routes through, so the 13 `auditLoggerFactory`
consumers need no change.

Closes #2686

* Add sort option to channel miniature markup

* Styling

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-13 11:11:34 +02:00
m-altaifi 4b6777c83d Add ability to customize the video redundancy timeout
Mirroring a big video could not take longer than 3 hours, and the HLS
download budget was taken from `import.videos.timeout`, so raising it to
let a mirror finish also changed video import behaviour.

Add `redundancy.videos.timeout`, feeding both the `video-redundancy` job
TTL and the HLS download budget, the same way `import.videos.timeout`
already feeds `video-import`.

Closes #5519
2026-10-13 11:00:48 +02:00
Sourav Sarkar 129b14a816 Enabled 2fa for LDAP users (#7773) 2026-10-13 10:57:07 +02:00
kontrollantenandChocobozzz 3d5b0f1148 feat: add support for plugins to disable account description (#7769)
* feat: add support for plugins to hide account description

closes #7768

* feat: add plugin selector to username description

* use myPluginSelector for selectors

* harmonize plugin selector names

* Fixes

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-10-12 16:02:34 +02:00
Chocobozzz 4757d06d92 Fix CI 2026-10-12 10:39:08 +02:00
Chocobozzz d384412981 Fix sequelize transaction inconsistency 2026-10-12 09:59:06 +02:00
Chocobozzz a88f52ae6a Update changelog 2026-10-12 09:51:12 +02:00
Chocobozzz 1e0a0fd953 Improve scalability with many requests 2026-10-06 16:23:10 +02:00
Chocobozzz f0b041375b Fix tests 2026-10-06 09:02:22 +02:00
Chocobozzz bc89e041fa Improve benchmark script 2026-10-06 09:01:26 +02:00
Chocobozzz 326e47c4cb Update translations 2026-10-05 14:02:07 +02:00
Hồ Nhất Duy f948209f4a Translated using Weblate (Vietnamese)
Currently translated at 100.0% (3256 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/vi/
2026-10-05 13:51:20 +02:00
Lefteris T. 135ce98a8c Translated using Weblate (Greek)
Currently translated at 53.0% (1726 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/el/
2026-10-05 13:51:20 +02:00
Lefteris T. dcf77f3a8f Translated using Weblate (Greek)
Currently translated at 52.9% (1723 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/el/
2026-10-05 13:51:20 +02:00
Lefteris T. afa4d43f71 Translated using Weblate (Greek)
Currently translated at 52.5% (1712 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/el/
2026-10-05 13:51:20 +02:00
E 66f476dd9e Translated using Weblate (Italian)
Currently translated at 73.8% (2404 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/it/
2026-10-05 13:51:20 +02:00
Ricardo Simões 7f414a3aaf Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (410 of 410 strings)

Translation: PeerTube/server-internal
Translate-URL: https://weblate.framasoft.org/projects/peertube/server-internal/pt_PT/
2026-10-05 13:51:20 +02:00
Ricardo Simões 169ccdc23b Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.7% (3215 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/pt_PT/
2026-10-05 13:51:20 +02:00
E 41dfc84498 Translated using Weblate (Italian)
Currently translated at 72.4% (2360 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/it/
2026-10-05 13:51:20 +02:00
Fanch Le Roux ab3be5d42a Translated using Weblate (Spanish)
Currently translated at 100.0% (3256 of 3256 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/es/
2026-10-05 13:51:20 +02:00
Goudarz Jafari 0f7f13a962 Translated using Weblate (Persian)
Currently translated at 100.0% (166 of 166 strings)

Translation: PeerTube/player
Translate-URL: https://weblate.framasoft.org/projects/peertube/player/fa/
2026-10-05 13:51:20 +02:00