Commit Graph
679 Commits
Author SHA1 Message Date
Chocobozzz f96c350e5b Merge branch 'release/v8.1.x' into develop 2026-03-27 11:09:17 +01:00
Chocobozzz 8ba7dc85ed Fix blocklist error 400 with many params 2026-03-27 11:07:51 +01:00
Chocobozzz 8d74df4421 Fix tests 2026-03-27 09:48:51 +01:00
Chocobozzz 002ee2452d Upgrade typescript to v6 2026-03-26 16:36:25 +01:00
Chocobozzz 9e562b9437 oxlint migration for server 2026-03-26 15:15:36 +01:00
Chocobozzz b7549f8558 Remove barrel files from tests
Not useful and add useless cognitive work
2026-03-26 14:10:33 +01:00
Chocobozzz cfebfcd7d6 Merge branch 'release/v8.1.x' into develop 2026-03-26 12:58:14 +01:00
Chocobozzz 78885d7ad5 Prevent invalid end task for studio 2026-03-26 12:55:32 +01:00
Chocobozzz 5f60f1488a Prune storage without having to stop peertube 2026-03-26 09:41:49 +01:00
Chocobozzz 278dcce7f5 Fix tests 2026-03-25 10:41:55 +01:00
Himani SharmaandChocobozzz 54095dff49 Fix plugin settings to display default values when not configured in the DB (#7484)
* Prevent shell injection

Even if this endpoint can only be used by admins, it's safer this way

* Move to vite 8

* Fix lint

* Add devtools support for vite

* Setting plugin to default value

* Issue 6660 || Setting plugin to default value

* Fix lint

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-03-25 08:21:08 +01:00
Chocobozzz 383168c8ef Prevent shell injection
Even if this endpoint can only be used by admins, it's safer this way
2026-03-25 06:48:18 +01:00
kontrollantenandChocobozzz 5a9c09be7f add filter:api.user.signup.requires-approval.result (#7446)
* 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>
2026-03-24 16:25:38 +01:00
Chocobozzz cc13efbf92 Add offensive test for video filename check 2026-03-24 16:10:59 +01:00
Moby Mikes 💻andChocobozzz 150962ffcf Add configurable default for live replay save option (#7414)
* Add configurable default for live replay save option

Allow admins to configure the default state of the 'automatically
publish a replay when your live ends' checkbox via a new
live.save_replay_by_default setting (defaults to false).

Fixes #6304

* refactor(config): move live replay default to defaults section

Relocate `live.save_replay_by_default` to `defaults.live.save_replay`
to better align with the configuration convention where default UI
states are grouped under the `defaults` key.

This change updates:
- Server configuration loading and exposure
- TypeScript models (ServerConfig, CustomConfig)
- Admin configuration interface
- Live creation form default value handling

Refs: #6304

* test(config): update tests for live replay default refactor

Update configuration tests to verify defaults.live.saveReplay instead of the old live.saveReplayByDefault key.

Also update config/test.yaml to match the new configuration structure.

* fix(config): update video imports test and config validator

* fixed tests

* Fix merge

* Fix default save replay in server

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-03-24 15:52:05 +01:00
Chocobozzz 4c746967c3 Support indexable fields
All our actors are public and public videos are automatically indexed
2026-03-24 14:15:23 +01:00
Chocobozzz 05f2889381 Add tag filters in my videos 2026-03-24 11:42:30 +01:00
Chocobozzz 4ce5b37c14 Add quick filter for registration requests 2026-03-24 10:41:18 +01:00
Chocobozzz c4746d54b9 Improve job filters UX
Allow to click on tags to automatically filter by type/state
2026-03-24 10:17:04 +01:00
Chocobozzz 1f63b98c28 Optimize listing videos with collaboration 2026-03-23 16:02:42 +01:00
4d54ea4587 Live dvr (#7396)
* 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>
2026-03-20 16:19:13 +01:00
Chocobozzz 1be641d16d Add video block bulk actions 2026-03-19 15:41:52 +01:00
Chocobozzz d7b2cd9e66 Add ability to filter users by role 2026-03-19 14:53:56 +01:00
Chocobozzz dad36c2e28 Build a new table filter component 2026-03-19 14:05:54 +01:00
Chocobozzz e506977478 Merge branch 'release/v8.1.x' into develop 2026-03-18 10:55:05 +01:00
Chocobozzz ff5aa283ad Fix setting many query params 2026-03-18 10:31:19 +01:00
Chocobozzz 26c5465858 Prevent unnecessary torrent filename update 2026-03-18 09:47:01 +01:00
Sébastien NOBILIandChocobozzz c9855027ec Feat: video download stats (#7437)
* register job

* track downloads & display total count on stats page

* display download timeseries graph

* automated tests

* diff cleanup

* add downloads to platform stats

* remove extra semicolons

* fix lint issues

* set DB migration target

* move download stats to VideoViewModel

* rename videoView to videoStats

* lint fixes

* fix failing tests

* track remote downloads

* lint fixes

* Rename view directory to stat

* Simplify metric typing

* Do not display downloads in table

* Simplify downloads process

* Create stats tests directory

* Simplify download stats

* Fix stats fallback

* Fix redundancy

* Prevent useless log

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2026-03-17 13:03:23 +01:00
Chocobozzz 1bcbfdb583 Do not process images in piscina
sharp, the new image manipulation library already uses libuv's threadpool
2026-03-17 11:23:15 +01:00
Chocobozzz 7962077f08 Refresh actors/videos on lazy load not found 2026-03-17 10:15:47 +01:00
Chocobozzz f28671fce6 Federate video on thumbnail re-generation 2026-03-17 10:15:47 +01:00
Chocobozzz d46cd0ffa9 Fix root password generation 2026-03-13 16:37:06 +01:00
Chocobozzz b83b458781 Fix search index tests 2026-03-12 13:40:56 +01:00
Chocobozzz 777d8e17ba Add Framasoft's funding.json 2026-03-10 13:07:05 +01:00
Chocobozzz 140b008660 Fix tests 2026-03-05 16:33:29 +01:00
Chocobozzz fcb3d83e32 Do not inject instance language in user API
Without this commit, the client won't know if it's a language requested by the
user, or a language injected by the admin
2026-03-05 15:37:39 +01:00
Chocobozzz ae362aae20 Improve REST api getting started guide 2026-03-05 15:37:27 +01:00
Chocobozzz 32e2c878ed Fix broken player with nsfw videos 2026-03-05 09:15:12 +01:00
Chocobozzz 000f8850e0 Add ka locale 2026-03-02 10:22:19 +01:00
Chocobozzz 6eac93f0b4 Fix tests 2026-02-27 16:42:30 +01:00
Chocobozzz 4bb710400d Migrate peertube-cli to tsdown 2026-02-26 12:08:12 +01:00
Chocobozzz 7c9e870942 Migrate runner to tsdown 2026-02-26 11:27:24 +01:00
Chocobozzz 57977df895 Improve podcast feed compatibility 2026-02-26 09:36:04 +01:00
Chocobozzz 7f5256e575 Use 1500x1500px images for feeds 2026-02-26 09:27:06 +01:00
Chocobozzz 7e85d5530b Do not delete all logo images 2026-02-26 09:10:55 +01:00
Alexey Cluster e06ecd5b1f fix: use process.execPath for yt-dlp --js-runtimes to avoid unsupported Node.js from PATH
When PeerTube runs with a supported Node.js (e.g. v22 via nvm) but an
older unsupported version exists in PATH (e.g. /usr/bin/node v18),
yt-dlp would find the wrong binary and fail JS challenge solving.

Pass `node:<full_path>` instead of just `node` so yt-dlp always uses
the same Node.js binary that PeerTube itself is running on.

Adds unit tests for wrapWithJSRuntimeOptions covering both yt-dlp and
youtube-dl configurations.
2026-02-26 08:45:09 +01:00
Chocobozzz 592abac3df Migrate i18next parser 2026-02-25 08:45:39 +01:00
Chocobozzz 3ca077970a Fix server lint 2026-02-24 15:43:28 +01:00
Chocobozzz 3a87271e58 Update all project dependencies 2026-02-24 15:14:26 +01:00
Chocobozzz 9d355a4362 Update server dependencies 2026-02-24 14:52:15 +01:00