Commit Graph

4210 Commits

Author SHA1 Message Date
Chocobozzz 3ec535f72b
Fix E2E tests 2021-05-10 13:58:09 +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 dc2b2938c2
Sort channels by -updatedAt 2021-05-10 09:38:11 +02:00
Chocobozzz 4076e2ef6b Increase test timeout 2021-05-07 15:42:23 +02:00
Chocobozzz ce4b4495ff
Refactor video edit css 2021-05-07 14:08:35 +02:00
Chocobozzz bc4c9cc1d7
Fix mask-image property
Needed by chrome
2021-05-07 11:26:09 +02:00
Chocobozzz 7a22a0a56a
Add ability to search live videos 2021-05-05 12:10:00 +02:00
Chocobozzz fee7bbc3c7
Update translations 2021-05-05 10:56:15 +02:00
Chocobozzz c7027c06e9
Merge remote-tracking branch 'weblate/develop' into develop 2021-05-05 10:53:52 +02:00
Slimane Selyan AMIRI b671723759 Translated using Weblate (Kabyle)
Currently translated at 99.9% (1851 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/kab/
2021-05-05 10:53:47 +02:00
Chocobozzz c27463a603
Merge remote-tracking branch 'weblate/develop' into develop 2021-05-05 10:53:21 +02:00
Chocobozzz 36d9a79f7b
Fix player settings dispose 2021-05-05 10:09:32 +02:00
Chocobozzz 936441b9ed
Fix non logged add comment avatar 2021-05-05 09:52:33 +02:00
Chocobozzz 06ec4bdd15
Fix miniature avatar size 2021-05-05 09:44:24 +02:00
Chocobozzz 494e60804d
Fix E2E tests 2021-05-05 09:05:46 +02:00
Duy 7843389a37 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (1852 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/vi/
2021-05-04 21:12:00 +02:00
Александр 92c51a2d45 Translated using Weblate (Russian)
Currently translated at 99.7% (1848 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/ru/
2021-05-04 21:11:57 +02:00
Laurent Ettouati 032790f598 Translated using Weblate (French (France) (fr_FR))
Currently translated at 99.0% (1834 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/fr_FR/
2021-05-04 21:11:56 +02:00
Rigel Kent b76db2ffb4
round volume in stats card 2021-05-04 13:21:51 +02:00
Chocobozzz f676e0e321
More efficient advanced input filter 2021-05-03 16:42:15 +02:00
Chocobozzz 1a7d0887b6
Refactor parseQueryStringFilter boolean handler 2021-05-03 16:42:15 +02:00
Chocobozzz 1de8740195
Display a message on no channel 2021-05-03 16:42:15 +02:00
Chocobozzz 2e46eb9715
Refactor search filters 2021-05-03 16:42:15 +02:00
Chocobozzz 514e8168fb
Reduce advanced search input debounce time 2021-05-03 16:42:15 +02:00
Chocobozzz 12e4154917
Fix avatar in report page 2021-05-03 16:42:15 +02:00
Chocobozzz 1fd61899ea
Add ability to filter my videos by live 2021-05-03 16:42:15 +02:00
Eivind Ødegård 5694f02e7a Translated using Weblate (Norwegian Nynorsk)
Currently translated at 1.1% (21 of 1849 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/nn/
2021-05-01 06:04:39 +02:00
Laurent Ettouati fb8b2074a0 Translated using Weblate (French)
Currently translated at 100.0% (1765 of 1765 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/fr/
2021-05-01 06:04:38 +02:00
Racida S 0c1b0a2b74 Translated using Weblate (Kabyle)
Currently translated at 99.9% (1851 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/kab/
2021-05-01 06:04:38 +02:00
Jeff Huang dbe8d65a6b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1852 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/zh_Hant/
2021-05-01 06:04:37 +02:00
Duy adcf95ae91 Translated using Weblate (Vietnamese)
Currently translated at 86.8% (1609 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/vi/
2021-05-01 06:04:37 +02:00
Filip Bengtsson 06af072d2d Translated using Weblate (Swedish)
Currently translated at 99.7% (1848 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sv/
2021-05-01 06:04:33 +02:00
Александр c864e915b8 Translated using Weblate (Russian)
Currently translated at 99.7% (1848 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/ru/
2021-05-01 06:04:33 +02:00
josé m d81c30ab69 Translated using Weblate (Galician)
Currently translated at 100.0% (1852 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/gl/
2021-05-01 06:04:32 +02:00
Berto Te 86b97c21d0 Translated using Weblate (Spanish)
Currently translated at 100.0% (1852 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/es/
2021-05-01 06:04:32 +02:00
Simon Brosdetzko 21b4b4c844 Translated using Weblate (German)
Currently translated at 100.0% (1852 of 1852 strings)

Translation: PeerTube/angular
Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/de/
2021-05-01 06:04:31 +02:00
Chocobozzz faf7eab7d9
Cleanup plugins admin CSS 2021-04-29 09:50:31 +02:00
Chocobozzz f6e98f0a4e
Fix avatar size in moderation tables 2021-04-29 09:32:08 +02:00
Chocobozzz cd262619ab
Fix my library/account/admin sub titles alignment 2021-04-29 09:29:00 +02:00
Chocobozzz 8b5c8cd1e5
Fix actor avatar background 2021-04-29 09:10:57 +02:00
Chocobozzz 931d343018
Move to stylelint 2021-04-28 17:53:57 +02:00
Chocobozzz 7d026caf68
Remove avatarUrl from models 2021-04-28 15:59:46 +02:00
Chocobozzz 746018f6b8
Refactor actor avatar display 2021-04-28 11:49:34 +02:00
Chocobozzz ec489ce2f7
Rename actor image edit module 2021-04-28 09:45:49 +02:00
Chocobozzz dbef40433f
Better video languages filter UX
Don't throw if the user did not select any language, automatically
select "all languages" instead
2021-04-28 09:41:50 +02:00
Chocobozzz 9e1409713d
Fix overview page with new thumbnail size 2021-04-28 09:18:02 +02:00
Chocobozzz a45050e09e
Add player mode to player stats 2021-04-28 09:07:57 +02:00
Chocobozzz 2d6f28a2d9
Clearer nsfw "do not list" label 2021-04-28 09:05:53 +02:00
Chocobozzz 4e11d8f3ca Cleanup stats for nerds 2021-04-28 09:05:44 +02:00
Rigel Kent ff563914bb add stats videojs plugin 2021-04-28 09:05:44 +02:00