aboutsummaryrefslogtreecommitdiffhomepage
path: root/shared/server-commands
Commit message (Collapse)AuthorAgeFilesLines
* Migrate server to ESMChocobozzz2023-08-1176-7761/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* currentTime is now requiredChocobozzz2023-07-281-2/+2
|
* Refactor enableTranscoding command helpersChocobozzz2023-07-281-4/+13
|
* Add ability to force transcodingChocobozzz2023-07-281-5/+2
|
* Improve runner managementChocobozzz2023-07-271-7/+15
| | | | | | | * Add ability to remove runner jobs * Add runner job state quick filter * Merge registration tokens and runners tables in the same page * Add copy button to copy registration token
* Add video file update hook testsChocobozzz2023-07-251-9/+21
|
* Implement video file replacement in clientChocobozzz2023-07-251-39/+42
|
* Implement replace file in server sideChocobozzz2023-07-213-14/+92
|
* Avoid duplicate runner namesChocobozzz2023-07-121-1/+2
|
* Rename "videos" config to "web-videos"Chocobozzz2023-07-113-5/+5
|
* Rename webtorrent config to web_videosChocobozzz2023-07-111-3/+3
|
* Prefer web videos in favour of webtorrentChocobozzz2023-07-113-10/+10
|
* Fix storyboard testsChocobozzz2023-06-291-0/+1
|
* Fix CI testsChocobozzz2023-06-292-2/+2
|
* Add storyboard supportChocobozzz2023-06-295-1/+46
|
* Feature/password protected videos (#5836)Wicklow2023-06-2910-14/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add server endpoints * Refactoring test suites * Update server and add openapi documentation * fix compliation and tests * upload/import password protected video on client * add server error code * Add video password to update resolver * add custom message when sharing pw protected video * improve confirm component * Add new alert in component * Add ability to watch protected video on client * Cannot have password protected replay privacy * Add migration * Add tests * update after review * Update check params tests * Add live videos test * Add more filter test * Update static file privacy test * Update object storage tests * Add test on feeds * Add missing word * Fix tests * Fix tests on live videos * add embed support on password protected videos * fix style * Correcting data leaks * Unable to add password protected privacy on replay * Updated code based on review comments * fix validator and command * Updated code based on review comments
* Fix broken replay with long live video nameChocobozzz2023-06-291-1/+8
|
* Prevent object storage mock conflictsChocobozzz2023-05-233-51/+75
| | | | When running tests in parallel
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-221-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Add correct feed image to RSS channel * Prefer HLS videos for podcast RSS Remove video/stream titles, add optional height attribute to podcast RSS * Prefix podcast RSS images with root server URL * Add optional video query support to include captions * Add transcripts & person images to podcast RSS feed * Prefer webseed/webtorrent files over HLS fragmented mp4s * Experimentally adding podcast fields to basic config page * Add validation for new basic config fields * Don't include "content" in podcast feed, use full description for "description" * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Add correct feed image to RSS channel * Prefer HLS videos for podcast RSS Remove video/stream titles, add optional height attribute to podcast RSS * Prefix podcast RSS images with root server URL * Add optional video query support to include captions * Add transcripts & person images to podcast RSS feed * Prefer webseed/webtorrent files over HLS fragmented mp4s * Experimentally adding podcast fields to basic config page * Add validation for new basic config fields * Don't include "content" in podcast feed, use full description for "description" * Add medium/socialInteract to podcast RSS feeds. Use HTML for description * Change base production image to bullseye, install prosody in image * Add liveItem and trackers to Podcast RSS feeds Remove height from alternateEnclosure, replaced with title. * Clear Podcast RSS feed cache when live streams start/end * Upgrade to Node 16 * Refactor clearCacheRoute to use ApiCache * Remove unnecessary type hint * Update dockerfile to node 16, install python-is-python2 * Use new file paths for captions/playlists * Fix legacy videos in RSS after migration to object storage * Improve method of identifying non-fragmented mp4s in podcast RSS feeds * Don't include fragmented MP4s in podcast RSS feeds * Add experimental support for podcast:categories on the podcast RSS item * Fix undefined category when no videos exist Allows for empty feeds to exist (important for feeds that might only go live) * Add support for podcast:locked -- user has to opt in to show their email * Use comma for podcast:categories delimiter * Make cache clearing async * Fix merge, temporarily test with pfeed-podcast * Syntax changes * Add EXT_MIMETYPE constants for captions * Update & fix tests, fix enclosure mimetypes, remove admin email * Add test for podacst:socialInteract * Add filters hooks for podcast customTags * Remove showdown, updated to pfeed-podcast 6.1.2 * Add 'action:api.live-video.state.updated' hook * Avoid assigning undefined category to podcast feeds * Remove nvmrc * Remove comment * Remove unused podcast config * Remove more unused podcast config * Fix MChannelAccountDefault type hint missed in merge * Remove extra line * Re-add newline in config * Fix lint errors for isEmailPublic * Fix thumbnails in podcast feeds * Requested changes based on review * Provide podcast rss 2.0 only on video channels * Misc cleanup for a less messy PR * Lint fixes * Remove pfeed-podcast * Add peertube version to new hooks * Don't use query include, remove TODO * Remove film medium hack * Clear podcast rss cache before video/channel update hooks * Clear podcast rss cache before video uploaded/deleted hooks * Refactor podcast feed cache clearing * Set correct person name from video channel * Styling * Fix tests --------- Co-authored-by: Chocobozzz <me@florianbigard.com>
* Fix lowest server portChocobozzz2023-05-191-1/+1
|
* More robust testChocobozzz2023-05-151-1/+6
|
* Force live stream terminationChocobozzz2023-05-151-1/+1
|
* Don't run the server in detached stateChocobozzz2023-05-151-2/+2
|
* Increase request retry intervalChocobozzz2023-05-151-3/+3
| | | | CI seems to have a slow disk?
* Correctly wait for live segment generationChocobozzz2023-05-111-1/+6
|
* Fix testsChocobozzz2023-05-101-3/+3
|
* Prevent invalid end watch section warningsChocobozzz2023-05-101-1/+0
|
* Fix test cleanupChocobozzz2023-05-102-3/+4
|
* Try to have more robust live testsChocobozzz2023-05-102-20/+60
|
* Reload the video after waiting for the files lockChocobozzz2023-05-091-2/+2
|
* Support studio transcoding in peertube runnerChocobozzz2023-05-092-2/+24
|
* Add TMP persistent directoryChocobozzz2023-05-091-0/+1
| | | | To store files that must be preserved between peertube restarts
* Enable external plugins to test the PRChocobozzz2023-05-091-2/+2
|
* Add runner server testsChocobozzz2023-05-0917-221/+527
|
* feature/ability to disable video history by default (#5728)Wicklow2023-04-072-2/+7
| | | | | | | | | | | | | * draft: ability to disable video history by default * Update configuration and add tests * Updated code based on review comments * Add tests on registration and video quota * Remove required video quotas in query * Fix tests
* Feature/Add replay privacy (#5692)Wicklow2023-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * Add replay settings feature * Fix replay settings behaviour * Fix tests * Fix tests * Fix tests * Update openapi doc and fix tests * Add tests and fix code * Models correction * Add migration and update controller and middleware * Add check params tests * Fix video live middleware * Updated code based on review comments
* Hotfix/filter subscription videos (#5665)Wicklow2023-03-022-17/+15
| | | | | | | | | * Fix filters on subscription videos * Add tests to common video filters * Improve reliability when skipping subscrition path * Better parameters for skipping subscription videos
* Improve image test comparisonChocobozzz2023-02-241-1/+3
|
* Fix filters on playlistsWicklow2023-02-231-2/+4
|
* Update server dependenciesChocobozzz2023-02-162-3/+3
|
* Merge branch 'release/5.0.0' into developChocobozzz2023-01-271-2/+10
|\
| * Fix live with base url object storageChocobozzz2023-01-271-2/+10
| |
* | Add ability to not send an email for registrationChocobozzz2023-01-201-13/+7
| |
* | Add more signup limit testsChocobozzz2023-01-191-2/+2
| |
* | Add signup approval API testsChocobozzz2023-01-195-36/+204
| |
* | Add ability to customize token lifetimeChocobozzz2023-01-041-1/+1
| |
* | Prefer using sequelize replacements even for testsChocobozzz2023-01-031-58/+44
|/
* Fix P2P with object storageChocobozzz2022-12-301-0/+13
|
* Fix CI using 127.0.0.1 for testsChocobozzz2022-12-123-4/+5
|
* Support reinjecting token in private m3u8 playlistChocobozzz2022-12-021-1/+9
|