Commit Graph

103 Commits

Author SHA1 Message Date
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 dbdc20e673
Optimize views endpoint
Lazy write data in redis
2023-12-20 10:55:47 +01:00
Chocobozzz 9e0efe45ff
Improve tests 2023-12-20 10:55:28 +01:00
Chocobozzz 7b23f24b24
Fix thumbnail generation when on bad input seek 2023-12-19 08:23:38 +01:00
Chocobozzz 1e121c9898
Fix invalid state change notif of remote live 2023-12-15 15:58:07 +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 ea685879bb
Fix time to int parsing 2023-12-15 09:54:08 +01:00
Chocobozzz edc695263f
Escape quotes for html attributes 2023-12-14 11:33:08 +01:00
Chocobozzz b39214cb13
Fix tests 2023-12-08 09:34:35 +01:00
Chocobozzz 64d9b7abd2
Fix client tests 2023-12-08 09:13:12 +01:00
Chocobozzz 8a22cfd628
Fix client URLs for channels and accounts 2023-12-08 08:57:14 +01:00
Chocobozzz 4fd8d34175
Ensure user is owned by plugin before updating it 2023-12-06 08:43:19 +01:00
Chocobozzz f51bafb3fa
Fix chapters tests 2023-11-29 15:01:46 +01:00
Chocobozzz f9e710e7d4
Fix chapters import 2023-11-29 14:12:13 +01:00
Chocobozzz 8bb42bda52
Fix search index tests 2023-11-28 08:31:47 +01:00
Chocobozzz a0606360a7
Return 400 if filter query is still there 2023-11-28 08:08:57 +01:00
Chocobozzz f3e9a38d7e
Fix tests build 2023-11-24 14:51:31 +01:00
Chocobozzz d4f21493e1
Respect "transcode original resolution" for runner 2023-11-17 16:25:11 +01:00
Chocobozzz d8f846c69d
Add 'main' field to peertube types 2023-11-13 10:30:39 +01:00
Chocobozzz 3da9fbbe39
Adapt storyboard sprite ratio 2023-11-09 09:03:32 +01:00
Chocobozzz 5b394e1622
Increase test timeouts 2023-11-08 13:48:22 +01:00
Chocobozzz 2bc4d26b94
Add ability to customize frames to analyze 2023-11-08 10:18:39 +01:00
Chocobozzz 193e752c44
Increase test timeouts 2023-11-06 14:04:43 +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 15f2ac7152
Fix invalid timeout 2023-10-30 11:58:43 +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 ad801093b9
Simplify for loop 2023-10-30 11:17:46 +01:00
Chocobozzz 4fa78cda92
Fix timetoint
01:02 was translated to 01h02m instead of 01m02s
2023-10-30 10:20:25 +01:00
Chocobozzz f108600464
Fix CI 2023-10-30 09:09:55 +01:00
Chocobozzz 09ab8e577c
Increase timeouts 2023-10-26 16:41:19 +02:00
Chocobozzz bbd7de5c9d
CI can be very slow 2023-10-26 15:23:07 +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 b7f1bc0c33
Fix misc endpoints tests 2023-10-20 17:30:46 +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 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 ae468445b2
Increase other test timeouts 2023-10-18 15:57:11 +02:00
Chocobozzz 0397b31efe
Reduce views tests load 2023-10-18 15:53:17 +02:00
Chocobozzz 830907ec93
Increase test timeouts 2023-10-18 15:53:08 +02:00
Chocobozzz ea01bf0167
Increase tests timeout 2023-10-13 09:59:59 +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 5bd42bbca7
Fix resumable tests 2023-10-11 16:17:11 +02:00
Chocobozzz fca58de835
Fix runner test 2023-10-11 15:13:54 +02:00
Chocobozzz 2db1f3238d
Update server dependencies 2023-10-11 11:06:34 +02:00
Chocobozzz 8d20c8f391
Prevent setting color attribute on loading bar
Fire accessibility/HTML guidelines warnings/errors
2023-10-06 11:29:13 +02:00
Chocobozzz 5a3d0650c9
server/server -> server/core 2023-10-04 15:13:25 +02:00