Chocobozzz
b6b50bf0b4
Use new plugin index sort and recommended tags
2023-12-20 10:55:47 +01:00
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