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
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
Chocobozzz
4b91bc1525
Reduce pending job waiting
2021-05-07 15:42:23 +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
7a22a0a56a
Add ability to search live videos
2021-05-05 12:10:00 +02:00
Kimsible
08ac081b37
Add test for API actors route
2021-05-05 11:47:03 +02:00
Chocobozzz
1fd61899ea
Add ability to filter my videos by live
2021-05-03 16:42:15 +02:00
Chocobozzz
0f31933406
Add ability to hide plugin form fields
2021-04-22 14:35:49 +02:00
Chocobozzz
87e0b71d36
Add go-live example for plugin form fields
2021-04-22 12:00:23 +02:00
Chocobozzz
0ea9f463a9
Add action:admin-plugin-settings.init client hook
2021-04-22 11:18:13 +02:00
Chocobozzz
67baf6478a
Allow plugins to set short translation locale
2021-04-20 16:14:09 +02:00
Chocobozzz
24a792404c
Support async onSettingsChange
2021-04-20 16:02:15 +02:00
Chocobozzz
f650072985
More robust tests
2021-04-15 13:52:27 +02:00
Chocobozzz
5b23d4e0f8
Increase ffmpeg error test timeout
2021-04-15 10:47:58 +02:00
Chocobozzz
1a578165f9
Fix lint
2021-04-12 17:00:21 +02:00
Chocobozzz
62bc0352d9
Add plugin placeholder elements support
2021-04-12 11:19:15 +02:00
Rigel Kent
fe19f600da
add channel and playlist stats to server stats endpoint ( #3747 )
...
* add channel and playlist stats to nodeinfo
* add tests for active video channels stats
* fix tests for active channel stats
2021-04-12 11:19:07 +02:00
Chocobozzz
3e03b961b8
Add ability for plugins to specify scale filter
2021-04-09 15:53:18 +02:00
Théo Le Calvar
43f7a43ca4
add option for transcode plugins to add video filters and make all options optional
2021-04-09 15:53:18 +02:00
Théo Le Calvar
5fb7cfbac5
add support for inputOptions in trancode plugins
2021-04-09 15:53:18 +02:00
Chocobozzz
d2466f0ac9
Update plugins doc
2021-04-09 15:21:06 +02:00
Chocobozzz
3c47fa3bc0
Add ability to hide plugin settings
2021-04-09 13:50:31 +02:00
Chocobozzz
32d13b203b
Plugins can register html/select settings
2021-04-09 11:19:14 +02:00
Chocobozzz
84531547bc
Add size info in db for actor images
2021-04-08 13:38:04 +02:00
Chocobozzz
cdeddff142
Add ability to update the banner
2021-04-08 10:07:53 +02:00
Chocobozzz
213e30ef90
Add banner tests
2021-04-08 10:07:53 +02:00
Chocobozzz
2cb03dc1f4
Add banners support
2021-04-08 10:07:53 +02:00
Chocobozzz
f479685678
Agnostic actor image storage
2021-04-08 10:07:53 +02:00
Thavarasa Prasanth
4097c6d66c
fix missing title attribute on <iframe> tag suggested for embedding ( #3901 )
...
* title attribute is missing on <iframe> tag suggested for embedding #3861
* fix #3901
* fix: escapeHTML #3901
* fix: playlist title instead of video title #3901
* fix #3901
* assign title directly #3901
2021-03-31 08:32:05 +02:00
Chocobozzz
faeec106ef
Add auth user client hook actions
2021-03-24 18:18:41 +01:00
Chocobozzz
2e257e36b7
Add client action hooks for pubish pages
2021-03-24 18:18:41 +01:00
Chocobozzz
74a4d53110
Add server hooks for search endpoint
2021-03-24 18:18:41 +01:00
Chocobozzz
eebd9838f0
Add filter hook to forbid embed access
2021-03-24 18:18:41 +01:00
Chocobozzz
4bc45da342
Add hooks support for video download
2021-03-24 18:18:41 +01:00
Chocobozzz
f43db2f46e
Refactor auth flow
...
Reimplement some node-oauth2-server methods to remove hacky code needed by our external
login workflow
2021-03-24 18:18:41 +01:00
Chocobozzz
cae2df6bdc
Stricter email options typings
2021-03-24 18:18:41 +01:00
Chocobozzz
32a18cbf33
Add new plugin/peertube version notifs
2021-03-24 18:18:41 +01:00
Chocobozzz
829523cfa5
Reduce bundle size using a const enum
2021-03-24 18:18:40 +01:00
Chocobozzz
e7053b1d9d
Fix AP security tests
2021-03-24 18:18:40 +01:00
Chocobozzz
db4b15f21f
Use got instead of request
2021-03-24 18:18:40 +01:00
Chocobozzz
f45aa01a1b
Support sq
2021-03-09 11:34:46 +01:00
Chocobozzz
74d249bc13
Add ability to cleanup remote AP interactions
2021-03-03 10:08:08 +01:00
Chocobozzz
8795d6f254
Fix broken local actors
...
Some channels can't federate because they don't have public/private
keys, maybe because the generation failed for various reasons
2021-02-26 14:22:25 +01:00
Chocobozzz
543442a3be
Add more AP stats to stats endpoint
...
It will help to understand if the federation correctly works or not
2021-02-26 10:28:11 +01:00
Chocobozzz
d61893f723
Async torrent creation
2021-02-25 15:01:07 +01:00
Chocobozzz
94d721efdc
Fix stats tests
2021-02-19 16:29:00 +01:00
Chocobozzz
9d6b9d10ef
Fix video comments display with deleted comments
2021-02-19 10:06:52 +01:00
Chocobozzz
fae6e4da8f
Try to speed up server tests
2021-02-19 09:36:50 +01:00
Chocobozzz
f66db4d5c8
Fix feeds
2021-02-18 13:38:09 +01:00
Chocobozzz
b3d5cb92b1
Add ability to update torrents cache in client
2021-02-18 13:38:09 +01:00
Chocobozzz
d9a2a03196
Don't guess remote tracker URL
2021-02-18 13:38:09 +01:00
Chocobozzz
90a8bd305d
Dissociate video file names and video uuid
2021-02-18 13:38:09 +01:00
Chocobozzz
a35a22797c
Remove previous thumbnail if needed
2021-02-16 10:36:44 +01:00
Chocobozzz
6302d599cd
Generate a name for caption files
2021-02-16 10:36:44 +01:00
Chocobozzz
e3b4c084cd
Guess if we need to generate the thumbnail for imports
2021-02-12 09:37:01 +01:00
Chocobozzz
44d1f7f2e8
Painfully debug concurrent import jobs
2021-02-09 11:46:30 +01:00
Chocobozzz
9129b7694d
Allow to specify transcoding and import jobs concurrency
2021-02-08 15:38:45 +01:00
Rigel Kent
3d4e112d16
add best trending strategy based on Reddit's best
...
inspired from https://www.reddit.com/r/changelog/comments/7spgg0/best_is_the_new_hotness/
this implementation only adds freshness, and doesn't personalize based
on subscribed communities yet.
2021-02-04 09:04:47 +01:00
Chocobozzz
ba5a8d89bb
Update server dependencies
2021-02-03 09:45:08 +01:00
Chocobozzz
d1a2ce5ef3
Fix tmp tests
2021-02-02 13:45:58 +01:00
Chocobozzz
6d989edc66
Add ability to update plugin auth
2021-02-01 15:39:13 +01:00
Chocobozzz
7448551fe5
Fix redundancy with HLS only files
2021-02-01 11:23:12 +01:00
Chocobozzz
a8537c622e
Use veryfast preset for default transcoding profile
2021-01-29 15:31:31 +01:00
Chocobozzz
789951460b
Try to support other codecs
2021-01-29 14:05:41 +01:00
Chocobozzz
2498aaead1
Add plugin transcoding profile guide
2021-01-29 14:05:41 +01:00
Chocobozzz
1896bca09e
Support transcoding options/encoders by plugins
2021-01-28 15:55:39 +01:00
Rigel Kent
ba5d4a849c
move from trending routes to alg param
2021-01-28 15:55:34 +01:00
Rigel Kent
3da68f0a78
add default trending page choice, revert comments count for hot strategy
2021-01-28 15:55:34 +01:00
Rigel Kent
5bcbcbe338
modularize abstract video list header and implement video hotness recommendation variant
2021-01-28 15:55:34 +01:00
Chocobozzz
77d7e851dc
Add priority to transcoding jobs
...
(1 = highest priority)
100 for new resolutions
10 for original file optimization
Add a malus for transcoding jobs depending on how many uploads the user did in the
last 7 days
2021-01-25 14:38:52 +01:00
Chocobozzz
24516aa26a
Refactor transcoding job handlers
2021-01-21 15:58:17 +01:00
Chocobozzz
3b01f4c0ac
Support progress for ffmpeg tasks
2021-01-21 14:42:43 +01:00
Chocobozzz
a4d2ca0715
Add user video list hooks
2021-01-20 15:28:34 +01:00
Chocobozzz
805b8619c1
Fix (again) youtube import
2021-01-19 16:36:21 +01:00
Rigel Kent
370240824e
Allow users/visitors to search through an account's videos ( #3589 )
...
* WIP: account search
* add search to account view
* add tests for account search
2021-01-19 13:43:33 +01:00
Rigel Kent
454c20fa7c
stricter youtubedl format selectors ( #3516 )
...
* stricter youtubedl format selectors
make sure selectors avoid av1, and otherwise match as closely to the
maximum resolution enabled for transcoding
* add support for merge formats in youtubedl
* avoid vp9.2 in youtubedl to avoid any HDR
* move getEnabledResolutions, safer replace of imported extension
* add test for youtube-dl selectors
2021-01-15 15:56:56 +01:00
Chocobozzz
78d62f4d18
Fix and add skipping ping log tests
2021-01-13 09:38:19 +01:00
Rigel Kent
d8b34ee55b
Allow user to search through their watch history ( #3576 )
...
* allow user to search through their watch history
* add tests for search in watch history
* Update client/src/app/shared/shared-main/users/user-history.service.ts
2021-01-13 09:16:15 +01:00
Rigel Kent
b7085c7132
add support for 1440p (Quad HD/QHD/WQHD) videos
2021-01-13 09:14:09 +01:00
Chocobozzz
fcb7712228
Fix tests
2021-01-11 10:33:29 +01:00
Chocobozzz
4f20856ed4
Add more hints regarding live port
2021-01-11 09:20:44 +01:00
Chocobozzz
c7444546e7
Add gl support
2020-12-16 11:45:12 +01:00
Chocobozzz
99afa081bc
Add AP stats
2020-12-15 13:34:58 +01:00
Chocobozzz
c9bc850e93
Use -1 for max live duration unlimited
2020-12-15 09:26:37 +01:00
Chocobozzz
402145b863
Refactor jobs state
2020-12-14 12:00:35 +01:00
Chocobozzz
c04816108e
Prepare changelog v3
2020-12-14 11:27:56 +01:00
Chocobozzz
59fd824cf3
Fix tests timeout
2020-12-14 09:11:27 +01:00
Chocobozzz
34caef7fc0
Add joblog at the end of ci
2020-12-14 09:11:27 +01:00
Chocobozzz
83ef31fe10
Save logs on ci failure
2020-12-14 09:11:27 +01:00
Chocobozzz
a800dbf345
Live views update
2020-12-09 16:31:42 +01:00
Chocobozzz
0d8de2756f
Fix live tests
2020-12-09 14:45:47 +01:00
Rigel Kent
f2eb23cd87
emit more specific status codes on video upload ( #3423 )
...
- reduce http status codes list to potentially useful codes
- convert more codes to typed ones
- factorize html generator for error responses
2020-12-08 21:16:10 +01:00
Chocobozzz
a59f210ff3
Refactor a little bit client canonical URL
2020-12-08 11:15:11 +01:00
Chocobozzz
38267c0c8a
Use dedicated hooks for account/channel videos
2020-12-08 10:33:23 +01:00
Rigel Kent
2d53be0267
replace numbers with typed http status codes ( #3409 )
2020-12-07 14:32:36 +01:00
Chocobozzz
bb4ba6d94c
Add permanent live support
2020-12-03 15:21:16 +01:00
Rigel Kent
19b7ebfaa8
refactor 404 page
2020-12-03 14:55:47 +01:00
Chocobozzz
5bfc33b6f1
Fix lint
2020-12-03 10:39:43 +01:00
Rigel Kent
d4132d3f56
more explicit error messages for file uploads
2020-12-03 10:15:49 +01:00
Chocobozzz
9e3e4adc65
Add logs to fixture generations
2020-12-01 15:04:38 +01:00
Chocobozzz
bd2e2f11d0
Add inspect to test script
2020-11-30 15:06:25 +01:00
madmath03
972de8f111
✨ Add input-password #3375
2020-11-30 14:49:44 +01:00
Chocobozzz
353f8bc0c7
Add registered setting CLI plugin install test
2020-11-27 11:41:38 +01:00
Chocobozzz
0e856b78e9
Try to fix live test
2020-11-26 15:16:30 +01:00
Chocobozzz
884d2c39ae
Fix live FPS limit
2020-11-26 11:30:18 +01:00
Chocobozzz
18490b0765
Fix migration and test
2020-11-25 11:07:56 +01:00
Rigel Kent
5beb89f223
refactor scoped token service
2020-11-25 11:07:56 +01:00
Rigel Kent
afff310e50
allow private syndication feeds via a user feedToken
2020-11-25 11:07:56 +01:00
Chocobozzz
6b67897e2e
Add transcoding module comments
2020-11-25 10:07:51 +01:00
Chocobozzz
ca5c612bfd
Add live transcoding bit rate tests
2020-11-25 10:07:51 +01:00
Chocobozzz
5a547f69d5
Support encoding profiles
2020-11-25 10:07:51 +01:00
Chocobozzz
d218e7de94
Do not transcode to an higher bitrate
...
Thanks bkil https://github.com/bkil
2020-11-20 15:11:31 +01:00
Chocobozzz
fce7fe04ee
Update server dependencies
2020-11-19 09:07:20 +01:00
Chocobozzz
0aa52e1707
Add ability to display all channel/account videos
2020-11-18 15:29:38 +01:00
Chocobozzz
3e8584b99a
Fix live tests
2020-11-17 16:14:11 +01:00
Chocobozzz
47dc5db9c3
Fix client build
2020-11-17 14:52:57 +01:00
Chocobozzz
9ff36c2d70
Refactor markdown/sanitize html code
2020-11-17 14:34:09 +01:00
Chocobozzz
f127331459
Add admin view to manage comments
2020-11-16 13:48:58 +01:00
Chocobozzz
0f8d00e314
Implement video comment list in admin
2020-11-13 16:38:23 +01:00
Chocobozzz
5c0904fc66
Cleanup lives on server restart
2020-11-13 14:36:30 +01:00
Chocobozzz
2a9562fc58
Increase tests waits
2020-11-12 16:29:32 +01:00
Chocobozzz
7a4ea93246
Remove deprecated abuse api
2020-11-10 14:50:16 +01:00
Chocobozzz
c655c9ef6f
Update ffmpeg static version for tests
2020-11-09 15:33:04 +01:00
Chocobozzz
3cabf3532b
Add live server hooks
2020-11-09 15:33:04 +01:00
Chocobozzz
bd54ad1953
Add live notification tests
2020-11-09 15:33:04 +01:00
Chocobozzz
68e70a745b
Add save replay live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
97969c4edf
Add check constraints live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
af4ae64f6f
Begin live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
77e9f859c6
Add check params live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
a056ca4813
Add max lives limit
2020-11-09 15:33:04 +01:00
Chocobozzz
b5b687550d
Add ability to save live replay
2020-11-09 15:33:04 +01:00
Chocobozzz
fb7194043d
Check live duration and size
2020-11-09 15:33:04 +01:00
Chocobozzz
a5cf76afa3
Add watch messages if live has not started
2020-11-09 15:33:04 +01:00
Chocobozzz
de6310b2fc
Handle live federation
2020-11-09 15:33:04 +01:00
Chocobozzz
c6c0fa6cd8
Live streaming implementation first step
2020-11-09 15:33:04 +01:00
Chocobozzz
b2c76204f9
Fix VideoStreamingPlaylist model
2020-08-27 10:08:54 +02:00
Chocobozzz
0fecf427d3
Don't use @shared in models
...
So other projects can use them
2020-08-27 09:58:27 +02:00
Chocobozzz
e6abf95e9f
Add redirection on unavailable video due to follow constraints
2020-08-26 09:14:14 +02:00
Chocobozzz
07491f4b98
Add fixtures cache to github actions
2020-08-24 18:54:37 +02:00
Chocobozzz
ee90f1bc19
Remove unused gitlab ci env variables
2020-08-24 18:54:37 +02:00
Chocobozzz
781ba98126
Add ability to set a description to dynamic fields
2020-08-21 15:39:51 +02:00
Chocobozzz
7294aab0c8
Add ability to set custom field to video form
2020-08-21 15:39:51 +02:00
Chocobozzz
f95628636b
Support plugin hooks in embed
2020-08-20 14:23:57 +02:00
Rigel Kent
02c01341f4
add ng-select for templatable select options
...
- create select-tags component to replace ngx-chips
- create select-options to factorize option selection in forms
- create select-channel to simplify channel selection
- refactor tags validation
2020-08-11 09:03:39 +02:00
kimsible
69db147043
Make channelName optionnal only for the API
2020-08-11 08:46:35 +02:00
kimsible
3d215dc5f9
Add channelName to user-create server-side and models
2020-08-11 08:46:35 +02:00
Chocobozzz
951b582f52
Add ability to share playlists in modal
2020-08-07 13:43:48 +02:00