Commit Graph

1216 Commits (638949c67a1fe6966909184880f0194ac6beb077)

Author SHA1 Message Date
Chocobozzz 9cc4b9c61f
Fix process delete promise return 2021-06-07 13:20:08 +02:00
Chocobozzz 91f8f8db97
createThumbnail -> updateThumbnail 2021-06-04 15:45:44 +02:00
Chocobozzz 868fce62f8
fetch -> load
avoid confusion with AP fetch functions
2021-06-03 18:10:56 +02:00
Chocobozzz 10363c74c1
Move middleware utils in middlewares
helpers modules should not import models
2021-06-03 18:03:36 +02:00
Chocobozzz 5e08989ede
Add tags to AP rate logger 2021-06-03 17:12:38 +02:00
Chocobozzz 908e6ead78
Refactor AP video logger tags 2021-06-03 16:56:42 +02:00
Chocobozzz 136d7efde7
Refactor AP actors 2021-06-03 16:40:32 +02:00
Chocobozzz 49af5ac8c2
Refactor AP playlists 2021-06-03 16:40:32 +02:00
Chocobozzz 463206948d
Add tags to logs in AP videos 2021-06-02 16:57:53 +02:00
Chocobozzz e872632091
Refactor sync attributes 2021-06-02 16:57:53 +02:00
Chocobozzz 304a84d59c
Refactor getOrCreateAPVideo 2021-06-02 16:57:53 +02:00
Chocobozzz c56faf0d94
Move AP video channel creation 2021-06-02 16:57:53 +02:00
Chocobozzz 08a47c75f9
Refactor AP video create/update 2021-06-02 16:57:53 +02:00
Chocobozzz 69290ab37b
Refactor AP video update 2021-06-02 16:57:53 +02:00
Rigel Kent 76148b27f7 refactor API errors to standard error format 2021-06-02 16:57:07 +02:00
Chocobozzz d88a3ea5e3
Process redundancy stats in series 2021-06-01 11:03:52 +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 9e2e51dc0b
Add tags to live logger 2021-05-28 13:05:59 +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 8ee37c5f38
Merge branch 'release/3.2.0' into develop 2021-05-26 13:41:15 +02:00
Chocobozzz 53e7f82fe3
Fix redundancy max size 2021-05-26 09:44:16 +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 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
Chocobozzz 7d9ba5c089
Cleanup models directory organization 2021-05-11 11:32:31 +02:00
Chocobozzz c07902b908
Move transcoding files in their own directory 2021-05-11 11:32:31 +02:00
Chocobozzz 1bcb03a100
Use a class for youtube-dl 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 a66c2e3252
Fix remote actor creation date 2021-05-07 09:00:09 +02:00
kontrollanten 66f77f6343 server: fix HLS playlist format
Remove prefixed comma when there's no video codec.
2021-05-06 08:47:43 +02:00
Chocobozzz b31d72625d
Plugin user.getAuthUser is now async
So we can load the full user
2021-05-05 15:26:28 +02:00
Kimsible 9a911038d9 Add shorter URLs for accounts and channels server-side 2021-05-05 11:47:03 +02:00
Chocobozzz 36217ac537
Fix lint 2021-05-05 09:55:01 +02:00
Chocobozzz a6e37eebfb
Fix transcoding job priority
New resolution jobs are also important if waiting for transcoding is
enabled since we publish the video after the first resolution generation
2021-05-05 09:32:20 +02:00
Chocobozzz 302eba0d89
Add data directory for plugins and some helpers 2021-04-22 10:55:28 +02:00
Chocobozzz b7a27f2860
Add sendmail log in server 2021-04-21 15:18:22 +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
Rigel Kent a073c91270 modify tests to support current behaviour regarding plaintext description 2021-04-13 15:45:09 +02:00
Rigel Kent 84bced652c render markdown and plainify descriptions on previews 2021-04-13 15:45:09 +02:00
Chocobozzz 1a578165f9
Fix lint 2021-04-12 17:00:21 +02:00
Chocobozzz c24822a8fd
Don't save other attributes when set as refreshed 2021-04-12 13:44:58 +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 8280d0c227
Ensure to install supported plugins 2021-04-12 10:10:48 +02:00
Chocobozzz 78ec174cca
Don't retry failed transaction for refresh
It's just a refresh and could lead to some issues in our tests. If there
is a transaction conflict, it means that the same video is already
beeing updated so aborting should be fine
2021-04-09 16:29:38 +02:00
Chocobozzz a60696ab18 Add scale filter to documentation 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 22820226e5
Add server plugin helpers 2021-04-09 15:17:43 +02:00
Chocobozzz bae9303726
Also decache config 2021-04-09 09:37:46 +02:00
John Livingston 09d535ef98
Fix #3940: unload all children from the plugin module on updates. 2021-04-09 09:32:16 +02:00
Chocobozzz 84531547bc
Add size info in db for actor images 2021-04-08 13:38:04 +02:00
Chocobozzz a0eeb45f14
Update data in DB when regenerate thumbnails 2021-04-08 13:38:04 +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 4bc45da342
Add hooks support for video download 2021-03-24 18:18:41 +01:00
Chocobozzz 97aeb3cc46
Fix external on logout hook 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 e7053b1d9d
Fix AP security tests 2021-03-24 18:18:40 +01:00
Chocobozzz 266131e0ca
Don't skip all threads on AP fetcher error 2021-03-24 18:18:40 +01:00
Chocobozzz b5c361089f
Fix 404 AP status codes 2021-03-24 18:18:40 +01:00
Chocobozzz db4b15f21f
Use got instead of request 2021-03-24 18:18:40 +01:00
Chocobozzz 67f87b66fe
Refactor a little bit AP validators 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 a2eba50b8e
Fix moderation notification 2021-03-04 16:16:37 +01:00
Chocobozzz fbd51e69f2
Upgrade server dependencies 2021-03-03 16:14:32 +01:00
Chocobozzz 6c9c3b7b14
Fix emptying video tags 2021-03-03 11:03:30 +01:00
Chocobozzz 1ef447bd83
Don't create another uneeded preview placeholder 2021-03-03 11:02:34 +01:00
Chocobozzz dcd75f786c
Rename request timeout 2021-03-03 10:10:55 +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 92315d979c
More robust channel change federation 2021-02-26 11:50:18 +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 88cfa3e8fa
Fix preview upload with capitalized ext 2021-02-26 09:16:31 +01:00
Chocobozzz a77c7327a2
Fix process abuse transactions 2021-02-25 15:55:31 +01:00
Chocobozzz e7812bf091
Add refresh_token_expires_in to oauth res 2021-02-25 15:25:48 +01:00
Chocobozzz 70243d7a35
Correctly wait transcoding before federating 2021-02-22 10:35:37 +01:00
Chocobozzz 4cbdcf4409
Fix sending accept to old follows 2021-02-19 13:55:00 +01:00
Chocobozzz fae6e4da8f Try to speed up server tests 2021-02-19 09:36:50 +01:00
Chocobozzz 53c06121a4
Fix import tests 2021-02-18 14:08:16 +01:00
Chocobozzz 8efc27bf14 Cleanup 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 2451916e45 Add video files migration 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 1664bc60eb Optimize remote image processing 2021-02-16 10:36:44 +01:00
Chocobozzz 374b725df5 Optimize remote thumbnail processing 2021-02-16 10:36:44 +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 a8b1b40485 Generate a name for thumbnails
Allows aggressive caching
2021-02-16 10:36:44 +01:00
Chocobozzz c15aff666d
Remove old code
We consider Dislike as a classic activity now
2021-02-12 14:53:07 +01:00
Chocobozzz e3b4c084cd
Guess if we need to generate the thumbnail for imports 2021-02-12 09:37:01 +01:00
Chocobozzz 6559da2821
Allow plugins to load a video by id 2021-02-11 10:23:52 +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
Chocobozzz ba5a8d89bb
Update server dependencies 2021-02-03 09:45:08 +01:00
Chocobozzz 69eddafb17
Fix HLS generation after import script 2021-02-02 14:00:46 +01:00
Chocobozzz aaedadd538
Transcode HLS playlists in a tmp directory 2021-02-02 11:50:29 +01:00
Chocobozzz 40930fda86
Transcode audio uploads to lower resolutions
Better consistency
2021-02-02 09:45:42 +01:00
Chocobozzz 89613cb444
Purge entire video from redundancy 2021-02-02 08:50:30 +01:00
Chocobozzz 7e3592d70b
Correctly remove torrents with HLS only 2021-02-01 11:23:12 +01:00
Chocobozzz 33c7131be5
Check banned status for external auths 2021-02-01 11:23:11 +01:00
Chocobozzz a8537c622e
Use veryfast preset for default transcoding profile 2021-01-29 15:31:31 +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
Chocobozzz 529b37527c
Use a profile manager for transcoding 2021-01-28 15:55:39 +01:00
Chocobozzz 00b87c5791
Fix live RAM usage when ffmpeg is too slow 2021-01-27 12:05:10 +01:00
Chocobozzz e08ff02a9f
Allow webp image uploads 2021-01-26 10:29:57 +01:00
Chocobozzz 448487a602
Fix sendmail emailer 2021-01-26 09:28:49 +01:00
Chocobozzz 6939cbac48 Safely remove webtorrent files
Only remove them on max quality HLS playlist generation
2021-01-25 14:38:52 +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 471251fa14
Fix error log 2021-01-20 09:50:22 +01:00
Chocobozzz 805b8619c1
Fix (again) youtube import 2021-01-19 16:36:21 +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
Rigel Kent 1ea7da819e
add ability to remove one's avatar for account and channels (#3467)
* add ability to remove one's avatar for account and channels

* add ability to remove one's avatar for account and channels

* only display avatar edition options after input change
2021-01-13 09:12:55 +01:00
Chocobozzz c2b823826d
Log RTMP server error (address already in use) 2021-01-11 09:33:14 +01:00
Chocobozzz f0484f7a16
Fix autoblacklist notification issue 2021-01-04 10:50:47 +01:00
Chocobozzz cc49be3e35
Fix views processing hour 0 2020-12-30 14:29:17 +01:00
Chocobozzz f88453e233
Fix build 2020-12-22 16:49:17 +01:00
Chocobozzz 236841a1d7
Force HLS transcoding
Fix weird behaviour with some web browsers. Don't really know if it's a
ffmpeg bug, a safari bug or a peertube bug, but forcing transcoding
seems to fix this playback bug
2020-12-22 16:04:42 +01:00
Chocobozzz 9cfeb3cf98
Fix redundancy federation in some cases 2020-12-17 09:23:57 +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
kontrollanten 40c52969f7 emails: remove hardcoded PeerTube names 2020-12-14 15:37:29 +01:00
kontrollanten 2e4b8ae485 emailer: use instance name instead of hostname 2020-12-14 15:37:29 +01:00
kontrollanten 915e2bbb97 video embed: use instance name as html title 2020-12-14 15:25:51 +01:00
kontrollanten 2564d97e0d video-embed: inject custom CSS
closes #3420
2020-12-14 15:25:51 +01:00
Chocobozzz 402145b863
Refactor jobs state 2020-12-14 12:00:35 +01:00
Chocobozzz f98c395295 Keep scope in notifier 2020-12-14 09:34:47 +01:00
kontrollanten b1771455af fix(notifier): notifyModeratorsOfNewAbuse
closes #3445
2020-12-14 09:34:47 +01:00
Rigel Kent 040d6896a3
add display of logs matching any state 2020-12-13 19:27:25 +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
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
Chocobozzz b49f22d8f9 Upgrade sequelize to v6 2020-12-09 11:41:22 +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
Thomas Citharel 106fa2249d Set canonical link to original video/playlist url
The local URL was used instead of the original url

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-08 11:15:11 +01:00
Chocobozzz 5b9b403a20
Fix replay last segments loop 2020-12-07 16:07:00 +01:00
Rigel Kent 2d53be0267
replace numbers with typed http status codes (#3409) 2020-12-07 14:32:36 +01:00
Chocobozzz aa5ee5017a
Fix lint 2020-12-04 15:58:29 +01:00
Chocobozzz e772bdf14c
Load video in permanent live after last one ended 2020-12-04 15:38:32 +01:00
Chocobozzz 3851e732c4
Fix audio issues with live replay 2020-12-04 15:10:13 +01:00
Chocobozzz e26dc0cdbd
Strict actor url comparison 2020-12-03 16:12:58 +01:00
Chocobozzz 5147a6d945
Try to fix non HTTPS remote accounts 2020-12-03 15:21:16 +01:00
Chocobozzz bb4ba6d94c
Add permanent live support 2020-12-03 15:21:16 +01:00
Chocobozzz 4a54a93941
Fix live invalid save replay duration 2020-12-03 10:05:10 +01:00
Chocobozzz 2650d6d489
Fix live replay duration glitch 2020-12-02 10:18:15 +01:00
Chocobozzz 8c666c44ab
Fix live saving after a server restart 2020-11-30 17:03:13 +01:00
Chocobozzz 6cddd97d1d
Fix lint 2020-11-30 16:02:34 +01:00
Chocobozzz 937581b8f6
Fix high CPU with long live when save replay is true 2020-11-30 15:59:22 +01:00
Chocobozzz 884d2c39ae
Fix live FPS limit 2020-11-26 11:30:18 +01:00
Chocobozzz 6b67897e2e Add transcoding module comments 2020-11-25 10:07:51 +01:00
Chocobozzz 33ff70baa6 Fix audio encoding params 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 9252a33d11 Export encoders options in a dedicated struct 2020-11-25 10:07:51 +01:00
Chocobozzz daf6e48010 Split ffmpeg utils with ffprobe utils 2020-11-25 10:07:51 +01:00
Chocobozzz 74fd2643b4 Provide express request to onLogout call
+ pluginInfo related changes
2020-11-20 15:36:43 +01:00
Chocobozzz 55d5fbc583
Fix lint 2020-11-20 11:35:33 +01:00
Chocobozzz de94ac86a2
Fix incorrect IDs in AP federation 2020-11-20 11:21:08 +01:00
Chocobozzz fce7fe04ee
Update server dependencies 2020-11-19 09:07:20 +01:00
Chocobozzz 9ff36c2d70
Refactor markdown/sanitize html code 2020-11-17 14:34:09 +01:00
Chocobozzz 6bff8ce23a
Process remaining segment hashes on live ending 2020-11-17 14:05:15 +01:00
Chocobozzz 5c0904fc66
Cleanup lives on server restart 2020-11-13 14:36:30 +01:00
Chocobozzz 786b855af7
Fix live sha segments with multiple resolutions 2020-11-13 12:02:29 +01:00
Chocobozzz 17119e4a54 Reorganize left menu and account menu
Add my-settings and my-library in left menu
Move administration below my-library
Split account menu: my-setting and my library
2020-11-13 12:02:21 +01:00
Chocobozzz 501af82d99
Delay notification when waiting for a live 2020-11-12 17:13:32 +01:00
Chocobozzz 6297bae0c1
Fix live infohash of original resolution 2020-11-12 16:55:13 +01:00
Chocobozzz b9da21bd5a
Hide dock if there are no title/description 2020-11-10 16:47:25 +01:00
Chocobozzz b9cf3fb638
Fix email footer
Do not include notif preferences in contact form email
2020-11-10 15:56:13 +01:00
Chocobozzz 10c8b0b743
Fix comments federation 2020-11-10 15:26:33 +01:00
Chocobozzz 403c69c5a3
Check threads resolve on non federated videos 2020-11-10 14:34:04 +01:00
Chocobozzz 210856a7be
Try to fix live segments check 2020-11-10 14:15:59 +01:00
Chocobozzz c655c9ef6f Update ffmpeg static version for tests 2020-11-09 15:33:04 +01:00
Chocobozzz e4bf785617 Handle views for live videos 2020-11-09 15:33:04 +01:00
Chocobozzz 9e2b2e76ba Don't add live videos in redundancy 2020-11-09 15:33:04 +01:00
Chocobozzz 3cabf3532b Add live server hooks 2020-11-09 15:33:04 +01:00
Chocobozzz 053aed43fb Regenerate miniature on live save 2020-11-09 15:33:04 +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 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 284ef52911 Fix live ending 2020-11-09 15:33:04 +01:00
Chocobozzz d846d99c6c Add modal to display live information 2020-11-09 15:33:04 +01:00
Chocobozzz 31c82cd914 Fix replay saving 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 1ef65f4c03 Refactor video creation 2020-11-09 15:33:04 +01:00
Chocobozzz c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Kimsible 98b9464312
render html/markdown for new comment notification email (#3255)
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
2020-11-07 22:59:58 +01:00
Chocobozzz fb0f7f82e5
Fix re webtorrent transcoding 2020-09-09 10:14:33 +02:00
Chocobozzz 865af3fd7b
Add site_name to opengraph tags 2020-09-04 09:52:38 +02:00
Chocobozzz 2199aaef6f
Remove debug 2020-08-26 09:38:22 +02:00
Chocobozzz cf649c2ed9
Inject plugin CSS in embed too 2020-08-24 11:25:40 +02:00
Chocobozzz 371906639e Add ability to a video multiple times in a playlist 2020-08-19 11:30:21 +02:00
Chocobozzz e9c5f12338
Do not reuse reset password links 2020-08-12 09:16:08 +02:00
Chocobozzz 30bc55c88b Refactor video extensions logic in server 2020-08-11 07:57:20 +02:00
Chocobozzz b96777c380
Fix twitter embed 2020-08-07 14:53:01 +02:00
Chocobozzz 6fad8e51c4 Handle playlist oembed 2020-08-07 08:58:29 +02:00
Chocobozzz bd45d503e5 Reorganize shared models 2020-08-07 08:28:14 +02:00
Chocobozzz dca0fe12ec
Fix resolution for portrait videos 2020-08-03 16:03:52 +02:00
Chocobozzz d7b1c7b4f1
Fix video only HLS on ios 2020-07-31 13:49:36 +02:00
Chocobozzz 668b7f096e Add openapi doc 2020-07-31 11:35:19 +02:00
Chocobozzz d573926e9b Add migrations for abuse messages 2020-07-31 11:35:19 +02:00
Chocobozzz 594d3e48d8 Add abuse messages/states notifications 2020-07-31 11:35:19 +02:00
Chocobozzz edbc932546 Add server API to abuse messages 2020-07-31 11:35:19 +02:00
Kim 8d987ec63e
Add fcbk open-graph and twitter-card metas for accounts, video-channels, playlists urls (#2996)
* Add open-graph and twitter-card metas to accounts and video-channels

* Add open-graph and twitter-card to video-playlists watch view

* Refactor meta-tags creation server-side

* Add client.ts tests for account, channel and playlist tags

* Correct lint forbidden spaces

* Correct test regression on client.ts

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-31 11:29:15 +02:00
Chocobozzz ec903c010e
Merge branch 'release/2.3.0' into develop 2020-07-20 17:00:58 +02:00
kimsible 963023abe6 Fix: display username in password-reset and verify-email notifs 2020-07-20 16:56:32 +02:00
Chocobozzz cfde28bac3 Add ability to report account 2020-07-10 14:02:41 +02:00
Chocobozzz 310b5219b3 Add new abuses tests 2020-07-10 14:02:41 +02:00
Chocobozzz 4f32032fed Add migrations 2020-07-10 14:02:41 +02:00
Chocobozzz d95d155988 Use 3 tables to represent abuses 2020-07-10 14:02:41 +02:00
Chocobozzz 1fdf8edb77
Fix lint 2020-07-10 10:51:07 +02:00
Kim caf2aaf4f9
Add ability to override client assets : logo - favicon - PWA icons - PWA manifest name and description (#2897)
* Add client-overrides storage to config

* Add static-serve for client overrides

* Move backgroun-image logo from bundle to css tag for runtime content hash

* Add dynamic JSON manifest

* Add content hash for manifest, favicon and logo

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-10 10:20:11 +02:00
Chocobozzz db48de8597
Block infohash spammers from tracker 2020-06-25 16:28:07 +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 fd261a8de9
Fix video view filename 2020-06-15 15:18:54 +02:00
Chocobozzz e74bda21d1
Speed up videos indexation
And fetch video attributes after
2020-06-12 16:27:41 +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 5fb2e2888c First implem global search 2020-06-10 14:02:41 +02:00
Rigel Kent 81fe3c67c5 fix duplicate id in svg, empty alt in base email 2020-06-04 09:05:44 +02:00
Chocobozzz b763f88dd0
Merge branch 'release/2.2.0' into develop 2020-06-02 09:31:30 +02:00
Chocobozzz 03fc19281b
Fix emails 2020-06-02 09:21:33 +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 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 2ca154da93
Fix auto follow index URL 2020-05-12 09:37:39 +02:00
Chocobozzz d253bfaaa5
Add other tests to external auth 2020-05-11 18:32:58 +02:00
Chocobozzz 95cd31f1fe
Allow to auto follow a specific URL 2020-05-11 10:53:06 +02:00
Chocobozzz 81c647ff19
Cleanup oauth tokens cache 2020-05-11 08:40:38 +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 80fdaf0645
Add moderation helpers to plugins 2020-05-07 15:07:01 +02:00
Chocobozzz 3cc665f48f
Add last login date to users 2020-05-07 10:39:09 +02:00
Chocobozzz 1c32067367
Fix HLS audio only transcoding 2020-05-05 16:27:46 +02:00
Chocobozzz bc90883f1a Handle external login errors 2020-05-04 16:21:39 +02:00
Chocobozzz a4995eb7ac Add ability to unregister plugin auths 2020-05-04 16:21:39 +02:00
Chocobozzz e9b0fa5c16 Auth plugin compat with regular user accounts 2020-05-04 16:21:39 +02:00
Chocobozzz a5896799f1 Add plugin settings change watcher 2020-05-04 16:21:39 +02:00
Chocobozzz dadc90bca2 Client calls revoke-token endpoint on logout 2020-05-04 16:21:39 +02:00
Chocobozzz 5a7eecdd56 Add config helper for plugins 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 98813e69bc Check auth plugin result 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 86521a67b2 Add video channel and video thumbnail, rework video appearance in row 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 b1770a0af4
Add thumbnail / preview generation from url on the fly (#2646)
* Add thumbnails generation on the fly to URL import

* Display generated preview to import first edit

* Use ternary to get type inference

* Move preview/thumbnail test just after import

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-04-20 10:28:38 +02:00
Chocobozzz 0dd57e4d43
Fix tests 2020-04-20 09:04:38 +02:00
Chocobozzz 2c0ccd4b3f
Do not support subscriptions to accounts 2020-04-16 16:37:25 +02:00
Chocobozzz 652c64165b
Fix import captions test 2020-04-15 14:15:44 +02:00
Chocobozzz 5e2b2e2775
Add ability for plugins to add custom routes 2020-04-10 15:23:25 +02:00
Rigel Kent 9afa0901f1
Fix lint for emailer 2020-04-10 14:26:42 +02:00
Ismaël Bouya ed3f089cc7 Add sendmail 2020-04-10 10:20:06 +02:00
Chocobozzz ab3ead3a6f
Add ability to remove a video from a plugin 2020-04-09 11:37:44 +02:00
Chocobozzz 1b05d82d86
Add SQL query support in plugins 2020-04-09 11:00:30 +02:00
Chocobozzz bc0d801bb7
Refactor plugin helpers factory 2020-04-09 09:57:32 +02:00
Chocobozzz 8c9e787526
Add ability to accept or not remote redundancies 2020-04-07 15:32:20 +02:00
Chocobozzz d57d1d83c6
Support audio files import 2020-04-03 15:41:39 +02:00
Chocobozzz 6cb5564490
Fix add comment in threads with deleted comments 2020-03-20 14:43:12 +01:00
Chocobozzz c547bbf96a
Fix re running HLS transcoding 2020-03-12 15:37:28 +01:00
Chocobozzz 84ebcf345c
Fix federation with pleroma 2020-03-12 14:14:11 +01:00
Chocobozzz ac940348cd
Fix lint 2020-03-10 16:37:25 +01:00
Chocobozzz 7b81edc854
Video file metadata PR cleanup 2020-03-10 16:18:29 +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 366caf8b71
Fix build with typescript 3.8 2020-02-28 16:51:25 +01:00
Chocobozzz bdd428a6d9
Update dependencies 2020-02-28 16:21:34 +01:00
Chocobozzz 887e1a0376
Fix emailer 2020-02-18 08:29:23 +01:00
Chocobozzz 134cf2bce9
Merge branch 'release/2.1.0' into develop 2020-02-17 15:44:53 +01:00
Chocobozzz 2db48acc46
Correctly fix auto follows 2020-02-17 15:44:06 +01:00
Chocobozzz 2ad9dcda24
Merge branch 'release/2.1.0' into develop 2020-02-17 15:34:42 +01:00
Chocobozzz 1c5fbed209
Fix avatar update 2020-02-17 15:33:42 +01:00
Chocobozzz 7d233f1dd9
Manual approves followers only for the instance
And not for accounts or channels of the instance
2020-02-17 14:27:29 +01:00
Chocobozzz 4c1c170934
Refactor email enabled function 2020-02-17 10:27:00 +01:00
John Livingston 45f1bd72a0
Creating a user with an empty password will send an email to let him set his password (#2479)
* Creating a user with an empty password will send an email to let him set his password

* Consideration of Chocobozzz's comments

* Tips for optional password

* API documentation

* Fix circular imports

* Tests
2020-02-17 10:16:52 +01:00
Chocobozzz 5224f71303
Correctly check remote extension 2020-02-12 10:26:35 +01:00
Chocobozzz c6de3a85ee
Fix remote avatar without AP mediatype field 2020-02-12 10:23:24 +01:00
Chocobozzz 58b6fdcafc
Small cleanup 2020-02-06 17:41:25 +01:00
Chocobozzz 6872996d29
Be more robust with missing thumbnails/previews 2020-02-06 17:39:19 +01:00
Chocobozzz 084a2cd0f6
Optimize context for CacheFile 2020-02-04 16:34:46 +01:00
Chocobozzz 2c8776fc31
Optimize view endpoint 2020-02-04 16:18:01 +01:00
Chocobozzz 943e519390
Don't refresh videos when processing views
It allows us to use a cache
2020-02-04 15:58:59 +01:00
Chocobozzz f51c02c77f
Fix lint 2020-02-04 09:12:42 +01:00
Chocobozzz 598edb8af1
Reduce AP context size on specific activities 2020-02-03 11:31:23 +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 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 99849607a6
Remove debug messages 2020-01-24 11:38:35 +01:00
Rigel Kent 7738273b80 Accessibility fixes for #2149 2020-01-21 10:08:10 +01:00
John Livingston 98da1a7b4a Fix: unregistring a plugin did not remove properly his hooks. 2020-01-20 14:54:03 +01:00
Chocobozzz c08579e14f
Add correct status on not found video 2020-01-09 08:51:27 +01:00
Chocobozzz e612209767
Try to fix subscriptions inconsistencies 2020-01-08 15:44:41 +01:00
Chocobozzz e92269053e
Update http signature 2020-01-07 15:56:09 +01:00
Chocobozzz 7cde3b9c2e
Update validator dependency 2020-01-07 15:56:07 +01:00
Chocobozzz dddc8b1fe0
Don't notify on muted instance 2019-12-19 11:34:00 +01:00
Nassim Bounouas f88ee4a952 Feature/password reset link expiration (#2305)
* #1928 Add a sentence indicating the reset time limit on form and email

* #1928 Customizable password reset lifetime

* #1928 Add a route to verify reset link and call it on reset form init

* Revert "#1928 Customizable password reset lifetime"

This reverts commit 0ed97453f8.

* #1928 Reset password lifetime hardcoded to one hour

* Remove useless modifications for #1928
2019-12-18 09:59:00 +01:00
Chocobozzz 22a73cb879
Add internal privacy mode 2019-12-12 16:51:59 +01:00
Chocobozzz 92e0f42e8c
Don't use the max quality file when transcoding to a new resolution 2019-12-11 09:51:17 +01:00
Chocobozzz 1061c73fde
Add ability to filter per job type 2019-12-04 14:49:59 +01:00
Chocobozzz c883db6d03
Move deleted comment on new follow tests 2019-12-04 11:48:12 +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 47f6cb31d7
Fix email to field 2019-11-29 13:36:40 +01:00
Chocobozzz 2fa9c40e20
Fix tests 2019-11-27 10:29:27 +01:00
Chocobozzz 49c3bf6fa2
Fix duplicate HLS resolution in master playlist 2019-11-26 16:57:51 +01:00
Chocobozzz 52201311e1
Add codec information in HLS playlist 2019-11-26 16:25:36 +01:00
Chocobozzz 3a149e9f8b
Add audio only transcoding tests 2019-11-25 10:59:49 +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 66fb2aa39b
Don't always replace actor avatar 2019-11-25 10:59:44 +01:00
Chocobozzz d7a25329f9
Add ability to disable webtorrent
In favour of HLS
2019-11-25 10:59:43 +01:00
Chocobozzz 92ce62331e
Fix auto index follow 2019-11-04 15:20:34 +01:00
Chocobozzz a82ddfad00
Fix lint 2019-10-23 13:15:18 +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
Chocobozzz d5d9b6d7bf
Update server dependencies 2019-10-21 15:03:28 +02:00
Chocobozzz eba06469b7
Fix audio merging when specifying a preview 2019-10-18 11:44:01 +02:00
Lukas Winkler 32d7f2b754 fix a few typos (#2141)
* fix a few typos

* apply changes to original files instead

* additional correction
2019-09-23 08:17:42 +02:00
Chocobozzz 9157d5981f
Improve plugin package.json error message 2019-09-11 10:19:03 +02:00
Chocobozzz 00aab0666c
Merge branch 'release/1.4.0' into develop 2019-09-05 10:19:35 +02:00
Chocobozzz 2ba613a543 Fix tests 2019-09-04 16:24:58 +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 f8278b9605
Fix bug in redundancy eviction 2019-09-04 14:40:39 +02:00
Chocobozzz 2fd9737886
Fix redundancy too heavy with streaming playlists 2019-08-30 11:05:27 +02:00
Chocobozzz 0b5c385b45
Handle reports from mastodon 2019-08-30 09:40:32 +02:00
John Livingston 20ec03846d fixes 2065: optimisation (#2073)
* fixes 2065: optimisation

* Update peertube-socket.ts
2019-08-23 09:05:30 +02:00