Commit Graph

125 Commits

Author SHA1 Message Date
Chocobozzz 8ebf2a5d5d
Refactor live manager 2021-06-17 08:47:03 +02:00
Chocobozzz e030bfb59d
Refactor server errors handler 2021-06-02 18:15:41 +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 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
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 8155db669b
Dissociate frameguard from csp 2021-04-12 15:33:54 +02:00
Chocobozzz 32a18cbf33
Add new plugin/peertube version notifs 2021-03-24 18:18:41 +01:00
Chocobozzz ae71acca14
Check ffmepg version on startup 2021-03-24 18:18:40 +01:00
Chocobozzz 452b3bea08
Introduce tags to the logger
That could help to filter unneeded logs and/or select particular
components
2021-03-24 18:18:40 +01:00
Chocobozzz 90a8bd305d Dissociate video file names and video uuid 2021-02-18 13:38:09 +01:00
Chocobozzz ba5a8d89bb
Update server dependencies 2021-02-03 09:45:08 +01:00
Chocobozzz 78d62f4d18
Fix and add skipping ping log tests 2021-01-13 09:38:19 +01:00
Johan Fleury 12c1e38df2 feat: allow administrator to disable logging of ping requests 2021-01-13 09:14:43 +01:00
Chocobozzz c2b823826d
Log RTMP server error (address already in use) 2021-01-11 09:33:14 +01:00
Girish Ramakrishnan 75594f474a do not crash if SMTP server is down
just log a warning if the SMTP server is down on startup time

fixes #3457
2020-12-12 08:50:59 +01:00
Rigel Kent 6c8c15f914
disable x-powered-by even with csp disabled
follows Express and helmet recommendations
2020-12-09 04:18:48 +01:00
Rigel Kent 2d53be0267
replace numbers with typed http status codes (#3409) 2020-12-07 14:32:36 +01:00
Chocobozzz 3bc68dfd61 Fix audio sync after saving replay
hls.js seems to not correctly handle audio gaps with fragmented mp4
(but can with a ts playlist)
2020-11-09 15:33:04 +01:00
Chocobozzz c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Chocobozzz 74055dc882
Fix tests 2020-08-24 14:11:15 +02:00
Chocobozzz faa9d434b4
Update server dependencies 2020-06-17 11:42:50 +02:00
Chocobozzz 80fdaf0645
Add moderation helpers to plugins 2020-05-07 15:07:01 +02:00
Chocobozzz 005b51b977
Force node 10 usage 2020-01-28 14:03:12 +01:00
Chocobozzz 2f6b5e2d6e
Add max file size, max files and ip anonymize log options 2019-12-12 17:15:38 +01:00
Chocobozzz 2aaa1a3fdc
Use typescript paths in cli scripts too 2019-10-21 17:13:22 +02:00
Chocobozzz 464687bb96
Fix bug with tsconfig paths 2019-10-21 16:02:15 +02:00
Chocobozzz 6f1b4fa417 Add auto follow instances index support 2019-09-04 16:24:58 +02:00
Chocobozzz 8424c4026a Add auto follow back support for instances 2019-09-04 16:24:58 +02:00
Chocobozzz 557b13ae24
Lazy load avatars 2019-08-09 11:32:40 +02:00
Chocobozzz 51c3544718
Deprecate Node 8
The support ends on December 2019: https://github.com/nodejs/Release#release-schedule
2019-08-07 12:07:59 +02:00
Chocobozzz 89cd127560 Add hook filters tests 2019-07-24 10:58:16 +02:00
Chocobozzz 66e001c848 Add ability to disable plugins/themes from CLI 2019-07-24 10:58:16 +02:00
Chocobozzz e0ce715a1d Check latest plugins version 2019-07-24 10:58:16 +02:00
Chocobozzz b5f919ac8e WIP plugins: update plugin 2019-07-24 10:58:16 +02:00
Chocobozzz 7cd4d2ba10 WIP plugins: add theme support 2019-07-24 10:58:16 +02:00
Chocobozzz 8d76959e11 WIP plugins: working hook on server side 2019-07-24 10:58:16 +02:00
Chocobozzz f023a19c3e WIP plugins: install/uninstall 2019-07-24 10:58:16 +02:00
Chocobozzz 345da516fa WIP plugins: add ability to register plugins 2019-07-24 10:58:16 +02:00
Chocobozzz c1340a6ac3
Add rate limit to registration and API endpoints 2019-07-04 16:42:40 +02:00
Chocobozzz e8bafea35b
Create a dedicated table to track video thumbnails 2019-04-24 16:25:52 +02:00
Chocobozzz 1eddc9a74f
Add user adminFlags 2019-04-15 14:39:52 +02:00
Chocobozzz cda03765fe
Add ability to delete old remote views 2019-04-12 08:31:06 +02:00
Chocobozzz 8f0bc73d7d
Add ability to limit videos history size 2019-04-11 15:38:53 +02:00
Chocobozzz 74dc3bca2b
Don't expose constants directly in initializers/ 2019-04-11 14:26:41 +02:00
Chocobozzz ae9bbed46d
Update P2P media loader peer version 2019-04-08 11:16:14 +02:00
Chocobozzz d74d29ad9e
Limit user tokens cache 2019-03-19 14:30:43 +01:00
Chocobozzz 418d092afa Playlist server API 2019-03-18 11:17:59 +01:00
Chocobozzz 539d3f4faa
BREAKING: update CSP configuration
Disable it by default and add ability to specify a custom report uri
2019-02-21 16:28:53 +01:00
Chocobozzz cef534ed53 Add user notification base code 2019-01-09 11:15:15 +01:00