Commit Graph

436 Commits (08cce2353558562e78c3c2a6554605be9d7ddf16)

Author SHA1 Message Date
Chocobozzz 08cce23535
Prefer innerText instead of innerHTML
The previous implementation can lead to XSS injection
2024-04-04 16:28:22 +02:00
Chocobozzz 5cb3e6a0b8
Use sessionId instead of IP to identify viewer
Breaking: YAML config `ip_view_expiration` is renamed `view_expiration`
Breaking: Views are taken into account after 10 seconds instead of 30
seconds (can be changed in YAML config)

Purpose of this commit is to get closer to other video platforms where
some platforms count views on play (mux, vimeo) or others use a very low
delay (instagram, tiktok)

We also want to improve the viewer identification, where we no longer
use the IP but the `sessionId` generated by the web browser. Multiple
viewers behind a NAT can now be able to be identified as independent
viewers (this method is also used by vimeo or mux)
2024-04-04 16:27:40 +02:00
Chocobozzz 11521f231f
Generate small versions of banners too 2024-03-27 15:08:09 +01:00
Chocobozzz 2fc3b90cb7
Fix local E2E tests 2024-03-06 10:36:40 +01:00
Chocobozzz 2a69a02527
Fix poster with pending lives 2024-03-05 15:28:53 +01:00
Chocobozzz cd9b8c2cc8
Better video player responsive 2024-02-28 14:25:35 +01:00
Chocobozzz 109bff4bf7
Better audio file handling 2024-02-28 10:46:20 +01:00
Chocobozzz 568726e48d
Fix broken player on broken video 2024-02-28 10:02:49 +01:00
Chocobozzz 9808b179a5
Faster player ratio change on video update 2024-02-28 08:42:36 +01:00
Chocobozzz dfe98695d6
Use server video ratio if available 2024-02-27 16:24:48 +01:00
Chocobozzz c4a062109d
Fallback HLS failure to web video player 2024-02-23 15:21:29 +01:00
Chocobozzz 9e2700b89d
Fix lint 2024-02-22 10:32:28 +01:00
Chocobozzz c97b8fd2ea
Add caption button to player control bar 2024-02-19 16:14:29 +01:00
Chocobozzz d1adcfadfd
Update angular to v17 2024-01-05 10:47:14 +01:00
Chocobozzz 0a53a54ed7
Merge branch 'release/6.0.0' into develop 2024-01-03 15:26:22 +01:00
Chocobozzz 5cf5465d20
Fix player ratio on audio only 2024-01-03 15:23:20 +01:00
Chocobozzz fe37e5232b
Add ability to customize views/playback interval 2023-12-20 10:55:47 +01:00
Chocobozzz 63c4a02ce0
Fix views events with lives 2023-12-14 11:12:18 +01:00
Chocobozzz d5fd8227b4
Avoid sending seek event on video start time 2023-12-14 09:52:50 +01:00
Chocobozzz ff338f7dda
Fix embed when waiting for a live 2023-12-08 10:13:08 +01:00
Chocobozzz b13460a10a
Add ability to set password from embed API 2023-11-23 08:14:54 +01:00
Chocobozzz 79a61fa9c6
Prevent player mobile buttons flickering 2023-11-20 09:42:54 +01:00
Chocobozzz 33c707616c
Disable p2p seeding using local storage
Used by E2E testing
2023-11-15 11:06:18 +01:00
Chocobozzz dbd0a3bcac
Fix player ratio on mobile with portrait videos 2023-11-08 15:56:56 +01:00
Chocobozzz 788fa301f2
Don't send views for private videos 2023-11-07 10:46:08 +01:00
Chocobozzz 04bd31bc18
Add more live latency info in stats for nerds 2023-10-30 11:08:09 +01:00
Chocobozzz a12d94f30d
Fix live start time
Use undefined to not break live edge position set by hls.js
2023-10-30 11:04:26 +01:00
Chocobozzz 078c97b357
Add chapter cache to time tooltip 2023-10-30 10:25:14 +01:00
Chocobozzz 049f50bc32
Fix start time with web video player 2023-10-27 14:29:40 +02:00
Chocobozzz 81a51d4bb1
Fix chapters markers in progress bar
Fix when we update the video source
Fix when we don't have the video duration yet when creating markers
2023-10-12 16:03:20 +02:00
Chocobozzz 114327d4ce
Fix margin with big resolution labels 2023-10-04 14:08:01 +02:00
Chocobozzz 77b70702d2
Add video chapters support 2023-08-28 16:17:31 +02:00
Chocobozzz 8e4fba97b2
Automatically adapt player ratio 2023-08-18 09:48:45 +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 ac8f81e373
Reduce hls.js not supported log
Happens often on iOS
2023-07-28 09:18:12 +02:00
Chocobozzz 809fecf2b4
Correctly dispose player components 2023-07-27 14:49:58 +02:00
Chocobozzz 39c0ceee8b
Fix player error modal
Not hidden when we change the video
2023-07-27 14:44:34 +02:00
Chocobozzz f42fcb4b58
Implement video file replacement in client 2023-07-25 11:53:08 +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 8a9d247105
Fix "undefined" in stats card 2023-07-20 11:18:47 +02:00
Chocobozzz 4ddf488ab5
Improve player settings menu style 2023-07-20 10:53:22 +02:00
Chocobozzz c8defc41ee
Fix max settings panel height 2023-07-20 10:26:14 +02:00
Chocobozzz bfd01f289d
Fix player metrics 2023-07-19 10:20:01 +02:00
Chocobozzz 9a72e4fe9e
Improve settings menu label handler 2023-07-17 11:31:46 +02:00
Chocobozzz e29221f855
Fix e2e tests 2023-07-17 11:31:46 +02:00
Chocobozzz 28dd2f14f5
Some player fixes on Android, Safari and iOS 2023-07-17 11:31:46 +02:00
Chocobozzz 930e1b939a
Fix HLS player on mobile 2023-07-17 11:31:46 +02:00
Chocobozzz 9bb541bec7
Round HTTP/P2P network stats 2023-07-17 11:31:46 +02:00
Chocobozzz 9bc85bd2f8
Prevent multiple sha requests 2023-07-17 11:31:46 +02:00