aboutsummaryrefslogtreecommitdiffhomepage
path: root/shared/models
Commit message (Collapse)AuthorAgeFilesLines
* Migrate server to ESMChocobozzz2023-08-11266-5461/+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 "views" from live video eventChocobozzz2023-07-281-3/+0
|
* Remove deprecated video query filterChocobozzz2023-07-284-11/+0
|
* Remove banner/avatar fields from channel/accountChocobozzz2023-07-284-15/+0
| | | | Deprecated since 4.2
* Add ability to force transcodingChocobozzz2023-07-282-1/+5
|
* Improve runner managementChocobozzz2023-07-271-0/+3
| | | | | | | * 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
* Implement replace file in server sideChocobozzz2023-07-216-0/+21
|
* Add p2p info to metricsChocobozzz2023-07-211-2/+2
|
* Add peers number and p2p enabled label to metricsChocobozzz2023-07-201-0/+3
|
* Rename webtorrent config to web_videosChocobozzz2023-07-112-2/+2
|
* Prefer web videos in favour of webtorrentChocobozzz2023-07-115-12/+10
|
* Remove webtorrent support from clientChocobozzz2023-07-102-1/+5
|
* Handle correctly formatted AP attributedToChocobozzz2023-06-293-8/+5
|
* Fetch remote AP objects if only id is specifiedChocobozzz2023-06-295-30/+53
|
* Refactor video formatterChocobozzz2023-06-291-11/+13
|
* Add storyboard supportChocobozzz2023-06-296-1/+41
|
* Feature/password protected videos (#5836)Wicklow2023-06-296-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Remove suppressImplicitAnyIndexErrorsChocobozzz2023-05-241-2/+2
| | | | It's deprecated by TS
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-224-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Force stop remote live transcodingChocobozzz2023-05-221-0/+1
|
* Avoid aborting completing jobsChocobozzz2023-05-191-1/+2
|
* Fix peertube runner concurrencyChocobozzz2023-05-191-0/+1
|
* Prefer video studio instead of video editionChocobozzz2023-05-094-7/+7
| | | | Clearer and easier to find in the project
* Support studio transcoding in peertube runnerChocobozzz2023-05-098-5/+62
|
* Fix next video state after optimize/audio mergeChocobozzz2023-05-091-0/+5
|
* Implement remote runner jobs in serverChocobozzz2023-05-0929-11/+398
| | | | Move ffmpeg functions to @shared
* Add version commentChocobozzz2023-05-051-0/+1
|
* Feature/filter already watched videos (#5739)Wicklow2023-04-121-0/+2
| | | | | * filter already watched videos * Updated code based on review comments
* feature/ability to disable video history by default (#5728)Wicklow2023-04-071-0/+6
| | | | | | | | | | | | | * 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-314-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Add filter:html.client.json-ld.result hookChocobozzz2023-03-241-0/+2
|
* Add video AP hooksChocobozzz2023-03-161-2/+6
|
* Add test on AP hooksChocobozzz2023-03-101-1/+1
|
* Add ability for plugins to alter video jsonldChocobozzz2023-03-101-1/+7
|
* Add ability for plugins to add metadataChocobozzz2023-03-101-0/+2
|
* Add action:video-edit.form.updated hookChocobozzz2023-03-101-0/+4
|
* Add server hooks for listing subscriptionWicklow2023-02-251-0/+4
|
* Update server dependenciesChocobozzz2023-02-161-1/+1
|
* Add ability to not send an email for registrationChocobozzz2023-01-201-0/+1
|
* Implement signup approval in serverChocobozzz2023-01-1913-5/+76
|
* Federate entire descriptionChocobozzz2022-11-141-0/+6
| | | | | | Introduce an explicit field truncatedDescription description in video list is deprecated description in video get will contain the entire description
* Breaking API: Consistency with role id/labelChocobozzz2022-10-281-2/+4
|
* Put private videos under a specific subdirectoryChocobozzz2022-10-243-0/+9
|
* feat: show contained playlists under My videos (#5125)kontrollanten2022-10-241-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: show contained playlists under My videos closes #4769 * refactor(server): remove unused types * fixes after code review * fix(client/video-miniature): add to playlist * fix(server/user/me): shortUUID response * Revert "fix(client/video-miniature): add to playlist" This reverts commit f1a0412391c7e2370b87df2594c9fe3f39a40ddc. * fix(client/PlaylistService): caching * Revert "fix(server/user/me): shortUUID response" This reverts commit e3f1ee4e335739b895bced938540c003df24af73. * Fix fetching playlists Co-authored-by: Chocobozzz <me@florianbigard.com>
* feat(plugins): add p2p-media-loader options filter (#5318)kontrollanten2022-10-111-1/+4
| | | | | | | * feat(plugins): add p2p-media-loader options filter closes #5317 * remove obsolete await
* Support two factor authentication in backendChocobozzz2022-10-073-0/+10
|
* Support refusing remote commentsChocobozzz2022-09-231-1/+3
|
* Add playback metric endpoint sent to OTELChocobozzz2022-08-163-0/+21
|
* Add plugin hooks/placeholder to share modalChocobozzz2022-08-112-1/+21
|
* Add ability to list imports of a channel syncChocobozzz2022-08-104-0/+12
|