Commit Graph

43 Commits (91f975f9596691242b1e9dbc2e7c869e53989375)

Author SHA1 Message Date
Chocobozzz 4cbea51255
Add subdivision to viewer stats 2023-12-28 09:56:05 +01:00
Chocobozzz b9077c83fc
Add ability to disable storyboards 2023-12-27 10:39:09 +01:00
Chocobozzz 640bc1a0cd
Current time cannot be null 2023-12-20 16:07:48 +01:00
Chocobozzz 66776b6a25
Merge branch 'release/6.0.0' into develop 2023-12-20 14:07:47 +01:00
Chocobozzz b5ae080f32
Fix tests 2023-12-20 13:51:01 +01:00
Chocobozzz fe37e5232b
Add ability to customize views/playback interval 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 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 1e121c9898
Fix invalid state change notif of remote live 2023-12-15 15:58:07 +01:00
Chocobozzz f51bafb3fa
Fix chapters tests 2023-11-29 15:01:46 +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 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 193e752c44
Increase test timeouts 2023-11-06 14:04:43 +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 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 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 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 5bd42bbca7
Fix resumable tests 2023-10-11 16:17:11 +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
Chocobozzz 3601872153
Support empty value returned by video get filter 2023-10-03 09:36:00 +02:00
Chocobozzz 1022e27309
Fix live replay privacy change 2023-09-01 16:47:25 +02:00
Chocobozzz 77b70702d2
Add video chapters support 2023-08-28 16:17:31 +02:00
Chocobozzz 7113f32a87
Fix build 2023-08-21 15:55:54 +02:00
Chocobozzz ab5f1356b9
Try to fix github ci 2023-08-21 15:04:33 +02:00
Chocobozzz 18570bee99
Add unset originallyPublishedAt test 2023-08-18 11:50:36 +02:00
Chocobozzz 18987248f6
Add test without replay settings object 2023-08-18 11:45:16 +02:00
Chocobozzz 8e4fba97b2
Automatically adapt player ratio 2023-08-18 09:48:45 +02:00
Chocobozzz e4f82eaa8b
Remove invalid timeout 2023-08-17 14:34:49 +02:00
Chocobozzz c380e39285
Merge branch 'feature/esm-and-nx' into develop 2023-08-17 08:59:21 +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