Commit Graph

89 Commits

Author SHA1 Message Date
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 c6a3445360
Fix lint 2023-07-17 14:17:18 +02:00
Chocobozzz d0b7d66f58
Fix password E2E tests 2023-07-17 11:46:24 +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
Wicklow cbe06f779f
Add e2e tests for password protected videos (#5860) 2023-07-17 11:31:42 +02:00
Chocobozzz 288e1d37e9
Fix lint 2023-07-12 13:39:37 +02:00
Chocobozzz 784e2ad5c3
Prefer web videos in favour of webtorrent 2023-07-11 09:21:13 +02:00
Chocobozzz a41b944398
Fix local e2e tests 2023-05-25 11:41:29 +02:00
Chocobozzz 51afea5411
Update client dependencies 2023-05-25 09:24:55 +02:00
Chocobozzz d0fbc9fd0a
Fix lint 2023-05-24 15:27:15 +02:00
Chocobozzz 7815dc450e
Prevent invalid end watch section warnings 2023-05-10 14:23:59 +02:00
Chocobozzz 748c6e4ef6
Breaking: drop firefox 68 support
Only support firefox >= 78
2023-02-28 10:06:52 +01:00
Chocobozzz a9536a4be9
Update E2E 2023-02-28 09:29:17 +01:00
Chocobozzz 92a6e85fe7
Breaking: remove ios 11, safari 11 support
Angular doesn't support these web browsers anymore
Safari 11 and iOS 11 are not supported anymore by Apple
2023-02-27 15:28:57 +01:00
Chocobozzz 5b94394a1a
Fix E2E with firefox 2023-02-27 11:58:35 +01:00
Chocobozzz e65ef81cf5
Update server dependencies 2023-02-16 11:56:58 +01:00
Chocobozzz 1ec4835dca
Create screenshots directory when needed 2023-02-15 16:26:21 +01:00
Wicklow 6053e6f53c Fix signup e2e test 2023-02-10 11:01:21 +01:00
Chocobozzz 5bdfa604f1 Add E2E client tests for signup approval 2023-01-19 13:53:40 +01:00
Chocobozzz 71e3e879c0
Support reinjecting token in private m3u8 playlist 2022-12-02 15:25:20 +01:00
Chocobozzz 27744d8e56
Upgrade chromedriver 2022-11-15 15:56:10 +01:00
Chocobozzz ca4bd9667d
Start E2E videos at 00:00:00 2022-11-02 14:09:54 +01:00
Chocobozzz eaa5dc3161
Reapply playsinline on player fallback 2022-10-31 13:47:55 +01:00
Chocobozzz b9b3d18dd9
Improve login test reliability for ios 2022-10-31 09:57:17 +01:00
Chocobozzz 57702d2537
Remove browserstack.err 2022-10-31 09:56:40 +01:00
Chocobozzz 814e9e07ba
Improve E2E tests
Add tests for private video static endpoints
Fix tests for local firefox
2022-10-28 15:22:40 +02:00
Chocobozzz d800ec5f36
Use android 7 for browser stack 2022-09-08 11:10:22 +02:00
Chocobozzz ace01da348
Fix z-index with custom homepage 2022-07-18 15:01:47 +02:00
Chocobozzz 85f6202a81
Add live play tests 2022-06-24 14:52:54 +02:00
Chocobozzz 1db86422eb
Add E2E tests for signup 2022-06-21 10:49:54 +02:00
Chocobozzz a6241926d2
Fix local E2E tests 2022-05-20 14:18:20 +02:00
Chocobozzz 2024a3b933
Fix e2e tests 2022-04-20 10:53:45 +02:00
Chocobozzz 948f734761
Fix lint 2022-01-03 14:49:57 +01:00
Chocobozzz cc4bf76c13
Handle async validators 2022-01-03 14:20:52 +01:00
Chocobozzz 3c065fe3b3
Enhance plugin video fields
Add video form tab selection
Add ability to display an error
2021-12-29 10:10:01 +01:00
Chocobozzz b65de1be4d
Use different p2p policy for embeds and webapp 2021-12-16 10:08:55 +01:00
Chocobozzz a9bfa85d2c
Add ability for admins to set default p2p policy 2021-12-16 10:08:55 +01:00
Chocobozzz 3cf68b869d
Ability for admins to set default upload values 2021-12-14 17:17:01 +01:00
Chocobozzz 450de91e22
Fix E2E tests 2021-11-24 10:49:12 +01:00
Chocobozzz afb7d2d5c6
Remove protractor workaround
We don't use it anymore
2021-10-14 11:50:22 +02:00
Chocobozzz 6d210220be
Fix NSFW filter and add tests 2021-09-03 16:35:18 +02:00
Chocobozzz 12d6b873cd
Improve e2e workflow and add doc 2021-09-02 09:07:42 +02:00
Chocobozzz 3419e0e1fe
Migrate to webdriverio 2021-09-01 15:06:46 +02:00
Chocobozzz 18305950c3
Fix E2E tests 2021-08-26 10:01:42 +02:00
Chocobozzz 9df52d660f
Migrate client to eslint 2021-08-18 08:35:06 +02:00
Chocobozzz 1d4591fd9c
Remove solution style ts config 2021-08-17 14:06:56 +02:00
Chocobozzz a1eda903a4
Support '/w/' and '/w/p/' for watch page
And use them as default in client
2021-05-28 11:38:08 +02:00
Chocobozzz 3ec535f72b
Fix E2E tests 2021-05-10 13:58:09 +02:00
Chocobozzz 494e60804d
Fix E2E tests 2021-05-05 09:05:46 +02:00