Commit Graph

728 Commits (57a9b61a4aeead74e8800bbfad82ef433313b204)

Author SHA1 Message Date
Chocobozzz 9129b7694d Allow to specify transcoding and import jobs concurrency 2021-02-08 15:38:45 +01:00
Chocobozzz 9162476fe9
Support NodeJS 14 and 15, deprecate Node 10 2021-02-04 14:31:18 +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 56df7815b5
Fix URI search config update 2021-02-01 11:30:01 +01:00
Chocobozzz 80ac2e5548
Support transcoding profile in client admin 2021-01-28 16:10:09 +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
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 00b87c5791
Fix live RAM usage when ffmpeg is too slow 2021-01-27 12:05:10 +01:00
Chocobozzz a4a8cd3971
Add missing niceness to ffmpeg thumbnail processes 2021-01-27 09:09:59 +01:00
Chocobozzz e9cb361cf5
Fix tests 2021-01-26 11:37:31 +01:00
Chocobozzz e08ff02a9f
Allow webp image uploads 2021-01-26 10:29:57 +01:00
Chocobozzz 1e743faafe
Disable sql prettifier by default
It adds too much lines, leading to difficulties when reading dev logs
2021-01-26 09:54:32 +01:00
Chocobozzz 448487a602
Fix sendmail emailer 2021-01-26 09:28:49 +01:00
Rigel Kent 2a6cf69cff
prettify SQL queries during debug (#3635)
* prettify SQL queries during debug

* Use sql-formatter

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-01-25 15:37:41 +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
Rigel Kent 7abb6060a9 specific niceness for live transcoding 2021-01-13 09:16:44 +01:00
Johan Fleury 12c1e38df2 feat: allow administrator to disable logging of ping requests 2021-01-13 09:14:43 +01:00
Rigel Kent b7085c7132 add support for 1440p (Quad HD/QHD/WQHD) videos 2021-01-13 09:14:09 +01:00
Chocobozzz 66dbfa1f30
Reduce inbox stats updated interval 2021-01-08 11:59:42 +01:00
Chocobozzz 99afa081bc
Add AP stats 2020-12-15 13:34:58 +01:00
Chocobozzz b49f22d8f9 Upgrade sequelize to v6 2020-12-09 11:41:22 +01:00
Chocobozzz bb4ba6d94c
Add permanent live support 2020-12-03 15:21:16 +01:00
Chocobozzz 3a735f7df7
Prepare changelog 2020-12-02 14:24:07 +01:00
Chocobozzz 49cff3a4c9
Keep displayName as valid playlist sort 2020-12-01 15:08:59 +01:00
Chocobozzz d9550daf05
Add local actor follow url migration 2020-12-01 15:04:38 +01:00
Arman 117c643e45 Fix sort fields on Video Playlists
displayName does not exist in VideoPlaylistModel, the correct field is `name`
2020-12-01 14:58:35 +01:00
Chocobozzz 937581b8f6
Fix high CPU with long live when save replay is true 2020-11-30 15:59:22 +01:00
Chocobozzz 18490b0765 Fix migration and test 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 ca5c612bfd Add live transcoding bit rate tests 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
Kimsible 123f619336
Add pixel size to tooltip and gif support with FFmpeg for avatar upload (#3329)
* Add avatar pixel size upload in tooltip

* Add gif support for avatar

* Add ffmpeg GIF process

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-11-25 09:26:31 +01:00
Chocobozzz 4749078b8a
Add actor follow url migration 2020-11-20 12:09:14 +01:00
Chocobozzz de94ac86a2
Fix incorrect IDs in AP federation 2020-11-20 11:21:08 +01:00
Chocobozzz e0409585a7
Fix youtube-dl ipv4 PR 2020-11-18 14:11:15 +01:00
Mark Van den Borre 677012b4ee
default youtube-dl to use ipv4 (#3311)
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
2020-11-18 14:06:20 +01:00
Chocobozzz e14de000f9
Update live settings edge delay 2020-11-18 11:32:57 +01:00
Chocobozzz 1648dcb509
Increase live delay 2020-11-17 14:05:15 +01:00
Chocobozzz 0f8d00e314
Implement video comment list in admin 2020-11-13 16:38:23 +01:00
Chocobozzz 501af82d99
Delay notification when waiting for a live 2020-11-12 17:13:32 +01:00
Chocobozzz 797d05bdd9
Force signed headers in http signatures
Thanks Roger
2020-11-12 16:29:32 +01:00
Chocobozzz adbf1ed8c4
Use our implementation of randomInt 2020-11-10 17:04:09 +01:00
Chocobozzz 2af337c839
Cleanup follows of orphean actors 2020-11-10 16:29:35 +01:00
Chocobozzz 0223291c45
Delay video views scheduled job
To not overload the federation
2020-11-10 15:04:08 +01:00
Chocobozzz 998440b6ec
Fix live migrations 2020-11-10 10:45:20 +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 529f037294 Revert some mistakes 2020-11-09 15:33:04 +01:00
Chocobozzz ba881f0e3f Reduce P2P blacklist in tracker 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 a056ca4813 Add max lives limit 2020-11-09 15:33:04 +01:00
Chocobozzz 31c82cd914 Fix replay saving 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 c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Chocobozzz 20dcfd7498
Deprecate old static routes 2020-08-26 15:03:00 +02:00
Chocobozzz 50fcdebdb1
Update server dependencies 2020-08-25 13:54:59 +02:00
Chocobozzz 74055dc882
Fix tests 2020-08-24 14:11:15 +02:00
Chocobozzz b0ce7c39dc
Add ssl support to postgresql 2020-08-24 11:38:57 +02:00
Chocobozzz 4f24f16e27
Better error message on postgresql connection err 2020-08-24 11:34:15 +02:00
Chocobozzz cbb513e737 Add server migration for playlists 2020-08-19 11:30:21 +02:00
Rigel Kent b056afe0ac
add .ac3, .aac audio and more video extensions 2020-08-18 09:54:05 +02:00
Chocobozzz 07c01b3154
Add kabile to supported languages 2020-08-11 09:41:57 +02:00
Chocobozzz 30bc55c88b Refactor video extensions logic in server 2020-08-11 07:57:20 +02:00
Rigel Kent fccbbc1a77 add and document new additional video extensions supported at upload 2020-08-10 09:46:59 +02:00
Chocobozzz d573926e9b Add migrations for abuse messages 2020-07-31 11:35:19 +02:00
Chocobozzz edbc932546 Add server API to abuse messages 2020-07-31 11:35:19 +02:00
Rigel Kent 654a188f80 allow sorting notifications 2020-07-29 18:15:53 +02:00
Chocobozzz 677ea3c084
Relax migrations 2020-07-11 08:58:06 +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
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
Girish Ramakrishnan 6ee7221117 Add database.name config option
If database.name is set, we use it as the complete database name.
If unset, we use the "peertube"+database.suffix as the complete database
name.

Fixes #1620
2020-06-25 08:48:44 +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 fd261a8de9
Fix video view filename 2020-06-15 15:18:54 +02:00
Chocobozzz 5fb2e2888c First implem global search 2020-06-10 14:02:41 +02:00
Levi Bard 3092e9bbb0
Make federation of unlisted videos an instance-level server preference (#2802)
* Add preference for federating unlisted videos

* Connect unlisted video federation with new preference

* Apply pull request feedback

* Fix lint issues

* Remove preference for federating unlisted videos from web admin interface
2020-06-03 09:42:07 +02:00
Chocobozzz 72c33e716f Support broadcast messages 2020-05-29 09:32:12 +02:00
Chocobozzz d2a5c4e150
Fix broken migration introduced in 2.2.0-rc.1 2020-05-25 08:59:59 +02:00
Chocobozzz 51539e95d9
Fix migrations 2020-05-18 09:43:36 +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 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 298b3fd315
Increase video comments limit 2020-05-05 16:48:30 +02:00
Chocobozzz 4c576aca1c
Fix playlist description length 2020-05-05 16:34:50 +02:00
Rigel Kent 5140edafeb
Fix plugin-auth migration 2020-05-05 13:52:10 +02:00
Chocobozzz 9107d791e2 Add external login tests 2020-05-04 16:21:39 +02:00
Chocobozzz 055cfb11a9 Add plugin auth migrations 2020-05-04 16:21:39 +02:00
Chocobozzz 8dc8a34ee8 Avoir some circular dependencies 2020-05-04 16:21:39 +02:00
Rigel Kent 0251197e24 Factorize rest-table and fix/simplify SQL 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 2fd59d7d89
Add ability to sort by originallyPublishedAt 2020-04-20 14:05:52 +02:00
Chocobozzz d694b19344
Increase fetcher job ttl 2020-04-11 09:07:15 +02:00
Ismaël Bouya ed3f089cc7 Add sendmail 2020-04-10 10:20:06 +02:00
Chocobozzz 4d9ae8f7cf
Increase max page value 2020-04-10 09:46:01 +02:00
Chocobozzz 7cbbf79ff0
Check config resolutions keys 2020-04-10 08:55:21 +02:00
Chocobozzz 8c9e787526
Add ability to accept or not remote redundancies 2020-04-07 15:32:20 +02:00
Chocobozzz 764a965778
Implement pagination for overviews endpoint 2020-03-11 15:02:20 +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 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 c6de3a85ee
Fix remote avatar without AP mediatype field 2020-02-12 10:23:24 +01:00
Chocobozzz 338eb9d33a
Merge branch 'release/2.1.0' into develop 2020-02-07 09:10:59 +01:00
Chocobozzz 26469f9ed8
Correctly fix octet stream fallback for video ext 2020-02-07 09:02:18 +01:00
Chocobozzz 99d362de0c
Support wma and wav audio files 2020-02-07 09:02:04 +01:00
Chocobozzz bc053fb303
Remove octet stream fallback for video extension
It could be a FLAC file for example
2020-02-06 17:22:32 +01:00
Chocobozzz cef4e38f1c
Remove octet stream fallback for video extension
It could be a FLAC file for example
2020-02-06 17:07:29 +01:00
Chocobozzz 4fdeef8125
Fix language list build 2020-02-06 17:06:11 +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
Rigel Kent 06bcfbd9f7 Downsample to the closest divisor standard framerate 2020-01-29 13:42:15 +01:00
Chocobozzz b764380ac2 Add ability to list redundancies 2020-01-28 11:35:26 +01:00
Chocobozzz be7ca0c6b9
Use a proxy for youtube-dl to avoid travis errors 2020-01-21 16:46:59 +01:00
Chocobozzz f0ad471007
Update a little bit user dropdown message 2020-01-21 14:05:22 +01:00
Chocobozzz ab4d4db44a
Avoid follow SQL conflicts 2020-01-10 13:34:20 +01:00
Chocobozzz 6fd8c4da26
Cleanup DB indexes 2020-01-10 13:33:22 +01:00
Chocobozzz e0b56b7495
Return an error on invalid count pagination 2020-01-09 09:36:31 +01:00
Chocobozzz 35f28e94c7
Add infohash cache 2020-01-03 13:47:45 +01:00
Rigel Kent c1125bcadc
Add comment filtering by reply count 2019-12-27 17:02:44 +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 2735a154dc
Fix video import with long thumbnail url 2019-12-17 09:55:33 +01:00
Rigel Kent bee29df8a9 autoplay next video support for playlists 2019-12-13 09:13:43 +01:00
Chocobozzz 2f6b5e2d6e
Add max file size, max files and ip anonymize log options 2019-12-12 17:15:38 +01:00
Chocobozzz 22a73cb879
Add internal privacy mode 2019-12-12 16:51:59 +01:00
Chocobozzz 907b8f9347
Use a migration script to generate HLS torrent files 2019-12-12 10:56:34 +01:00
Chocobozzz 566c125d6e
Serve audit logs to client 2019-12-11 14:14:01 +01:00
Chocobozzz 2034c3aaa0
Add warning if videos directory is the same than redundancy 2019-12-10 14:31:08 +01:00
Chocobozzz c37a52b046
Support m4v videos 2019-12-05 11:07:57 +01:00
Chocobozzz fee47735bd
Fix migrations 2019-12-05 08:38:32 +01:00
Julien Maulny 69222afac8 Soft delete video comments instead of detroy 2019-12-04 09:36:45 +01:00
Chocobozzz a3ce4ae847
Limit channel numbers
We can't load too much channels in selects and it helps to prevent actor
name squatting
2019-11-29 16:35:27 +01:00
Chocobozzz cb5ce4cb13
Add more filters to admin follows table 2019-11-29 11:16:43 +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 d441f2ed78
Add disable webtorrent migration 2019-11-25 10:59:45 +01:00
Chocobozzz d7a25329f9
Add ability to disable webtorrent
In favour of HLS
2019-11-25 10:59:43 +01:00
Chocobozzz 959dbbd7bf
Avoid circular error in logger 2019-11-05 11:08:51 +01:00
Chocobozzz 5d9e4eaabe
Add ability to enabled HLS in the admin panel 2019-11-05 10:13:37 +01:00
Chocobozzz f67d757452
Increase clock skew for HTTP signatures 2019-10-25 14: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
Chocobozzz fff2183df6
Fix audio uploading without preview 2019-10-18 12:03:32 +02:00