Commit Graph

963 Commits

Author SHA1 Message Date
Chocobozzz 61cbafc1f8
Improve channel card custom markup 2021-06-09 10:31:27 +02:00
Chocobozzz 9105634f16
Add more filters for video miniatures 2021-06-09 09:32:47 +02:00
Chocobozzz f7894f0964
Create peertube-container html tag 2021-06-09 09:19:36 +02:00
Chocobozzz ea54cd04c1
Fix video upload with a capitalized ext 2021-06-08 10:01:50 +02:00
Chocobozzz 8beea2d37d
Add ability to filter menu links 2021-06-07 13:20:08 +02:00
Rigel Kent c756bae079
add video upload types, add doc middleware to more routes 2021-06-06 10:21:06 +02:00
Chocobozzz 49af5ac8c2
Refactor AP playlists 2021-06-03 16:40:32 +02:00
Chocobozzz 63da15eb18
Use random port for mock servers in tests 2021-06-03 09:06:51 +02:00
Chocobozzz 38c5c166f4
Fix lint 2021-06-03 08:58:10 +02:00
Chocobozzz e030bfb59d
Refactor server errors handler 2021-06-02 18:15:41 +02:00
Chocobozzz 08a47c75f9
Refactor AP video create/update 2021-06-02 16:57:53 +02:00
Rigel Kent 81628e5069 refactor error code values for URI compatibility 2021-06-02 16:57:07 +02:00
Rigel Kent 3866ea02d4 correct error codes and backward compat 2021-06-02 16:57:07 +02:00
Chocobozzz 6304213923
Support peertube button in custom markup 2021-05-28 15:23:17 +02:00
Chocobozzz 0fc9843215
Fix comment notification test 2021-05-28 14:29:09 +02:00
Poslovitch 1f256e7d3c
Implemented configurable minimum signup age
Implements https://github.com/Chocobozzz/PeerTube/issues/3612

Fixed lint and removed debug

Fixed another lint error

Apply suggestions from code review

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>

Add tests for min signup age config
2021-05-28 13:56:05 +02:00
Chocobozzz 012580d98f
Cleanup
We must not expose private actor objects to clients
Just make 2 GET requests on channel/accounts instead
2021-05-28 10:22:50 +02:00
Chocobozzz 8f608a4cb2
Merge branch 'develop' into shorter-URLs-channels-accounts 2021-05-27 16:12:41 +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
Chocobozzz aea0b0e7cd
Inject server config in HTML 2021-05-14 13:37:23 +02:00
Chocobozzz 16c016e8b1
Stricter models typing 2021-05-12 14:12:14 +02:00
Chocobozzz 32985a0a77
Error if importing a torrent with multiple files 2021-05-11 14:56:30 +02:00
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
Chocobozzz bd45d503e5 Reorganize shared models 2020-08-07 08:28:14 +02:00
Chocobozzz 583eb04b54 Upgrade to angular 10 2020-08-07 08:28:14 +02:00
Chocobozzz 594d3e48d8 Add abuse messages/states notifications 2020-07-31 11:35:19 +02:00
Chocobozzz 94148c9028 Add abuse messages management in my account 2020-07-31 11:35:19 +02:00
Chocobozzz 441e453ae5 Add abuse message management in admin 2020-07-31 11:35:19 +02:00
Chocobozzz edbc932546 Add server API to abuse messages 2020-07-31 11:35:19 +02:00
Chocobozzz f4659d73fb Don't run in parallel cli and plugin tests 2020-07-31 11:32:04 +02:00
Chocobozzz b488ba1e26 Don't rely on youtube for tests
Use another import URL when possible, and disable import tests when we
want to do a youtube import test
2020-07-31 11:32:04 +02:00
Rigel Kent 7b3909644d test search for subscriptions and video-channels 2020-07-29 18:15:53 +02:00
Chocobozzz cfde28bac3 Add ability to report account 2020-07-10 14:02:41 +02:00
Chocobozzz 8ca56654a1 Add ability to report comments in front end 2020-07-10 14:02:41 +02:00
Chocobozzz 310b5219b3 Add new abuses tests 2020-07-10 14:02:41 +02:00
Chocobozzz 811cef146c Use raw sql for abuses 2020-07-10 14:02:41 +02:00
Chocobozzz 4f32032fed Add migrations 2020-07-10 14:02:41 +02:00
Chocobozzz 57f6896f67 Implement abuses check params 2020-07-10 14:02:41 +02:00
Chocobozzz d95d155988 Use 3 tables to represent abuses 2020-07-10 14:02:41 +02:00
Rigel Kent 8491293b02
add blocked filter in users list to filter banned users
fixes #2914
2020-07-02 22:50:33 +02:00
Chocobozzz 1e904cde34
Fix users tests 2020-07-02 14:23:50 +02:00
Chocobozzz d10538b47d
ar to ar-001 locale 2020-07-02 14:08:02 +02:00
Rigel Kent b8b3abac6a
fix change ownership typing 2020-06-28 22:45:27 +02:00
Rigel Kent 00494d6e2a
allow limiting video-comments rss feeds to an account or video channel 2020-06-27 13:20:59 +02:00
Chocobozzz 7820a54e5e
Close mock blocklit server when tests end 2020-06-26 14:51:01 +02:00
Chocobozzz 1942f11d5e Lazy load all routes 2020-06-23 16:00:49 +02:00
Chocobozzz 67ed6552b8 Reorganize client shared modules 2020-06-23 16:00:49 +02:00
Rigel Kent 1ebddadd07
predefined report reasons & improved reporter UI (#2842)
- added `startAt` and `endAt` optional timestamps to help pin down reported sections of a video
- added predefined report reasons
- added video player with report modal
2020-06-22 13:00:39 +02:00
Chocobozzz 26d6bf6533
Split types and typings 2020-06-18 10:46:27 +02:00
Chocobozzz faa9d434b4
Update server dependencies 2020-06-17 11:42:50 +02:00
Chocobozzz 49919ca16b
More robust max bitrate calculation 2020-06-17 09:22:56 +02:00
Chocobozzz 8eb07b0130
Split notification tests 2020-06-16 15:55:42 +02:00
Chocobozzz 1ba471c55f
Add videos count in channels list 2020-06-16 14:13:01 +02:00
Rigel Kent 3487330d30
preserve original variable names server-side 2020-06-10 21:12:09 +02:00
Rigel Kent 5baee5fca4
rename blacklist to block/blocklist, merge block and auto-block views
- also replace whitelist with allowlist
- add advanced filters for video-block-list view
- move icons in video-block-list and video-abuse-list to left side
for visibility
- add robot icon to depict automated nature of a block in
video-block-list

resolves #2790
2020-06-10 21:12:05 +02:00
Chocobozzz 3521ab8fc0 Add search index tests 2020-06-10 14:02:41 +02:00
Chocobozzz 3b0bd70aa0 Add search target check params 2020-06-10 14:02:41 +02:00
Chocobozzz 5fb2e2888c First implem global search 2020-06-10 14:02:41 +02:00
Rigel Kent e6dfa58689 space optimizations for `node_modules` and client stats removal
- replace sharp with lighter jimp alternative
- remove stats in builds

fixes #2807
2020-06-10 14:01:49 +02:00
Chocobozzz 0bd558a0f9
Add kab and vi locales 2020-06-04 14:45:19 +02:00
Chocobozzz 520745bfe8
Add ar-001 locale 2020-06-04 10:35:08 +02:00
Chocobozzz 2a39506c7d
Revert "Remove oc locale support"
This reverts commit 8323c435c1.
2020-05-29 17:09:55 +02:00
Chocobozzz 696d83fd13 Block comments from muted accounts/servers
Add better control for users of comments displayed on their videos:

 * Do not forward comments from muted remote accounts/servers (muted by the current server or by the video owner)
 * Do not list threads and hide replies (with their children) of accounts/servers muted by the video owner
 * Hide from RSS comments of muted accounts/servers by video owners

Use case:
  * Try to limit spam propagation in the federation
  * Add ability for users to automatically hide comments on their videos from undesirable accounts/servers (the comment section belongs to videomakers, so they choose what's posted there)
2020-05-29 09:32:20 +02:00
Chocobozzz 72c33e716f Support broadcast messages 2020-05-29 09:32:12 +02:00
Chocobozzz 923ff87da2 Add bulk comment actions on account dropdown 2020-05-29 09:21:26 +02:00
Chocobozzz 444c0a0e01 Add ability to bulk delete comments 2020-05-29 09:21:26 +02:00
Chocobozzz 9a7fd9600b
Fix external auth email/password update
Also check if an actor does not already exist when creating the user
2020-05-20 10:17:27 +02:00
Rigel Kent 2158ac9034
Add server plugin filter hooks for import with torrent and url (#2621)
* Add server plugin filter hooks for import with torrent and url

* WIP: pre and post-import filter hooks

* Rebased

* Cleanup filters to accept imports

Co-authored-by: Chocobozzz <me@florianbigard.com>
2020-05-14 11:10:26 +02:00
Chocobozzz a06581f296
Fix tests 2020-05-13 11:57:34 +02:00
Chocobozzz 2ca154da93
Fix auto follow index URL 2020-05-12 09:37:39 +02:00
Rigel Kent df4c603dea Switch emails to pug templates and provide richer html/text-only versions 2020-05-08 15:31:51 +02:00
Chocobozzz 91b8e675e2
Improve auto mute tests 2020-05-07 17:08:16 +02:00
Chocobozzz 8bff1fe009
Add auto mute plugin tests 2020-05-07 16:34:09 +02:00
Chocobozzz 3cc665f48f
Add last login date to users 2020-05-07 10:39:09 +02:00
Chocobozzz feb34f6b6b Use video abuse filters on client side 2020-05-07 08:33:34 +02:00
Chocobozzz f375bb3db4
Add ability to override login signup message 2020-05-06 14:03:23 +02:00
Chocobozzz 8bb71f2e33
Add auth plugin info in users list 2020-05-05 13:54:30 +02:00
Chocobozzz a5896799f1 Add plugin settings change watcher 2020-05-04 16:21:39 +02:00
Chocobozzz ebefc902f5 Add external login buttons 2020-05-04 16:21:39 +02:00
Chocobozzz 9107d791e2 Add external login tests 2020-05-04 16:21:39 +02:00
Chocobozzz 4a8d113b9b Begin support for external auths 2020-05-04 16:21:39 +02:00
Chocobozzz 055cfb11a9 Add plugin auth migrations 2020-05-04 16:21:39 +02:00
Chocobozzz e307e4fce3 Add ability for auth plugins to hook tokens validity 2020-05-04 16:21:39 +02:00
Chocobozzz e1c5503114 Support logout and add id and pass tests 2020-05-04 16:21:39 +02:00
Chocobozzz 8dc8a34ee8 Avoir some circular dependencies 2020-05-04 16:21:39 +02:00
Chocobozzz 7fed637506 Begin auth plugin support 2020-05-04 16:21:39 +02:00
Rigel Kent 25a42e293b Fix rowsPerPage change, add filter clear button, update video-abuse-list search query param dynamically 2020-05-04 15:01:44 +02:00
Rigel Kent 0db536f1e0 Only show updatedAt date of abuse if different from createdAt 2020-05-04 15:01:44 +02:00
Rigel Kent aeb1bed983 Factorize video display in table for moderation components, apply it to blacklisted videos as well 2020-05-01 16:41:02 +02:00
Rigel Kent 5fd4ca0051 Add nth abuse count for a given video, add reporter/reportee reports stats 2020-05-01 16:41:02 +02:00
Rigel Kent 86521a67b2 Add video channel and video thumbnail, rework video appearance in row 2020-05-01 16:41:02 +02:00
Rigel Kent 68d19a0ace Make sure a report doesn't get deleted upon the deletion of its video 2020-05-01 16:41:02 +02:00
Chocobozzz b3af2601da
Add ability to remove privacies using plugins 2020-04-20 15:42:27 +02:00
Kim 8c7725dc3c
Add markdown support to plugins (#2654)
* Add markdown renderer to plugins

* Chore: add doc for markdown plugins

* Fix typing markdown plugin helpers

* Add lines between components in template

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-04-20 14:51:24 +02:00
Chocobozzz 62068f4153
Merge branch 'pr/2629' into develop 2020-04-15 14:16:40 +02:00
Chocobozzz f757be65b8
Better plugin notifier typings 2020-04-15 09:21:06 +02:00
kimsible ba6e9e8f1d Add unit tests for captions via URL import 2020-04-14 17:23:01 +02:00
Chocobozzz 1b05d82d86
Add SQL query support in plugins 2020-04-09 11:00:30 +02:00
Chocobozzz 8c9e787526
Add ability to accept or not remote redundancies 2020-04-07 15:32:20 +02:00
Chocobozzz 8323c435c1
Remove oc locale support
It does not work since many releases, and nobody created an issue so we
don't consider it much use

It does not work because Angular does not know this locale: https://github.com/angular/angular/tree/master/packages/common/locales
2020-04-06 14:37:26 +02:00
Chocobozzz 1fe654e096
Fix peertube interface i18n 2020-04-03 14:56:05 +02:00
Chocobozzz d96994289b
Update server dependencies 2020-04-01 14:46:53 +02:00
Rigel Kent 3d527ba173 Use inner join and document code for viewr stats for channels 2020-03-31 10:29:24 +02:00
Rigel Kent 714bfcc556 Tests for viewsPerDay 2020-03-31 10:29:24 +02:00
Rigel Kent 8165d00ac6 View stats for channels 2020-03-31 10:29:24 +02:00
Rigel Kent 76314386ae
Add overview of a user's actions in user-edit (#2558) 2020-03-27 15:19:03 +01:00
Chocobozzz 764a965778
Implement pagination for overviews endpoint 2020-03-11 15:02:20 +01:00
BitTube cf387740f2
Action hook: thread replies loaded (#2550)
* Add thread replies hook onLoaded

* Cleaning spaces

* Fixing travis CI lint errors (spaces)

* Fixing travis 'irregular whitespace not allowed'

* Changing action name for consistency

Co-authored-by: ICabaleiro <i.cabaleiro@devcups.com>
2020-03-11 09:59:41 +01:00
Rigel Kent 8319d6ae72
Add video file metadata to download modal, via ffprobe (#2411)
* Add video file metadata via ffprobe

* Federate video file metadata

* Add tests for file metadata generation

* Complete tests for videoFile metadata federation

* Lint migration and video-file for metadata

* Objectify metadata from getter in ffmpeg-utils

* Add metadataUrl to all videoFiles

* Simplify metadata API middleware

* Load playlist in videoFile when requesting metadata
2020-03-10 14:39:40 +01:00
Chocobozzz 0840ca76a2
Add action hook, comments loaded (#2539)
* Adding action hook for video watch comments loaded

* Adding requested changes for PR #2539
2020-03-05 13:14:26 +01:00
Chocobozzz bdd428a6d9
Update dependencies 2020-02-28 16:21:34 +01:00
Rigel Kent 9677fca772
Make the search helper change based on the server config 2020-02-13 16:32:58 +01:00
Chocobozzz be27ef3b46 Strict templates enabled 2020-02-10 16:39:28 +01:00
Chocobozzz bfa3a5d0fe
Fix accept languages in tests 2020-02-06 16:11:12 +01:00
Chocobozzz 0df21c799f
Add hu and th locales 2020-02-04 16:48:54 +01:00
Chocobozzz a15871560f
Move to eslint 2020-02-03 08:31:02 +01:00
Chocobozzz ca6d36227a
Add url field in caption and use it for thumbnails 2020-01-30 11:53:38 +01:00
Chocobozzz c7f36e4f48
Fix transcoding 2020-01-29 16:54:52 +01:00
Rigel Kent 837666fe48 Add tests for video downscale framerate matching 2020-01-29 13:42:15 +01:00
Rigel Kent 06bcfbd9f7 Downsample to the closest divisor standard framerate 2020-01-29 13:42:15 +01:00
Chocobozzz 0374b6b5cd
Cleanup server fixme 2020-01-28 14:45:17 +01:00
Chocobozzz b764380ac2 Add ability to list redundancies 2020-01-28 11:35:26 +01:00
Chocobozzz ffc65cbd2a
Remove HLS torrents 2020-01-24 16:48:05 +01:00
Chocobozzz 44d4ee4fcb
Fix e2e tests 2020-01-23 14:59:44 +01:00
Chocobozzz 6848b9f4b2
Use a filtered proxy without variables 2020-01-22 09:36:03 +01:00
Rigel Kent 000eb0e40d
Add informational message at login for visitors coming from upload button
resolves #1880
2020-01-10 14:01:23 +01:00
Chocobozzz 62fca05de4
Fix default avatar URL 2020-01-10 10:30:39 +01:00
Chocobozzz 41ee83423c
Rebuild credits
Had to update the script now we use weblate
2020-01-09 12:00:47 +01:00
Chocobozzz e0b56b7495
Return an error on invalid count pagination 2020-01-09 09:36:31 +01:00
Chocobozzz fe98765624
Add ability to skip count query 2020-01-08 14:15:16 +01:00
Chocobozzz 7cde3b9c2e
Update validator dependency 2020-01-07 15:56:07 +01:00
Chocobozzz 51b34a11b2
Share playlists state 2020-01-06 13:34:08 +01:00
Rigel Kent 32c68d67d9
Tests for totalRepliesFromVideoAuthor 2020-01-03 16:25:31 +01:00
Chocobozzz ac0868bcc0
Improve SQL query for my special playlists 2020-01-03 14:17:57 +01:00
Rigel Kent 29128b2f5c
Add miniature quick actions to add video to Watch later playlist 2020-01-02 14:50:14 +01:00
Chocobozzz cca1e13b96
Add test to search in my videos 2019-12-30 14:31:39 +01:00
Rigel Kent 5b0413ddaa
Add author indicator to the comment replies loader 2019-12-28 11:48:53 +01:00
Chocobozzz 822c7e610d
Fix playlist search 2019-12-27 09:04:04 +01:00
Rigel Kent bee29df8a9 autoplay next video support for playlists 2019-12-13 09:13:43 +01:00
Chocobozzz 22a73cb879
Add internal privacy mode 2019-12-12 16:51:59 +01:00
Chocobozzz 566c125d6e
Serve audit logs to client 2019-12-11 14:14:01 +01:00
Chocobozzz 6f3fe96f40
Add action hooks to user routes 2019-12-06 15:59:12 +01:00
Chocobozzz c2023a9f02
Add ability to update icons content 2019-12-05 17:26:58 +01:00
Chocobozzz 3d9a63d3d8
Add hook to alter player build options 2019-12-05 17:06:18 +01:00
Chocobozzz f56ebb3616
Improve 4k resolution bitrate 2019-12-05 15:12:58 +01:00
Chocobozzz 77e0851758
Ensure local actors preferredName don't already exist
Before applying this commit, check you don't have duplicates local
actors in your database:

select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 0

If you have some results, it seems you have duplicate channels/accounts.
For every entry, you'll have to change the preferredUsername of the
entry you want (so they are unique). The updated actors could have some
federations issues. Sorry.
2019-12-05 14:57:14 +01:00
Chocobozzz 1061c73fde
Add ability to filter per job type 2019-12-04 14:49:59 +01:00
Julien Maulny b5206dfc45 Fix retrieving of deleted comments when subscribing to a new instance 2019-12-04 09:36:45 +01:00
Julien Maulny 69222afac8 Soft delete video comments instead of detroy 2019-12-04 09:36:45 +01:00
Chocobozzz 97ecddae10
Filter on follows actor types in about page 2019-11-29 10:55:17 +01:00
Chocobozzz b8f4167fb6
Only display accepted followers/followings in about page 2019-11-28 11:37:32 +01:00
Rigel Kent ba7b7e572f (plugins) adding signup scope and init hook, modifying ensureUserRegistrationAllowed allowedParams 2019-11-25 11:16:12 +01:00
frankdelange 5c7d650827
Add audio-only option to transcoders and player
This patch adds an audio-only option to PeerTube by means of a new transcoding configuration which creates mp4 files which only contain an audio stream. This new transcoder has a resolution of '0' and is presented in the preferences and in the player resolution menu as 'Audio-only' (localised). When playing such streams the player shows the file thumbnail as background and disables controls autohide.

Audio-only files can be shared and streamed just like any other file. They can be downloaded as well, the resulting file will be an mp4 container with a single audio stream.

This patch is a proof of concept to show the feasibility of 'true' audio-only support. There are better ways of doing this which also enable multiple audio streams for a given video stream (e.g. DASH) but as this would entail a fundamental change in the way PeerTube works it is a bridge too far for a simple proof of concept.
2019-11-25 10:59:47 +01:00
Chocobozzz d7a25329f9
Add ability to disable webtorrent
In favour of HLS
2019-11-25 10:59:43 +01:00
Rigel Kent 5f85f8aa1c
Video-watch hooks modifications for videojs 2019-11-18 10:12:23 +01:00
Chocobozzz 350131cbaf
Make build works 2019-11-13 10:04:16 +01:00
Florent F 532ea1fe22 Remove unused function searchVideoWithPagination 2019-11-04 16:46:37 +01:00
Chocobozzz 4ce7eb71ba
Add plugin hook on registration 2019-10-25 13:54:32 +02:00
Chocobozzz 47581df073
Fix federation with some actors
That don't have a shared inbox, or a URL
2019-10-23 11:33:53 +02:00
Julien Maulny c07eb94653 Add 'Most liked videos' page 2019-10-18 14:04:10 +02:00
LoveIsGrief 6aa5414813 Autoplay next recommended video (#2137)
* Start working on autoplay of next video

* Ignore changes made by gitpod

* Apply changes from PR#1370

* Correct the spelling of recommendations

* Fix linting errors

* Move boolean check to existing onEnded handler

* Pick a random video until the recommendations are improved

* Add simple tests for autoPlayNextVideo

* Fix lint

...again
2019-09-24 08:48:01 +02:00
Chocobozzz be04c6fdab Add hardware information in instance config 2019-09-05 10:17:02 +02:00
Chocobozzz 8ae03c3718 Add creation reason 2019-09-05 10:17:02 +02:00
Chocobozzz 43d0ea7f4b Add welcome modal 2019-09-05 10:17:02 +02:00
Chocobozzz ccc00cb2aa Add more attributes to about page 2019-09-05 10:17:02 +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 f69ec5f340
Fix zh locales 2019-09-03 15:48:25 +02:00
Chocobozzz 0b5c385b45
Handle reports from mastodon 2019-08-30 09:40:32 +02:00
Chocobozzz 820546916c
Add fi_FI support 2019-08-22 14:45:16 +02:00
Chocobozzz fb1b0ed9f7
Update translations and support gd 2019-08-13 09:40:31 +02:00
Chocobozzz e2600d8b26
Add avatar to prune script 2019-08-09 15:04:36 +02:00
Chocobozzz 6b9c966f64
Automatically remove bad followings 2019-08-06 17:26:51 +02:00
Chocobozzz 970ceac0a6
Fix multiple server tests 2019-08-01 10:15:28 +02:00
Chocobozzz bfbd912886 Fix broken playlist api 2019-08-01 09:11:04 +02:00
Chocobozzz c928e1364f
Improve nginx client images cache 2019-07-29 14:58:41 +02:00
Chocobozzz 2284f20207
Add gitlab ci support 2019-07-29 13:40:39 +02:00
Chocobozzz d75db01f14
Add plugin translation system 2019-07-26 15:18:30 +02:00
Chocobozzz ee286591a5
Plugins can update video constants
Categories, licences and languages
2019-07-26 15:18:30 +02:00
Chocobozzz ba211e7386
Add public settings endpoint 2019-07-26 15:18:29 +02:00
Chocobozzz 23bdacf8ec
Add setting helper to client plugins 2019-07-26 15:18:28 +02:00
Chocobozzz ae8b8faf20
Update translations and support Greek language 2019-07-25 12:06:11 +02:00
Chocobozzz 9ae88819c2
Change plugin models names 2019-07-24 11:17:42 +02:00
Chocobozzz 5f189c9c85 Add hooks documentation 2019-07-24 10:58:16 +02:00
Chocobozzz a8b666e9f1 Add plugin static files cache 2019-07-24 10:58:16 +02:00
Chocobozzz 7663e55a2c Log error on unknown hook 2019-07-24 10:58:16 +02:00
Chocobozzz e8f902c05c Use search client scope 2019-07-24 10:58:16 +02:00
Chocobozzz 93cae47925 Add client hooks 2019-07-24 10:58:16 +02:00
Chocobozzz 587568e1cc Add plugin table migration table 2019-07-24 10:58:16 +02:00
Chocobozzz 6691c52280 Add filter hooks tests 2019-07-24 10:58:16 +02:00
Chocobozzz 89cd127560 Add hook filters tests 2019-07-24 10:58:16 +02:00
Chocobozzz 09071200c7 Add plugin API tests 2019-07-24 10:58:16 +02:00
Chocobozzz 9b474844e8 Add CLI plugins tests 2019-07-24 10:58:16 +02:00
Chocobozzz 32fe001389 Provide logger to plugins 2019-07-24 10:58:16 +02:00
Chocobozzz b4055e1c23 Add server hooks 2019-07-24 10:58:16 +02:00
Chocobozzz 9fa6ca160a Some plugins fixes and doc enhancements 2019-07-24 10:58:16 +02:00
Chocobozzz 6702a1b2cc Add ability to search available plugins 2019-07-24 10:58:16 +02:00
Chocobozzz 503c6f440a Add peertube plugin index website models 2019-07-24 10:58:16 +02:00
Chocobozzz 30ff39e7f0 Move createTorrent in webtorrent utils 2019-07-24 10:58:16 +02:00
Chocobozzz b2195fafc2 WIP plugins: add storage manager 2019-07-24 10:58:16 +02:00
Chocobozzz b5f919ac8e WIP plugins: update plugin 2019-07-24 10:58:16 +02:00