Commit Graph

2979 Commits

Author SHA1 Message Date
Chocobozzz 2d28b0c21d
Upgrade fast xml parser dep 2021-12-24 13:55:47 +01:00
Chocobozzz 4ff75a3b2c
Deprecate node 12 2021-12-24 13:52:32 +01:00
Chocobozzz 5a63748877
Node 10 is not supported anymore 2021-12-24 13:43:59 +01:00
Chocobozzz c7cdac4409
Fix type conflict 2021-12-24 10:40:51 +01:00
Chocobozzz d17c7b4e8c
Fix shared imports 2021-12-24 10:14:47 +01:00
Chocobozzz 5354af75b3
Fix video import transcoding 2021-12-23 13:40:47 +01:00
Chocobozzz dbd9fb44dd
Don't stuck state when move transcoding job failed 2021-12-23 11:13:06 +01:00
Chocobozzz 482b26231b
Fix audio only transcoding 2021-12-23 10:57:55 +01:00
lutangar 5e3d29ab21 Add video caption created and deleted hooks 2021-12-23 09:35:35 +01:00
Chocobozzz 293074ae79
Fix video upload with big preview 2021-12-17 15:50:02 +01:00
Chocobozzz 8484599294
Fix subscriptions 2021-12-17 15:21:24 +01:00
Chocobozzz 9e2789aa4b
Fix internal user subscription 2021-12-17 14:42:31 +01:00
Chocobozzz 6def7d34e6
Fix migrations 2021-12-17 14:27:16 +01:00
Chocobozzz f304a1580b
Fix build 2021-12-17 13:58:07 +01:00
Chocobozzz c55e3d7227
Move test functions outside extra-utils 2021-12-17 12:24:03 +01:00
Chocobozzz bf54587a3e
shared/ typescript types dir server-commands 2021-12-17 09:29:23 +01:00
Chocobozzz 6b5f72beda
Move typescript utils in its own directory 2021-12-16 18:04:16 +01:00
Chocobozzz 754c52b9b9
Add ffprobe helper 2021-12-16 17:00:46 +01:00
Chocobozzz 2e9c7877eb
Add videos.getFiles plugin helper 2021-12-16 16:49:43 +01:00
Chocobozzz 51872b82a1 Fix tests 2021-12-16 10:17:39 +01:00
lutangar ced38c0ffe fix plugin storage return value when storing a Json array 2021-12-16 10:17:39 +01:00
Chocobozzz b65de1be4d
Use different p2p policy for embeds and webapp 2021-12-16 10:08:55 +01:00
Chocobozzz a9bfa85d2c
Add ability for admins to set default p2p policy 2021-12-16 10:08:55 +01:00
Chocobozzz c77fdc605b Fix videos language tests 2021-12-16 10:08:43 +01:00
lutangar b8fa3e8c73 refactor(types): create dedicated folder for types package src
fix guide examples and add types package readme

refactor(tsconfig): move back base tsconfig to base directory
2021-12-16 10:08:43 +01:00
lutangar 8b03e2ce1a feat(types): create peertube-types package
Create dedicated Typescript "types" configuration file for each "projects".
Create a types folder which includes every useful ts definition:
- client
- server
- shared
Add tooling to create a proper package, extract dependencies, etc...
Add CI Github task.

refactor(types): publish types package in release script
2021-12-16 10:08:43 +01:00
lutangar 06aad80165 chore(refactor): remove shared folder dependencies to the server
Many files from the `shared` folder were importing files from the `server` folder.
When attempting to use Typescript project references to describe dependencies,
it highlighted a circular dependency beetween `shared` <-> `server`.

The Typescript project forbid such usages.
Using project references greatly improve performance by rebuilding only
the updated project and not all source files.
> see https://www.typescriptlang.org/docs/handbook/project-references.html
2021-12-16 10:08:43 +01:00
Chocobozzz 854f533c12
Fix lint 2021-12-14 17:38:59 +01:00
Chocobozzz 3cf68b869d
Ability for admins to set default upload values 2021-12-14 17:17:01 +01:00
Chocobozzz a6f919e455
Increase timeout 2021-12-14 14:21:29 +01:00
Chocobozzz 14857212f1
Move b frame strategy in transcoding profile
We may use a too high value for some encoders and it allows to specify
custom values/strategy
2021-12-14 10:46:31 +01:00
John Livingston 9234110650 Fix typo. 2021-12-14 09:00:08 +01:00
Chocobozzz ab18fadfd1
Fix AP audience 2021-12-13 17:33:59 +01:00
Chocobozzz b5e1cd9a30
Handle channel owner update of remote server 2021-12-13 16:03:16 +01:00
Florian CUNY 81547acb25
Added "zxx" (no linguistic content) in available video languages (#4631)
* Added "zxx" (no linguistic content) in available video languages

Implements https://github.com/Chocobozzz/PeerTube/issues/1489

* FIx lint

* Fix lint

* Put other languages below instance languages

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-12-13 15:32:14 +01:00
kontrollanten a37e9e74ff
Give moderators access to edit channels (#4608)
* give admins access to edit all channels

closes #4598

* test(channels): +admin update another users channel

* Fix tests

* fix(server): delete another users channel

Since the channel owner isn't necessary the auth user we need to check
the right account whether it's the last video or not.

* REMOVE_ANY_VIDEO_CHANNEL > MANAGE_ANY_VIDEO_CHANNEL

Merge REMOVE_ANY_VIDEO_CHANNEL and MANY_VIDEO_CHANNELS to
MANAGE_ANY_VIDEO_CHANNEL.

* user-right: moderator can't manage admins channel

* client: MyVideoChannelCreateComponent > VideoChannelCreateComponent

* client: MyVideoChannelEdit > VideoChannelEdit

* Revert "user-right: moderator can't manage admins channel"

This reverts commit 2c627c154e.

* server: clean dupl validator functionality

* fix ensureUserCanManageChannel usage

It's not async anymore.

* server: merge channel validator middleares

ensureAuthUserOwnsChannelValidator & ensureUserCanManageChannel gets
merged into one middleware.

* client(VideoChannelEdit): redirect to prev route

* fix(VideoChannels): handle anon users

* client: new routes for create/update channel

* Refactor channel validators

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-12-13 15:29:13 +01:00
Chocobozzz d17d743051
Add upload/import/go live video attributes hooks 2021-12-10 13:51:44 +01:00
Chocobozzz 90701ec1d8
Add hls to prune storage script 2021-12-10 10:28:46 +01:00
Chocobozzz 0fbc0dec59
Fix tests 2021-12-09 15:44:54 +01:00
Chocobozzz 9e847c17f9
No notification on moderator abuse 2021-12-09 14:27:32 +01:00
Chocobozzz 650580504c
Add filter:api.server.stats.get.result hook 2021-12-09 14:09:24 +01:00
Chocobozzz 6ba93fa639
Fix torrent metadata update for hls 2021-12-09 11:23:02 +01:00
Chocobozzz 38d69d6501
Update torrents info name on video update 2021-12-08 16:12:49 +01:00
Chocobozzz 9b293cd6a2
Update torrent metadata on video update 2021-12-08 11:07:19 +01:00
Chocobozzz 636d73c588
Merge branch 'release/4.0.0' into develop 2021-12-07 13:47:34 +01:00
Chocobozzz 7e44bd4a6f
Fix services tests 2021-12-07 13:47:26 +01:00
Chocobozzz 4c6757f2fd
Fix live log tags 2021-12-07 13:45:01 +01:00
Chocobozzz d9f9804d86
Merge branch 'release/4.0.0' into develop 2021-12-07 11:06:57 +01:00
Chocobozzz 6e14e40053
Fix iframe allow-popups for oembed 2021-12-07 11:06:35 +01:00
Chocobozzz 80badf493a
Add mute status in account and channel pages 2021-12-07 09:46:01 +01:00
Chocobozzz 33675a4775
Increase timeout 2021-12-06 10:05:05 +01:00
Chocobozzz 0bc53e2029
Add ability to redirect users on external auth 2021-12-03 17:04:47 +01:00
Chocobozzz 9ea02c48a7
Merge branch 'release/4.0.0' into develop 2021-12-03 14:40:52 +01:00
Chocobozzz 025d858e79
Fix pending transcoding with failed job 2021-12-03 14:40:29 +01:00
Chocobozzz 453537426a
Fix too long filename video upload 2021-12-03 14:23:45 +01:00
Chocobozzz 6d472b4046
Decrease time to cleanup resumable uploads 2021-12-03 14:01:38 +01:00
Chocobozzz 9213df1d79
Fix comment 2021-12-03 10:49:36 +01:00
Chocobozzz 63a3d336f6
Remove uneeded function 2021-12-03 10:14:33 +01:00
Chocobozzz ca87d95bcb
Fix plugin upgrade
Correctly decache all plugin paths
2021-12-03 10:14:17 +01:00
John Livingston 3a1157a68a
CLI: plugins install command accept a --plugin-version parameter. (#4599)
* CLI: plugins install command accept a --plugin-version parameter.

* Unit tests for plugins install --plugin-version.

* Fix linting.

* Styling

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-12-03 10:14:01 +01:00
kontrollanten 5fc44b57f8
Add header Vary Accept-Language (#4588)
* nginx: add header Vary Accept-Language

solves #3647

* Revert "nginx: add header Vary Accept-Language"

This reverts commit 90dccf5324.

* add resp header Vary Accept-Language

solves #3647

* don't add vary header to embed page
2021-12-02 09:14:54 +01:00
Chocobozzz 1da843eeac
Don't notify when transcoding ends on manual run 2021-12-01 12:33:46 +01:00
Chocobozzz a5ee023cf3
Fix redundancy timeout 2021-11-30 08:40:30 +01:00
Chocobozzz 55cb8bc73c
Correctly escape meta tags 2021-11-30 08:31:56 +01:00
Chocobozzz 7b0c61e743
Fix build 2021-11-29 15:46:52 +01:00
Chocobozzz 4c99953acd
Fix redundancy timeout 2021-11-29 15:45:02 +01:00
Chocobozzz fa7388f087
Fix transcoding job count inconsistency 2021-11-29 11:20:17 +01:00
Chocobozzz 7137377d09
Auto update publishedAt in live restream 2021-11-26 17:36:55 +01:00
lutangar 7226e90fdc Add `req` and `res` as controllers hooks parameters
Hooks prefixed by `action:api` now give access the original express req and res.
Checkout guide.md for possible usage.
2021-11-25 09:54:22 +01:00
Chocobozzz 450de91e22
Fix E2E tests 2021-11-24 10:49:12 +01:00
Chocobozzz 842a15732b
Ensure we don't run transcoding after import file 2021-11-23 15:22:07 +01:00
Chocobozzz d972ca5658
Upgrade tools dependencies 2021-11-22 16:12:01 +01:00
mj-saunders e291096f78
Apply import interval only when reasonable (#4552)
* Apply import interval only when reasonable

When importing videos from another service, an interval can be applied
between each download.
It only really makes sense to apply this interval when the last
attempted download actually happened, and not when it was skipped.

* Fix boolean notation
2021-11-22 16:10:00 +01:00
Chocobozzz 5d3c5f2797
Fix typo 2021-11-19 08:26:22 +01:00
Chocobozzz 4842e518be
Fetch publishedAt after wait jobs
To make sure it's published
2021-11-18 16:30:25 +01:00
Chocobozzz 98846837eb
Stop killing peertube in ci script 2021-11-18 15:32:06 +01:00
Chocobozzz ad5db1044c
Add ability to run transcoding jobs 2021-11-18 15:20:57 +01:00
Chocobozzz b46cf4b920
Add ability to remove hls/webtorrent files 2021-11-18 09:04:30 +01:00
Chocobozzz 9c7cf0072f
Prefer cover instead of contain for images 2021-11-16 16:11:10 +01:00
Chocobozzz 7196a70b28
Fix thumbnails/previews for portrait videos 2021-11-16 15:59:56 +01:00
Chocobozzz b3ed044ded
Simplify search video channel 2021-11-16 13:52:46 +01:00
Chocobozzz 3455c2656e
Test and log request retries 2021-11-16 11:34:24 +01:00
Chocobozzz ac03618098
Don't display log tag filter for audit logs 2021-11-16 10:49:03 +01:00
Chocobozzz a2f99b54df
Optimize AP fetch 2021-11-16 10:28:31 +01:00
Chocobozzz 11a554cfcf
Fix unused parameter 2021-11-16 09:29:54 +01:00
Chocobozzz 1740952b8c
Add more logs for video import tests 2021-11-16 08:59:35 +01:00
Chocobozzz 5c08e1c29d
Increase live transcoding test timeout 2021-11-15 15:59:19 +01:00
Chocobozzz 60409162e6
Fix tests cleanup 2021-11-15 09:37:19 +01:00
Chocobozzz aaef591b17
Fix live tests 2021-11-15 09:26:56 +01:00
Chocobozzz 527a52ac42
Add ability to filter out public videos from admin 2021-11-12 14:23:22 +01:00
Chocobozzz 8db19c959e
Remove contributors list from /about/peertube
Some contributors don't want to be associated to a particular peertube
instance
2021-11-12 11:00:51 +01:00
Chocobozzz 3ef5909aec
Fix extendsLocalExpiration for redundancy 2021-11-12 09:02:53 +01:00
Chocobozzz 597f771f3f
Fix video update transaction 2021-11-10 15:52:22 +01:00
Chocobozzz 17ddba4950
Fix thumbnail update 2021-11-10 15:13:56 +01:00
Chocobozzz a2a81f5a7f
Prevent concurrent video update 2021-11-10 14:57:09 +01:00
Chocobozzz 5cf027bdc4
Force video updatedAt update on update 2021-11-10 14:34:02 +01:00
Chocobozzz d78b51aa4e
Fix tests 2021-11-10 14:25:33 +01:00
Chocobozzz 67eeec8b95
Add minimum bitrate limit 2021-11-10 11:04:00 +01:00
Chocobozzz 9390403250
Add ffmpeg tags for ffmpeg logs 2021-11-10 09:53:55 +01:00
Chocobozzz 020d3d3d79
Remove resumable cache after upload success 2021-11-10 09:43:33 +01:00
Chocobozzz d7ce63d3dd
Fix error log of bad import 2021-11-09 15:07:06 +01:00
Chocobozzz 51353d9a03 Refactor video views
Introduce viewers attribute for live videos
Count views for live videos
Reduce delay to see the viewer update for lives
Add ability to configure video views buffer interval and view ip
expiration
2021-11-09 15:00:31 +01:00
Chocobozzz 221ee1adc9 Add transcoding fail message in client 2021-11-09 15:00:21 +01:00
kontrollanten 4e29f4fe23 video: add video stranscoding_failed state 2021-11-09 15:00:21 +01:00
kontrollanten e1ab52d7ec
Add migrate-to-object-storage script (#4481)
* add migrate-to-object-storage-script

closes #4467

* add migrate-to-unique-playlist-filenames script

* fix(migrate-to-unique-playlist-filenames): update master/segments256

run updateMasterHLSPlaylist and updateSha256VODSegments after
file rename.

* Improve move to object storage scripts

* PR remarks

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-09 11:05:35 +01:00
Chocobozzz dedcd583b2
Fix remote interaction
When we fetch a ressource that is a redirection of another ressource
2021-11-05 14:11:19 +01:00
Chocobozzz 5037e0e474
Correctly close RTMPS server too 2021-11-05 11:40:49 +01:00
Chocobozzz df1db951c5
Support RTMPS 2021-11-05 11:38:17 +01:00
Florian CUNY 8dd754c767
Added 144p encoding (#4492)
* Added 144p encoding

Implements https://github.com/Chocobozzz/PeerTube/issues/4428

* Fixed typo in core-utils

* Increased BitPerPixel for 144p

* Disabled 144p by default in test.yaml

* Another try at fixing tests

* Fixed test in video-transcoder (api-3)

* Fixed test in video-imports (api-4)

* Fixed test in live-constraints (api-2)

* Tried to fix tests in api-3 again

* Revert "Tried to fix tests in api-3 again"

This reverts commit 266e1143fa37f333d149c2c2791c7bd33621ac14.

* Fixed test in config.ts (api-2)

* Try to fix test in video-hls.ts (api-3)

* Fixed test in video-transcoder.ts (api-3)

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-05 10:23:02 +01:00
Chocobozzz d324756edb
Add ability to filter by file type 2021-11-03 11:32:41 +01:00
Chocobozzz 7e7d8e4853
Some fixes for admin videos list 2021-11-02 11:13:13 +01:00
Chocobozzz 3c10840fa9 Add video file size info in admin videos list 2021-10-29 11:48:21 +02:00
Chocobozzz 2760b454a7 Deprecate filter video query
Introduce include and isLocal instead
2021-10-29 11:48:21 +02:00
Florian CUNY 754b6f5f41
Made the video channels limit (per user) server-wide configurable (#4491)
* Made the video channels limit (per user) server-wide configurable

Implements https://github.com/Chocobozzz/PeerTube/issues/3092

Also added a "quota bar" in the account's settings page

* Fixed lint errors

* Another pass at fixing lint errors

* Applied code suggestions

* Removed 'video channels quota'
2021-10-26 16:42:10 +02:00
Chocobozzz 5842a85424
Remove unnecessary package
https://github.com/standard/standard/issues/1316
2021-10-26 15:08:58 +02:00
Chocobozzz b9fbc17609
Fix lint 2021-10-26 08:37:03 +02:00
Rigel Kent 276250f0a3
prevent multiple post-process triggering of upload-resumable (#4175)
* prevent multiple post-process triggering of upload-resumable

* switch from 409 to 503 for upload being processed

* Improve resumable upload check

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-25 17:42:20 +02:00
Chocobozzz b2ad0090c1
Don't write youtube-dl stdout in log
It's too big
2021-10-25 10:18:41 +02:00
Chocobozzz 0c691a182c
Fix sequelize order typings 2021-10-22 16:40:48 +02:00
Chocobozzz 532e6a4172
Remove aws bug workaround
This has been fixed in https://github.com/aws/aws-sdk-js-v3/pull/2835
2021-10-22 16:30:55 +02:00
Chocobozzz 7fb2c60bbe
Remove sync call in logger
Winston already does it
2021-10-22 16:25:16 +02:00
Chocobozzz d1bfbdeb20
Random listen for mocked servers 2021-10-22 14:31:38 +02:00
Chocobozzz 5480933b7f
Add peertube short link import test 2021-10-22 14:25:32 +02:00
Chocobozzz ab4001aade
Provide origin URL to client and fix remote share 2021-10-22 14:11:58 +02:00
Chocobozzz 7f91ecbde4
Completely remove torrent static path 2021-10-22 10:32:53 +02:00
Chocobozzz 619537426b
Constants consistency 2021-10-22 10:28:00 +02:00
Chocobozzz 62549e6c98
Rewrite youtube-dl import
Use python3 binary
Allows to use a custom youtube-dl release URL
Allows to use yt-dlp (youtube-dl fork)
Remove proxy config from configuration to use HTTP_PROXY and HTTPS_PROXY
env variables
2021-10-22 10:25:24 +02:00
Chocobozzz 97b6428af7
Breaking: fix inconsistencies in configuration 2021-10-20 16:29:41 +02:00
Chocobozzz 400043b1be
Add ability to search by URL with query params 2021-10-20 15:26:38 +02:00
Chocobozzz 64553e8809
Add ability to filter logs by tags 2021-10-20 14:33:38 +02:00
Chocobozzz c4c0c31144
Fix my live videos filter 2021-10-20 10:04:06 +02:00
Chocobozzz 978c87e7f5
Add channel filters for my videos/followers 2021-10-20 09:25:44 +02:00
Chocobozzz 906f46d084
Split check user params tests 2021-10-20 09:25:44 +02:00
Chocobozzz 4beda9e12a
Add ability to view my followers 2021-10-20 09:25:44 +02:00
Chocobozzz 9593a78ae1
Refactor sort middlewares 2021-10-20 09:25:44 +02:00
Chocobozzz 27c3c9456d
Increase some timeouts 2021-10-18 10:23:45 +02:00
Chocobozzz 1e2fe802d1
Force live type specification in first step 2021-10-15 11:45:03 +02:00
Chocobozzz bacb544dbb
Remove old federation compatibility 2021-10-15 09:44:21 +02:00
Chocobozzz b3fc41a165
Fix youtube-dl update with proxy 2021-10-15 08:32:06 +02:00
Chocobozzz 1ffb5fb682
Increase test timeout 2021-10-15 08:23:02 +02:00
Chocobozzz f0ab2aed3d
Fix lint 2021-10-14 14:14:57 +02:00
Chocobozzz 37cd44d04f
Remove deprecated torrent static route 2021-10-14 11:39:06 +02:00
Chocobozzz cf0c8ee588
Fix admin edition disabling feature 2021-10-14 11:35:43 +02:00
Chocobozzz e1a570abff
Fix user subscription follows count 2021-10-14 10:52:15 +02:00
Chocobozzz 179bfea5e0
Fix import tests 2021-10-14 09:36:55 +02:00
Chocobozzz 87c0f718dc
Fix benchmark test 2021-10-14 08:30:17 +02:00
Chocobozzz 1cf0df024e
Fix actor follow counts calculation 2021-10-13 16:18:42 +02:00
Chocobozzz f87d82b93d
Fix config test cleanup 2021-10-13 11:52:42 +02:00
Chocobozzz 9db437c815
Process slow followers in unicast job queue 2021-10-13 11:47:32 +02:00
Chocobozzz e81f6ccf98
Fix requests timeout 2021-10-13 09:57:20 +02:00