Commit Graph

141 Commits

Author SHA1 Message Date
Chocobozzz
9452d4fd33
/!\ Use a dedicated config file for development
It means you have to replace NODE_ENV=test to NODE_ENV=dev if you use it
npm run dev:* commands are already updated
2022-07-06 16:12:17 +02:00
Chocobozzz
630d0a1bf5
Introduce experimental telemetry 2022-07-06 15:13:55 +02:00
Chocobozzz
38f57175e7
Update tsconfig 2022-06-03 16:17:28 +02:00
Chocobozzz
b211106695 Support video views/viewers stats in server
* Add "currentTime" and "event" body params to view endpoint
 * Merge watching and view endpoints
 * Introduce WatchAction AP activity
 * Add tables to store viewer information of local videos
 * Add endpoints to fetch video views/viewers stats of local videos
 * Refactor views/viewers handlers
 * Support "views" and "viewers" counters for both VOD and live videos
2022-04-15 09:49:35 +02:00
Chocobozzz
c729caf6cc Add basic video editor support 2022-02-28 10:42:19 +01:00
Chocobozzz
f8360396ff
Stop using tsconfig register
Prefer to replace paths at compile time
2022-01-06 08:26:14 +01:00
Chocobozzz
9270bd3a7e
Migrate to --enable-source-maps option 2022-01-03 16:37:16 +01:00
Chocobozzz
5a63748877
Node 10 is not supported anymore 2021-12-24 13:43:59 +01:00
Chocobozzz
a9cd881bf8
Add benchmark startup option for server 2021-11-12 11:08:30 +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
df1db951c5
Support RTMPS 2021-11-05 11:38:17 +01:00
Chocobozzz
41fb13c330
esModuleInterop to true 2021-08-27 15:12:22 +02:00
Chocobozzz
e19fdf5775
Register plugins when peertube server is ready 2021-07-21 15:56:49 +02:00
Chocobozzz
c0e8b12e7f
Refactor requests 2021-07-20 15:27:18 +02:00
Johan Fleury
943dc18254 Trim access log messages to prevent double line break 2021-07-12 15:40:27 +02:00
Chocobozzz
8cc6120118
Upgrade server dependencies 2021-06-25 17:39:27 +02:00
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