Chocobozzz
fe37e5232b
Add ability to customize views/playback interval
2023-12-20 10:55:47 +01:00
Chocobozzz
49a4b8cb7d
Add stats to logger
2023-12-20 10:55:47 +01:00
Chocobozzz
b4f4432459
Viewers federation protocol v2
...
More efficient than the current one where instance is not fast enough to
send all viewers if a video becomes popular
The new protocol can be enabled by setting env
USE_VIEWERS_FEDERATION_V2='true'
Introduce a result field in View activity that contains the number of
viewers. This field is used by the origin instance to send the total
viewers on the video to remote instances. The difference with the
current protocol is that we don't have to send viewers individually to
remote instances.
There are 4 cases:
* View activity from federation on Remote Video -> instance replaces
all current viewers by a new viewer that contains the result counter
* View activity from federation on Local Video -> instance adds the
viewer without considering the result counter
* Local view on Remote Video -> instance adds the viewer and send it to
the origin instance
* Local view on Local Video -> instance adds the viewer
Periodically PeerTube cleanups expired viewers. On local videos, the
instance sends to remote instances a View activity with the result
counter so they can update their viewers counter for that particular
video
2023-12-20 10:55:47 +01:00
Chocobozzz
a73f476c8a
We don't need cookies for REST API
2023-12-20 10:55:47 +01:00
Chocobozzz
dbdc20e673
Optimize views endpoint
...
Lazy write data in redis
2023-12-20 10:55:47 +01:00
Chocobozzz
eba9528391
Optimize async middleware
...
Avoid using bluebird, a simple for/await is enought
2023-12-20 10:55:47 +01:00
Chocobozzz
c93b7088c2
Fix downloading video files from object storage
...
With title that contains non ISO 8859 characters
2023-12-19 07:26:09 +01:00
Chocobozzz
1e121c9898
Fix invalid state change notif of remote live
2023-12-15 15:58:07 +01:00
Chocobozzz
4662badde7
Fix privacy error on live update without privacy
2023-12-15 15:51:59 +01:00
Chocobozzz
af8a47125f
Better isNewVideo variable/functions name
2023-12-15 14:52:12 +01:00
Chocobozzz
675f219639
Fix webtorrent crash
...
See https://github.com/Chocobozzz/PeerTube/issues/6109
2023-12-15 10:18:20 +01:00
Chocobozzz
edc695263f
Escape quotes for html attributes
2023-12-14 11:33:08 +01:00
Chocobozzz
63c4a02ce0
Fix views events with lives
2023-12-14 11:12:18 +01:00
Chocobozzz
ff338f7dda
Fix embed when waiting for a live
2023-12-08 10:13:08 +01:00
Chocobozzz
e06e2da187
Fix cpu count when cpu info not available
2023-12-08 09:13:16 +01:00
Chocobozzz
8a22cfd628
Fix client URLs for channels and accounts
2023-12-08 08:57:14 +01:00
Chocobozzz
2fde12d7e1
Fix profile page JSONLD
2023-12-08 08:41:14 +01:00
Chocobozzz
4fd8d34175
Ensure user is owned by plugin before updating it
2023-12-06 08:43:19 +01:00
Chocobozzz
c6047e1573
Add missing logger tags
2023-11-29 16:31:29 +01:00
Chocobozzz
f9e710e7d4
Fix chapters import
2023-11-29 14:12:13 +01:00
Chocobozzz
ba56aadb63
Regenerate storyboard after studio
2023-11-29 09:58:20 +01:00
Chocobozzz
bda1d751a5
Add warning for web_videos directory name
2023-11-29 09:28:12 +01:00
Chocobozzz
c900788e59
Remove async-lru cache for jsonld
...
jsonld library has already a cache
2023-11-29 06:51:29 +01:00
Chocobozzz
a5bdce80f6
Keep increasing storyboard generation ttl
2023-11-28 15:42:48 +01:00
Chocobozzz
17f1920658
Fix CPU going to 100% on odd cpu count
...
See https://github.com/piscinajs/piscina/pull/457
2023-11-28 13:32:51 +01:00
Chocobozzz
a0606360a7
Return 400 if filter query is still there
2023-11-28 08:08:57 +01:00
Chocobozzz
11f40299c5
Workaround to fix bug where CPU at 100%
...
Commit b017d4d02f
does not seem to work
2023-11-24 18:11:11 +01:00
Chocobozzz
b017d4d02f
Fix weird bug where CPU jumps and stays to 100%
...
Seems related to lazy import of custom-jsonld-signature
So we refactored jsonld function calls a little bit
2023-11-24 14:44:18 +01:00
Chocobozzz
f93bc6a8be
Retry runner job db saving if needed
2023-11-24 14:44:04 +01:00
Chocobozzz
5ef3378534
Log piscina errors
2023-11-21 17:35:36 +01:00
Chocobozzz
aeea2d864f
Limit max piscina threads bases on CPUs
2023-11-21 17:25:44 +01:00
Chocobozzz
d4f21493e1
Respect "transcode original resolution" for runner
2023-11-17 16:25:11 +01:00
Chocobozzz
1682b0bab0
Increase generate-video-storyboard job ttl
...
See https://github.com/Chocobozzz/PeerTube/issues/6029
2023-11-17 16:24:55 +01:00
Chocobozzz
3da9fbbe39
Adapt storyboard sprite ratio
2023-11-09 09:03:32 +01:00
Chocobozzz
2bc4d26b94
Add ability to customize frames to analyze
2023-11-08 10:18:39 +01:00
Chocobozzz
2d4274769e
Fix production.yaml.new config generation
2023-11-07 10:25:15 +01:00
Chocobozzz
d3c9a2e5b9
Add script to move videos to file system
2023-11-02 09:21:49 +01:00
Chocobozzz
443358ccce
Reduce video comment sql query size
2023-10-31 10:02:19 +01:00
Chocobozzz
2e556debca
Fix log error
2023-10-30 14:14:19 +01:00
Chocobozzz
543fbd1ffe
Correctly display broken muxing session
...
Can happen when we stream an audio stream only
2023-10-30 11:57:39 +01:00
Chocobozzz
880f8b924d
Add worker thread completed OTEL metric
2023-10-27 14:40:53 +02:00
Chocobozzz
a2d5c2d44f
Add worker thread queue metrics
2023-10-26 16:34:54 +02:00
Chocobozzz
606c044dc8
Fix uploading empty master playlist on s3
2023-10-26 15:14:14 +02:00
Chocobozzz
40a6dcb632
Optimize video views redis calls
...
Try to avoid them if we can
2023-10-26 14:08:19 +02:00
Chocobozzz
de862fd0e7
Optimize video viewer stats
...
Many Redis (and so network) calls can be expensive
Avoid them if we can by using in memory cache
2023-10-26 11:35:55 +02:00
Chocobozzz
8ecf95471d
Also remove video session on muxing error
2023-10-26 09:07:26 +02:00
Chocobozzz
dd7de7e32d
Don't add a LIMIT 1 to prevent seq scan
2023-10-26 08:36:53 +02:00
Chocobozzz
d3dd952cc5
Try to optimize tagsOneOf/tagsAllOf SQL queries
...
Using a CTE because the query will probably return a few results
I tried a IN clause but PG doesn't seem to be more efficient with it
The CTE seems to be the only choice
2023-10-25 16:15:41 +02:00
Chocobozzz
a290fbf821
Add isLive DB index
2023-10-25 15:07:36 +02:00
Chocobozzz
82813e9739
Optimize infohash SQL query
...
We need to use the array operator to use GIN index
2023-10-25 15:04:00 +02:00
Chocobozzz
360439088d
Skip counting for recommended videos
2023-10-25 14:55:06 +02:00
Chocobozzz
cb38deb288
Process unicast job in a worker too
...
Signing the request can take a long time
2023-10-25 09:43:57 +02:00
Chocobozzz
90db2b3aed
Add ability to disable HTTP logs
2023-10-24 10:57:41 +02:00
Chocobozzz
edc3ff6085
Sign JSON objects in worker threads
2023-10-24 10:45:17 +02:00
Chocobozzz
521face89e
Add embed info jsonld in embeds too
2023-10-20 16:15:45 +02:00
Chocobozzz
53fdb2e83e
Fix server build
2023-10-20 16:05:38 +02:00
Chocobozzz
f90db24233
Fix SEO and refactor HTML pages generation
...
* Split methods in multiple classes
* Add JSONLD tags in embed too
* Index embeds but use a canonical URL tag (targeting the watch page)
* Remote objects don't include a canonical URL tag anymore. Instead we
forbid indexation
* Canonical URLs now use the official short URL (/w/, /w/p, /a, /c
etc.)
2023-10-20 16:00:36 +02:00
Chocobozzz
e731f4b724
Fix sitemap URL for accounts and channels
2023-10-20 16:00:36 +02:00
Chocobozzz
58daa2d97b
More flexible way to forbid indexation
2023-10-20 16:00:36 +02:00
Chocobozzz
272a902b2a
Optimize video thumbnail generation
...
Process images in worker threads
Reduce ffmpeg calls
2023-10-20 16:00:36 +02:00
Wicklow
ea6c2b064f
Allow to change the default channel name ( #6000 )
...
* Allow to change the default channel name
* Fix tests
* Fix tests
* Fix tests
2023-10-19 15:22:00 +02:00
Chocobozzz
3546128f95
Workaround to bullmq undefined jobs
2023-10-18 15:46:18 +02:00
Chocobozzz
75d5a23dbc
Prevent error when removing a streaming playlist
2023-10-13 09:59:18 +02:00
Chocobozzz
58fda6d416
Fix upload with chapters having non int timecode
2023-10-12 15:32:01 +02:00
Chocobozzz
44e12dc809
Update bullmq dependency
2023-10-12 09:29:45 +02:00
Chocobozzz
7243393272
Fix signup and import
2023-10-11 15:58:16 +02:00
Chocobozzz
678ae8abbd
Breaking: only support node 18
...
Node 16 is not supported anymore
See https://nodejs.org/fr/blog/announcements/nodejs16-eol
2023-10-11 13:59:24 +02:00
Chocobozzz
2db1f3238d
Update server dependencies
2023-10-11 11:06:34 +02:00
Chocobozzz
e049e3ec73
Remove unused file
2023-10-06 09:59:18 +02:00
Chocobozzz
516479f113
Try to use atomic move for runner live
2023-10-05 11:09:11 +02:00
Chocobozzz
d970837922
Fix test paths
2023-10-04 15:40:33 +02:00
Chocobozzz
5a3d0650c9
server/server -> server/core
2023-10-04 15:13:25 +02:00
Chocobozzz
d0f8a0e677
Fix mime type handling from remote instances
2023-10-04 09:59:27 +02:00
Chocobozzz
1611721c9b
Fix feed audio file mimetype
2023-10-03 12:20:11 +02:00
Chocobozzz
3601872153
Support empty value returned by video get filter
2023-10-03 09:36:00 +02:00
Wicklow
9864a0cae1
Add brazilian option for video/captions languages ( #5971 )
...
* Add brazilian option for video/captions languages
* Respect default local region
2023-10-02 11:54:13 +02:00
Johnny Jazeix
86731e752a
Add Valencian option for video/captions languages ( #5975 )
2023-10-02 11:53:32 +02:00
Chocobozzz
1022e27309
Fix live replay privacy change
2023-09-01 16:47:25 +02:00
Chocobozzz
a1d9318066
Stop live before removing files
2023-09-01 13:16:27 +02:00
Julien Rabier
0216c3485d
Fix path to Peertube installation in upgrade.sh
2023-09-01 11:07:37 +02:00
Chocobozzz
d2640682f6
Fix atom feed with science and technology category
2023-09-01 10:09:10 +02:00
Chocobozzz
0cc1a69881
Avoid federation error logs with likes on notes
2023-09-01 09:58:13 +02:00
Chocobozzz
c4799cd1b9
Avoid illegal characters in torrent filename
2023-09-01 09:55:08 +02:00
Chocobozzz
ca8a00d0e7
Fix ERR_HTTP_HEADERS_SENT crash
2023-09-01 09:27:57 +02:00
Chocobozzz
9f4bdf3915
Add Guadeloupean language support
2023-08-28 17:11:27 +02:00
Chocobozzz
fe1e3535fd
Ping runners on job abort/error
2023-08-28 16:59:45 +02:00
Chocobozzz
77b70702d2
Add video chapters support
2023-08-28 16:17:31 +02:00
Chocobozzz
0d87602a20
Optimize update host script
2023-08-18 14:21:04 +02:00
Chocobozzz
64cb55fcb1
Correctly handle optional replay setting
2023-08-18 11:52:12 +02:00
Chocobozzz
7ace48819e
Add ability to reset originallyPublishedAt
2023-08-18 11:40:54 +02:00
Chocobozzz
90b84bd4bb
Fix live replay setting breaking change
2023-08-18 10:49:33 +02:00
Chocobozzz
822872aacd
Don't display admin email in security.txt
2023-08-18 10:35:45 +02:00
Chocobozzz
3ff44b67ea
Fix plugin global path error log
2023-08-18 10:19:43 +02:00
Chocobozzz
9c63644b2d
Fix peertube helpers tsx tests
2023-08-18 10:18:56 +02:00
Seth Falco
2055962c84
fix: handle git installation of ffmpeg
2023-08-18 10:17:16 +02:00
Chocobozzz
3a4992633e
Migrate server to ESM
...
Sorry for the very big commit that may lead to git log issues and merge
conflicts, but it's a major step forward:
* Server can be faster at startup because imports() are async and we can
easily lazy import big modules
* Angular doesn't seem to support ES import (with .js extension), so we
had to correctly organize peertube into a monorepo:
* Use yarn workspace feature
* Use typescript reference projects for dependencies
* Shared projects have been moved into "packages", each one is now a
node module (with a dedicated package.json/tsconfig.json)
* server/tools have been moved into apps/ and is now a dedicated app
bundled and published on NPM so users don't have to build peertube
cli tools manually
* server/tests have been moved into packages/ so we don't compile
them every time we want to run the server
* Use isolatedModule option:
* Had to move from const enum to const
(https://www.typescriptlang.org/docs/handbook/enums.html#objects-vs-enums )
* Had to explictely specify "type" imports when used in decorators
* Prefer tsx (that uses esbuild under the hood) instead of ts-node to
load typescript files (tests with mocha or scripts):
* To reduce test complexity as esbuild doesn't support decorator
metadata, we only test server files that do not import server
models
* We still build tests files into js files for a faster CI
* Remove unmaintained peertube CLI import script
* Removed some barrels to speed up execution (less imports)
2023-08-11 15:02:33 +02:00
Chocobozzz
3229fcf704
More robust logs tests
2023-07-31 09:35:48 +02:00
Chocobozzz
5e1ced7067
Fix live tests
2023-07-31 09:31:28 +02:00
Chocobozzz
257df4cb56
Remove deprecated "views" from live video event
2023-07-28 16:35:57 +02:00
Chocobozzz
982edf32ae
Remove deprecated video query filter
2023-07-28 16:33:12 +02:00
Chocobozzz
ce8d0b5aae
Remove deprecated scheduler
2023-07-28 16:22:27 +02:00
Chocobozzz
b203a25e1f
Keep s3 commands simple
...
As s3 implementation between s3 providers can be different
2023-07-28 16:21:15 +02:00
Chocobozzz
eeb838faf2
currentTime is now required
2023-07-28 16:17:37 +02:00
Chocobozzz
74c8d5bf2d
Refactor enableTranscoding command helpers
2023-07-28 16:06:49 +02:00
Chocobozzz
f932957b2e
Remove banner/avatar fields from channel/account
...
Deprecated since 4.2
2023-07-28 11:41:14 +02:00
Chocobozzz
89aa333110
Add ability to force transcoding
2023-07-28 11:09:03 +02:00
mira.bat
f862be2749
Add an option to sign federated fetches for mastodon compatibility ( #5898 )
...
* Fix player error modal
Not hidden when we change the video
* Correctly dispose player components
* Sign cross-server fetch requests for mastodon AUTHORIZED_FETCH compatibilty
* Add a remote fetch sign configuration knob
* Federated fetches refactoring
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>
Co-authored-by: ira <ira@foxgirl.space>
2023-07-27 17:01:15 +02:00
Chocobozzz
787d822cd4
Rephrase emailer conflict error messages
2023-07-27 16:41:35 +02:00
Chocobozzz
f18003d0ac
Improve runner management
...
* Add ability to remove runner jobs
* Add runner job state quick filter
* Merge registration tokens and runners tables in the same page
* Add copy button to copy registration token
2023-07-27 14:17:12 +02:00
Chocobozzz
17522af1e0
Use typed pick
2023-07-26 10:49:32 +02:00
Chocobozzz
69e3f2049f
Fix invalid short uuid conversion
...
Avoid "TypeError: Expected a string but received a null" error
2023-07-26 10:48:30 +02:00
Chocobozzz
3ffff82e87
Truncate html/og/card HTML description tags
2023-07-26 10:19:51 +02:00
Chocobozzz
d7c3670945
Fix lint
2023-07-26 10:08:24 +02:00
Chocobozzz
22e7ffc781
Fix check params tests
2023-07-26 09:42:44 +02:00
Chocobozzz
93fd6f3b18
Fix fk error when generating storyboard
2023-07-26 09:25:21 +02:00
Chocobozzz
89b9eab5a7
Add more logs to debug oauth-client error
2023-07-26 09:25:10 +02:00
Chocobozzz
97583d0023
Add more rate limits
2023-07-26 08:37:50 +02:00
Chocobozzz
9901c8d690
Add video file update hook tests
2023-07-25 15:17:58 +02:00
Chocobozzz
3b46eec8ae
Remove unused param
2023-07-25 14:26:12 +02:00
Chocobozzz
f42dd5524b
Add more context to request error
2023-07-25 14:21:01 +02:00
Chocobozzz
f42fcb4b58
Implement video file replacement in client
2023-07-25 11:53:08 +02:00
Chocobozzz
12dc3a942a
Implement replace file in server side
2023-07-21 17:38:13 +02:00
Chocobozzz
c6867725fb
Add p2p info to metrics
2023-07-21 11:42:52 +02:00
Chocobozzz
305facdfab
Add peers number and p2p enabled label to metrics
2023-07-20 12:06:39 +02:00
Chocobozzz
15c2303489
More robust runner socket test
2023-07-19 10:43:12 +02:00
Chocobozzz
6b745df087
Try to fix CI test
2023-07-17 14:34:44 +02:00
Chocobozzz
28dd2f14f5
Some player fixes on Android, Safari and iOS
2023-07-17 11:31:46 +02:00
Chocobozzz
5c34189aa9
Fix prune storage test
2023-07-12 11:32:12 +02:00
Chocobozzz
d874522774
Avoid update remote runner error
2023-07-12 11:14:59 +02:00
Chocobozzz
d959b763f0
Avoid duplicate runner names
2023-07-12 10:56:07 +02:00
Chocobozzz
88cde4392a
Merge branch 'release/5.2.0' into develop
2023-07-12 10:37:59 +02:00
Chocobozzz
d98909f690
Fix fps transcoding on remote runners
2023-07-12 10:07:21 +02:00
Chocobozzz
34555bebf8
Migrate from webseed to web-videos
2023-07-11 11:39:59 +02:00
Chocobozzz
d732ec7b46
Rename "videos" config to "web-videos"
2023-07-11 11:23:51 +02:00
Chocobozzz
c57ad141a9
Rename webtorrent config to web_videos
2023-07-11 09:52:14 +02:00
Chocobozzz
784e2ad5c3
Prefer web videos in favour of webtorrent
2023-07-11 09:21:13 +02:00
Chocobozzz
a1bd2b77d9
Remove webtorrent support from client
2023-07-10 16:08:28 +02:00
Chocobozzz
9cd06903f4
Fix HLS playlist generation with 0 duration length
2023-06-29 14:20:03 +02:00
Chocobozzz
a287136427
Fix migration conflict
2023-06-29 13:52:24 +02:00
Chocobozzz
6bd160a68d
Fix 400 error on resumable re-upload
2023-06-29 11:35:25 +02:00
q_h
926c3f2b37
Fix the cleanup after a failed upload ( #5840 )
...
* Fix the cleanup after a failed upload
* Update tests
* Update tests
2023-06-29 10:38:37 +02:00
Chocobozzz
d961735d5d
Fix prune storage tests
2023-06-29 10:19:55 +02:00
Chocobozzz
17ad0e8428
Fix regenerate thumbnail test
2023-06-29 10:19:55 +02:00
Chocobozzz
cf069671f4
Use promise cache to load remote thumbnails
2023-06-29 10:19:55 +02:00
Chocobozzz
2b5dfa2fe0
Fix adding element in playlists
2023-06-29 10:19:55 +02:00
Chocobozzz
7a30349748
Fix migration conflict
2023-06-29 10:19:55 +02:00
Chocobozzz
53d4db2a8a
Fix playlist thumbnail generation
2023-06-29 10:19:54 +02:00
Chocobozzz
109d4a7f01
Add thumbnail disk database migration
2023-06-29 10:19:33 +02:00
Chocobozzz
bafaba0bcd
Support lazy download of remote video miniatures
2023-06-29 10:19:33 +02:00
Chocobozzz
f162d32da0
Support lazy download thumbnails
2023-06-29 10:19:33 +02:00