Commit Graph

2657 Commits

Author SHA1 Message Date
lutangar dc3d902234 Introduce generic video constant manager for plugins
Allow a plugin developer to get back constants values,
and reset constants deletions or additions.
2021-07-16 17:49:40 +02:00
Chocobozzz 83482ec476
Fix youtube-dl import for peertube videos 2021-07-16 15:58:57 +02:00
kontrollanten 2a408c40a9 change audio label, 0p > Audio
Changes the audio label in the Download modal.
2021-07-12 15:34:32 +02:00
Chocobozzz bd873df064
Fix overviews test timeout 2021-07-12 15:34:03 +02:00
Chocobozzz 77d873c56d
Fix subscribe hotkey 2021-07-12 10:04:48 +02:00
lambdacastix e622db0578 add support to another wav mimetype
```bash
$ file --mime-type file.wav
file.wav: audio/x-wav
$ file file.wav
file.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz
```


note: aac had a `'LEFT-TO-RIGHT MARK' (U+200E)` that I removed too
2021-07-11 22:41:44 +00:00
Chocobozzz bbb3be686a
Use dns cache for requests
Prevent blocking issues in uv thread pool
2021-07-02 12:58:25 +02:00
Chocobozzz 3124b46904
Increase test timeout 2021-07-02 08:29:15 +02:00
Chocobozzz c171d85253
Fix webfinger tls only 2021-07-01 17:04:13 +02:00
Chocobozzz 06c2759338
Fix hooks definition 2021-07-01 16:47:14 +02:00
Chocobozzz 693c6586cb
Fix missing delete cascade video -> channel 2021-07-01 14:53:37 +02:00
Chocobozzz 9c2e051c56
Handle broken plugin install 2021-06-30 11:45:20 +02:00
Chocobozzz c17ee0903e
Don't check enum for video model
Licence, language and category could be extended by a remote plugin
2021-06-29 16:21:32 +02:00
Chocobozzz d4a8e7a65f Support short uuid for GET video/playlist 2021-06-29 14:56:35 +02:00
Chocobozzz 21b5c2982f
Fix ownership change with a live video 2021-06-28 11:54:40 +02:00
kontrollanten e2e0b645cd
Add video-playlist-element.created hook (#4196)
* add playlists.videos.list.params/results hooks

closes #4192

* Revert "add playlists.videos.list.params/results hooks"

This reverts commit ebd822ca0b.

* add video-playlist-element.created hook

closes #4192

* test: add playlist-element.created

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-06-28 09:22:15 +02:00
Chocobozzz 12152aa09f
Update tools dependencies 2021-06-25 17:48:27 +02:00
Chocobozzz 8cc6120118
Upgrade server dependencies 2021-06-25 17:39:27 +02:00
Chocobozzz 37a44fc915 Add ability to search playlists 2021-06-25 14:44:01 +02:00
Chocobozzz 33eb19e519
It's not the week-end yet 2021-06-17 17:25:19 +02:00
Chocobozzz e466544fb9
Fix muxing cleanup 2021-06-17 17:09:58 +02:00
Chocobozzz 52fb1d97ba
Fix prune storage tests 2021-06-17 11:09:54 +02:00
Chocobozzz 29b7426c67
Speedup CI 2021-06-17 10:43:34 +02:00
Chocobozzz 609a444202
Fix memory leak 2021-06-17 09:47:41 +02:00
Chocobozzz c6406f4750
Don't retry UpdateVideosScheduler transactions 2021-06-17 08:51:29 +02:00
Chocobozzz 8ebf2a5d5d
Refactor live manager 2021-06-17 08:47:03 +02:00
Chocobozzz fd6584844b
Resolve object id from actors too 2021-06-16 10:01:31 +02:00
Chocobozzz 82d19a2249
Upgrade tools dep 2021-06-15 16:15:44 +02:00
Chocobozzz 60520c7c85
Increase fetcher jobs concurrency 2021-06-15 15:31:08 +02:00
Chocobozzz 799ece6aae
Add ability to delete previously added constants 2021-06-15 15:18:11 +02:00
Chocobozzz 4c3e4c3d93
Fix lint 2021-06-15 14:19:30 +02:00
Chocobozzz eae0365b5c
Fix missing transactions 2021-06-15 10:40:06 +02:00
Chocobozzz e54bd458c1
Remove unnecessary await 2021-06-15 10:40:06 +02:00
Chocobozzz c4244cfde1
Increase test timeout 2021-06-15 08:21:39 +02:00
Chocobozzz 7500d6c900
Use a global request timeout 2021-06-15 08:21:31 +02:00
Chocobozzz 3d470a530c Faster ci using compiled ts files 2021-06-15 08:21:12 +02:00
Chocobozzz 79db409a41
More robust actor image lazy load 2021-06-14 16:14:45 +02:00
Chocobozzz a9fbc2aaa1
Handle short video links 2021-06-14 16:05:25 +02:00
Chocobozzz 367994c521
Improve captions AP updater 2021-06-14 13:35:52 +02:00
Chocobozzz 520bf885c5
Remove unnecessary log 2021-06-11 16:44:33 +02:00
Chocobozzz 31d5d916c3
Fix redundancy row grabbing 2021-06-11 16:31:41 +02:00
Chocobozzz 9f7657b6b6
Include transaction in video hooks 2021-06-11 16:22:54 +02:00
Chocobozzz adddb12b04
Fix video with all files query 2021-06-11 16:05:32 +02:00
Chocobozzz 668f864f5a
Fix live files include 2021-06-11 16:02:26 +02:00
Chocobozzz b8afe6f0cd
Fix video rights fetching 2021-06-11 15:53:52 +02:00
Chocobozzz 559985b51c
Also serve AP for new account/video watch pages 2021-06-11 14:50:01 +02:00
Chocobozzz 69322042c4
Cleanup video model scopes 2021-06-11 14:45:58 +02:00
Chocobozzz 7c3a6636fd
Move get* video methods to formatter 2021-06-11 14:36:07 +02:00
Chocobozzz fd6a74a835
Refactor schedule update 2021-06-11 14:33:34 +02:00
Chocobozzz 20a206c3d1
Refactor include checks 2021-06-11 14:26:37 +02:00
Chocobozzz 71d4af1efc
Use raw SQL for most of video queries 2021-06-11 14:09:52 +02:00
Chocobozzz 3c79c2ce86
Optimize join build 2021-06-11 11:27:45 +02:00
Chocobozzz 17bb45388e
Optimize rows parsing 2021-06-11 11:15:44 +02:00
Chocobozzz ca4b4b2e55
Fetch directly all video attributes for get API 2021-06-11 09:57:19 +02:00
Chocobozzz 1d43c3a613
Use separate queries for video files 2021-06-11 09:31:59 +02:00
Chocobozzz d9bf974f5d
Use raw SQL for video get request 2021-06-10 15:26:18 +02:00
Chocobozzz e5dbd5084e
Refactor video query builder 2021-06-10 09:22:58 +02:00
Chocobozzz ff0ea0cd8e
Transaction is optional 2021-06-09 17:06:56 +02:00
Chocobozzz 57a0a9cde4
Optimize AP video captions update 2021-06-09 16:22:01 +02:00
Chocobozzz 4ead40e776
Cache refresh actor promise 2021-06-09 13:34:40 +02:00
Chocobozzz a6a12dae10
Fix run committed transation 2021-06-09 13:31:22 +02:00
Chocobozzz 17b064e394
Increase permanent live test timeout 2021-06-08 18:15:25 +02:00
Chocobozzz bbfdeb3921
Fix actor image update 2021-06-08 18:12:49 +02:00
Chocobozzz 28dfb44b14
Try to speed up AP update transaction 2021-06-08 17:41:48 +02:00
Chocobozzz 75e12406e2
Increase tests timeout for plugin helpers 2021-06-08 16:52:35 +02:00
Chocobozzz 9de33c6bd9
Add logs for refresh functions 2021-06-08 16:22:23 +02:00
Chocobozzz 7ffa92d6e4
Log rate AP fetch error as info
It's not really a warning, we could have many invalid rates in the
federation
2021-06-08 13:57:08 +02:00
Chocobozzz ec908b4a07
Fix nodeinfo endpoint 2021-06-08 13:49:41 +02:00
Chocobozzz 99cb53fd5a
Don't count deleted comment for replies 2021-06-08 13:48:58 +02:00
Chocobozzz b110820dfc
Fix build 2021-06-08 13:29:59 +02:00
Chocobozzz b7c8304cfd
Fix toEven 2021-06-08 13:14:02 +02:00
Chocobozzz 318b0bd0c2
Fix "height not divisible by 2" ffmpeg error 2021-06-08 11:28:51 +02:00
Chocobozzz 765b150245
Fix lint 2021-06-08 10:19:04 +02:00
Chocobozzz a13df19d57
Increase max image/caption/torrent upload size 2021-06-08 10:01:50 +02:00
Chocobozzz ea54cd04c1
Fix video upload with a capitalized ext 2021-06-08 10:01:50 +02:00
Chocobozzz 9cc4b9c61f
Fix process delete promise return 2021-06-07 13:20:08 +02:00
Rigel Kent c756bae079
add video upload types, add doc middleware to more routes 2021-06-06 10:21:06 +02:00
Chocobozzz 91f8f8db97
createThumbnail -> updateThumbnail 2021-06-04 15:45:44 +02:00
Rigel Kent 1333ab1f2d
add operationId doc middleware to so API endpoints 2021-06-04 09:21:46 +02:00
Rigel Kent 1c627fd8d2
refactor docMiddleware to support operationId-only form 2021-06-04 09:21:46 +02:00
Chocobozzz b96d21b744
Fix CLI build 2021-06-04 08:48:05 +02:00
Chocobozzz 868fce62f8
fetch -> load
avoid confusion with AP fetch functions
2021-06-03 18:10:56 +02:00
Chocobozzz 10363c74c1
Move middleware utils in middlewares
helpers modules should not import models
2021-06-03 18:03:36 +02:00
Chocobozzz 5e08989ede
Add tags to AP rate logger 2021-06-03 17:12:38 +02:00
Chocobozzz 908e6ead78
Refactor AP video logger tags 2021-06-03 16:56:42 +02:00
Chocobozzz 136d7efde7
Refactor AP actors 2021-06-03 16:40:32 +02:00
Chocobozzz 49af5ac8c2
Refactor AP playlists 2021-06-03 16:40:32 +02:00
Chocobozzz 63da15eb18
Use random port for mock servers in tests 2021-06-03 09:06:51 +02:00
Chocobozzz e030bfb59d
Refactor server errors handler 2021-06-02 18:15:41 +02:00
Chocobozzz 463206948d
Add tags to logs in AP videos 2021-06-02 16:57:53 +02:00
Chocobozzz e872632091
Refactor sync attributes 2021-06-02 16:57:53 +02:00
Chocobozzz 304a84d59c
Refactor getOrCreateAPVideo 2021-06-02 16:57:53 +02:00
Chocobozzz c56faf0d94
Move AP video channel creation 2021-06-02 16:57:53 +02:00
Chocobozzz 08a47c75f9
Refactor AP video create/update 2021-06-02 16:57:53 +02:00
Chocobozzz 69290ab37b
Refactor AP video update 2021-06-02 16:57:53 +02:00
Rigel Kent 81628e5069 refactor error code values for URI compatibility 2021-06-02 16:57:07 +02:00
Rigel Kent 3866ea02d4 correct error codes and backward compat 2021-06-02 16:57:07 +02:00
Rigel Kent 1cfbdd30d9 refactor deprecated body-parser usage 2021-06-02 16:57:07 +02:00
Rigel Kent 76148b27f7 refactor API errors to standard error format 2021-06-02 16:57:07 +02:00
Chocobozzz d88a3ea5e3
Process redundancy stats in series 2021-06-01 11:03:52 +02:00
Chocobozzz a7944e89bc
Add expiresOn index 2021-06-01 11:03:52 +02:00
Rigel Kent 7dab0bd698
improve api param message for video names and tags
closes #4026
2021-05-31 20:47:59 +02:00
Rigel Kent 70330f6323
improve api param message for dates 2021-05-31 19:47:24 +02:00
Poslovitch 1f256e7d3c
Implemented configurable minimum signup age
Implements https://github.com/Chocobozzz/PeerTube/issues/3612

Fixed lint and removed debug

Fixed another lint error

Apply suggestions from code review

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>

Add tests for min signup age config
2021-05-28 13:56:05 +02:00
Chocobozzz 9e2e51dc0b
Add tags to live logger 2021-05-28 13:05:59 +02:00
Chocobozzz a1eda903a4
Support '/w/' and '/w/p/' for watch page
And use them as default in client
2021-05-28 11:38:08 +02:00
Chocobozzz 012580d98f
Cleanup
We must not expose private actor objects to clients
Just make 2 GET requests on channel/accounts instead
2021-05-28 10:22:50 +02:00
Chocobozzz 8f608a4cb2
Merge branch 'develop' into shorter-URLs-channels-accounts 2021-05-27 16:12:41 +02:00
Chocobozzz 2539932e16
Instance homepage support (#4007)
* Prepare homepage parsers

* Add ability to update instance hompage

* Add ability to set homepage as landing page

* Add homepage preview in admin

* Dynamically update left menu for homepage

* Inject home content in homepage

* Add videos list and channel miniature custom markup

* Remove unused elements in markup service
2021-05-27 15:59:55 +02:00
Chocobozzz 5ec3cbdf22
Merge branch 'release/3.2.0' into develop 2021-05-26 15:38:44 +02:00
Chocobozzz 6c8a99d12a
Fix lint 2021-05-26 15:38:09 +02:00
Chocobozzz 8ee37c5f38
Merge branch 'release/3.2.0' into develop 2021-05-26 13:41:15 +02:00
Chocobozzz f49b3231d0
Fix broken lives handling 2021-05-26 12:03:44 +02:00
Chocobozzz 53e7f82fe3
Fix redundancy max size 2021-05-26 09:44:16 +02:00
Chocobozzz 819b656439
Merge branch 'release/3.2.0' into develop 2021-05-25 13:14:34 +02:00
Chocobozzz fc8f15d202
Increase plugin transcoding tests timeout 2021-05-25 13:14:05 +02:00
Chocobozzz c4d125527a
Avoid error when file has no torrent file 2021-05-25 11:35:29 +02:00
Chocobozzz d61fa154af
Fix duplicate ffmpeg preset option for live 2021-05-25 11:35:29 +02:00
Chocobozzz 31a911190b
Fix broadcast message log level 2021-05-25 11:35:29 +02:00
John Livingston fa263eeff7
Fix 4106: default boolean plugin setting for frontend 2021-05-25 11:35:29 +02:00
Chocobozzz be89e66895
Avoid error when file has no torrent file 2021-05-25 11:34:43 +02:00
Chocobozzz e318e0ebe1
Fix duplicate ffmpeg preset option for live 2021-05-25 11:34:43 +02:00
Chocobozzz 008af5c9bb
Fix broadcast message log level 2021-05-25 11:34:43 +02:00
John Livingston 8bb6e70be3 Fix 4106: default boolean plugin setting for frontend 2021-05-25 11:34:22 +02:00
Chocobozzz 5b1a6d45b5
Merge branch 'release/3.2.0' into develop 2021-05-14 14:18:13 +02:00
Chocobozzz cb4bab61c1
Fix logger warning level 2021-05-14 14:17:53 +02:00
Chocobozzz aea0b0e7cd
Inject server config in HTML 2021-05-14 13:37:23 +02:00
Chocobozzz c158a5faab
Refactor a little bit controllers 2021-05-12 16:57:31 +02:00
Chocobozzz 16c016e8b1
Stricter models typing 2021-05-12 14:12:14 +02:00
Chocobozzz 32985a0a77
Error if importing a torrent with multiple files 2021-05-11 14:56:30 +02:00
Chocobozzz a3c997b34c
Update README 2021-05-11 14:23:49 +02:00
Chocobozzz 428ccb8b7a
Reorganize plugin models 2021-05-11 13:33:11 +02:00
Chocobozzz 2b02c520e6
Cleanup shared models 2021-05-11 11:32:31 +02:00
Chocobozzz 7d9ba5c089
Cleanup models directory organization 2021-05-11 11:32:31 +02:00
Chocobozzz c07902b908
Move transcoding files in their own directory 2021-05-11 11:32:31 +02:00
Chocobozzz 1bcb03a100
Use a class for youtube-dl 2021-05-11 11:32:31 +02:00
Rigel Kent b8375da931
provide more schema examples in openapi spec 2021-05-11 01:50:42 +02:00
Chocobozzz 38ce2aa7a8
Increase tests timeout 2021-05-10 17:06:53 +02:00
Chocobozzz f67d1dca1a
Fix handle downs test 2021-05-10 16:28:26 +02:00
Chocobozzz 3ec535f72b
Fix E2E tests 2021-05-10 13:58:09 +02:00
Chocobozzz 649e812947
Optimize videos feed endpoint 2021-05-10 13:56:16 +02:00
kontrollanten f6d6e7f861
Resumable video uploads (#3933)
* WIP: resumable video uploads

relates to #324

* fix review comments

* video upload: error handling

* fix audio upload

* fixes after self review

* Update server/controllers/api/videos/index.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* Update server/middlewares/validators/videos/videos.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* Update server/controllers/api/videos/index.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* update after code review

* refactor upload route

- restore multipart upload route
- move resumable to dedicated upload-resumable route
- move checks to middleware
- do not leak internal fs structure in response

* fix yarn.lock upon rebase

* factorize addVideo for reuse in both endpoints

* add resumable upload API to openapi spec

* add initial test and test helper for resumable upload

* typings for videoAddResumable middleware

* avoid including aws and google packages via node-uploadx, by only including uploadx/core

* rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio

* add video-upload-tmp-folder-cleaner job

* stronger typing of video upload middleware

* reduce dependency to @uploadx/core

* add audio upload test

* refactor resumable uploads cleanup from job to scheduler

* refactor resumable uploads scheduler to compare to last execution time

* make resumable upload validator to always cleanup on failure

* move legacy upload request building outside of uploadVideo test helper

* filter upload-resumable middlewares down to POST, PUT, DELETE

also begin to type metadata

* merge add duration functions

* stronger typings and documentation for uploadx behaviour, move init validator up

* refactor(client/video-edit): options > uploadxOptions

* refactor(client/video-edit): remove obsolete else

* scheduler/remove-dangling-resum: rename tag

* refactor(server/video): add UploadVideoFiles type

* refactor(mw/validators): restructure eslint disable

* refactor(mw/validators/videos): rename import

* refactor(client/vid-upload): rename html elem id

* refactor(sched/remove-dangl): move fn to method

* refactor(mw/async): add method typing

* refactor(mw/vali/video): double quote > single

* refactor(server/upload-resum): express use > all

* proper http methud enum server/middlewares/async.ts

* properly type http methods

* factorize common video upload validation steps

* add check for maximum partially uploaded file size

* fix audioBg use

* fix extname(filename) in addVideo

* document parameters for uploadx's resumable protocol

* clear META files in scheduler

* last audio refactor before cramming preview in the initial POST form data

* refactor as mulitpart/form-data initial post request

this allows preview/thumbnail uploads alongside the initial request,
and cleans up the upload form

* Add more tests for resumable uploads

* Refactor remove dangling resumable uploads

* Prepare changelog

* Add more resumable upload tests

* Remove user quota check for resumable uploads

* Fix upload error handler

* Update nginx template for upload-resumable

* Cleanup comment

* Remove unused express methods

* Prefer to use got instead of raw http

* Don't retry on error 500

Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-05-10 11:13:41 +02:00
Chocobozzz e024fd6a74
Update channel updatedAt when uploading a video 2021-05-10 09:38:11 +02:00
John Livingston 1e0741d165 Fix CLI plugins list command: use command parameters. 2021-05-10 08:03:20 +02:00
Chocobozzz 4076e2ef6b Increase test timeout 2021-05-07 15:42:23 +02:00
Chocobozzz 1ff9f1cda3
Fix ffmpeg version parsing 2021-05-07 14:23:43 +02:00
Chocobozzz a1bb73f9b5
Refactor a little bit live tests 2021-05-07 11:53:46 +02:00
Chocobozzz a66c2e3252
Fix remote actor creation date 2021-05-07 09:00:09 +02:00
Chocobozzz 60f1f61579
Fix ffmpeg version checker 2021-05-06 16:39:17 +02:00
kontrollanten 66f77f6343 server: fix HLS playlist format
Remove prefixed comma when there's no video codec.
2021-05-06 08:47:43 +02:00