Commit Graph

15 Commits (ac2a74463e7bab37d3f63152cfb48afc30538c75)

Author SHA1 Message Date
Chocobozzz 4f3fb47884
Implement FEP-2677
Better way to find and follow remote instance actor
2023-12-27 16:01:52 +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 af8a47125f
Better isNewVideo variable/functions name 2023-12-15 14:52:12 +01:00
Chocobozzz 8a22cfd628
Fix client URLs for channels and accounts 2023-12-08 08:57:14 +01:00
Chocobozzz 443358ccce
Reduce video comment sql query size 2023-10-31 10:02: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 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 e731f4b724
Fix sitemap URL for accounts and channels 2023-10-20 16:00:36 +02:00
Chocobozzz 75d5a23dbc
Prevent error when removing a streaming playlist 2023-10-13 09:59:18 +02:00
Chocobozzz 2db1f3238d
Update server dependencies 2023-10-11 11:06:34 +02:00
Chocobozzz 5a3d0650c9
server/server -> server/core 2023-10-04 15:13:25 +02:00