aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/helpers
Commit message (Collapse)AuthorAgeFilesLines
* Migrate server to ESMChocobozzz2023-08-1182-6151/+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)
* Remove deprecated video query filterChocobozzz2023-07-281-8/+3
|
* Add an option to sign federated fetches for mastodon compatibility (#5898)mira.bat2023-07-271-11/+5
| | | | | | | | | | | | | | | | | | * Fix player error modal Not hidden when we change the video * Correctly dispose player components * Sign cross-server fetch requests for mastodon AUTHORIZED_FETCH compatibilty * Add a remote fetch sign configuration knob * Federated fetches refactoring --------- Co-authored-by: Chocobozzz <me@florianbigard.com> Co-authored-by: ira <ira@foxgirl.space>
* Improve runner managementChocobozzz2023-07-271-3/+13
| | | | | | | * 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
* Fix invalid short uuid conversionChocobozzz2023-07-261-1/+1
| | | | Avoid "TypeError: Expected a string but received a null" error
* Add more context to request errorChocobozzz2023-07-251-0/+5
|
* Implement replace file in server sideChocobozzz2023-07-212-0/+3
|
* Prefer web videos in favour of webtorrentChocobozzz2023-07-113-3/+5
|
* Fix 400 error on resumable re-uploadChocobozzz2023-06-291-8/+0
|
* Use promise cache to load remote thumbnailsChocobozzz2023-06-291-2/+20
|
* Handle correctly formatted AP attributedToChocobozzz2023-06-291-1/+2
|
* Simpler thumbnail generationChocobozzz2023-06-291-1/+1
|
* Add storyboard supportChocobozzz2023-06-291-1/+38
|
* Feature/password protected videos (#5836)Wicklow2023-06-291-3/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Correctly unload plugin pathsChocobozzz2023-06-061-5/+5
|
* Fix peertube subtitles importChocobozzz2023-05-261-3/+5
|
* Update server dependenciesChocobozzz2023-05-223-5/+6
|
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Avoid aborting completing jobsChocobozzz2023-05-191-0/+9
|
* Fix reset sequelize instanceChocobozzz2023-05-111-10/+1
|
* Fix audio transcoding copyChocobozzz2023-05-091-1/+1
|
* Prefer video studio instead of video editionChocobozzz2023-05-091-8/+8
| | | | Clearer and easier to find in the project
* Support studio transcoding in peertube runnerChocobozzz2023-05-092-3/+28
|
* Implement remote runner jobs in serverChocobozzz2023-05-0922-1483/+416
| | | | Move ffmpeg functions to @shared
* Feature/filter already watched videos (#5739)Wicklow2023-04-121-2/+4
| | | | | * filter already watched videos * Updated code based on review comments
* Add additional check for playlistNameChocobozzz2023-02-271-0/+5
|
* Fix dev instance following test instancesChocobozzz2023-02-172-2/+2
|
* Update server dependenciesChocobozzz2023-02-161-2/+2
|
* Reencode the video on cutChocobozzz2023-02-141-7/+20
| | | | | Unfortunately copying audio/video is not precise enough and could lead to inconsistencies
* Fix audio out of synced on studio cutChocobozzz2023-02-141-1/+4
|
* Fix retrying update on sql serialization conflictChocobozzz2023-02-141-4/+2
|
* Implement signup approval in serverChocobozzz2023-01-191-0/+25
|
* Refactor table attributesChocobozzz2023-01-092-1/+13
|
* External auth can update user on loginChocobozzz2023-01-042-8/+10
|
* Try to fix github api rate limitChocobozzz2022-12-291-1/+11
|
* More robust short to complete uuid error handlerChocobozzz2022-12-281-1/+7
|
* Support reinjecting token in private m3u8 playlistChocobozzz2022-12-021-0/+58
|
* Fix DISABLE_LOCAL_SEARCH blocking request to local search API (#5411)Florent2022-11-231-1/+1
|
* Fix server lintChocobozzz2022-11-153-3/+3
|
* Don't inject untrusted inputChocobozzz2022-11-152-3/+5
| | | | | Even if it's already checked in middlewares It's better to have safe modals too
* Add ability to install alpha/beta/rc pluginChocobozzz2022-11-141-4/+18
|
* Federate entire descriptionChocobozzz2022-11-142-10/+5
| | | | | | Introduce an explicit field truncatedDescription description in video list is deprecated description in video get will contain the entire description
* Fix retranscoding of odd resolutionChocobozzz2022-11-071-1/+3
|
* Fix running again transcoding on a video only fileChocobozzz2022-11-071-1/+4
|
* More robust updateTorrentMetadataChocobozzz2022-10-261-2/+7
|
* Use private ACL for private videos in s3Chocobozzz2022-10-241-2/+2
|
* Put private videos under a specific subdirectoryChocobozzz2022-10-243-5/+21
|
* Fix host validation on locahostChocobozzz2022-10-111-2/+2
|
* Fix channel import with some channelsChocobozzz2022-10-101-7/+8
|
* Encrypt OTP secretChocobozzz2022-10-103-8/+63
|