Skip to content
  • kontrollanten's avatar
    Resumable video uploads (#3933) · f6d6e7f8
    kontrollanten authored
    
    
    * 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: default avatarRigel Kent <par@rigelk.eu>
    
    * Update server/middlewares/validators/videos/videos.ts
    
    Co-authored-by: default avatarRigel Kent <par@rigelk.eu>
    
    * Update server/controllers/api/videos/index.ts
    
    Co-authored-by: default avatarRigel 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: default avatarRigel Kent <par@rigelk.eu>
    Co-authored-by: default avatarRigel Kent <sendmemail@rigelk.eu>
    Co-authored-by: default avatarChocobozzz <me@florianbigard.com>
    f6d6e7f8
Analyzing file…