Commit Graph

1360 Commits (77b70702d2193d78bf6fbd07f0fc7335e34957f8)

Author SHA1 Message Date
Chocobozzz 77b70702d2
Add video chapters support 2023-08-28 16:17:31 +02:00
Chocobozzz 4d3ea87486
More robust about page
Don't throw if we can't find a category or a language
Can happen if the instance configuration contains a category/language
that has been deleted by a plugin for example
2023-08-21 15:32:33 +02:00
Chocobozzz c74dc602a6
Simplify table pagination footer 2023-08-18 13:43:59 +02:00
Chocobozzz 7ace48819e
Add ability to reset originallyPublishedAt 2023-08-18 11:40:54 +02:00
Chocobozzz ca589b42f1
Fix button router link
Using the default one assigns the directive to the host, where we just
want to put it inside the `my-button` component
2023-08-18 11:09:34 +02:00
Chocobozzz 23092139a6
Better abuse style of removed videos 2023-08-17 14:34:49 +02:00
Chocobozzz c5f8dc0533
Correctly truncate HTML
We can because we don't use the video truncated description since v5.0
2023-08-17 14:34:49 +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 e390107e5a
Fix add to playlist button width 2023-07-28 15:55:49 +02:00
Chocobozzz f9ac050a35
Remove unnecessary workarounds
Has been fixed upstream
2023-07-28 15:46:14 +02:00
Chocobozzz 3193ac2c3b
Refactor a little bit nsfwPolicyToParam 2023-07-28 15:37:22 +02:00
Chocobozzz 65bb29c6d3
Remove unnecesary fixme/todo 2023-07-28 15:20:49 +02:00
Chocobozzz f932957b2e
Remove banner/avatar fields from channel/account
Deprecated since 4.2
2023-07-28 11:41:14 +02:00
Chocobozzz 89aa333110
Add ability to force transcoding 2023-07-28 11:09:03 +02:00
Chocobozzz f18003d0ac
Improve runner management
* 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
2023-07-27 14:17:12 +02:00
Chocobozzz ec3228cae7
Fix playlist owner font size 2023-07-26 11:03:21 +02:00
Chocobozzz f42fcb4b58
Implement video file replacement in client 2023-07-25 11:53:08 +02:00
Chocobozzz b63c607b92
Fix updating P2P setting 2023-07-21 11:07:49 +02:00
Chocobozzz d430862f00
Force ltr on code inputs 2023-07-19 11:22:05 +02:00
Chocobozzz 88cde4392a
Merge branch 'release/5.2.0' into develop 2023-07-12 10:37:59 +02:00
Chocobozzz ed22eaabfa
Fix terms/code of conduct link toggle 2023-07-12 10:22:43 +02:00
Chocobozzz 784e2ad5c3
Prefer web videos in favour of webtorrent 2023-07-11 09:21:13 +02:00
Chocobozzz a1bd2b77d9
Remove webtorrent support from client 2023-07-10 16:08:28 +02:00
Chocobozzz 8ef866071f
Fix fetching storyboard of password protected video 2023-06-29 14:22:13 +02:00
Chocobozzz d8f39b126d
Add storyboard support 2023-06-29 10:16:55 +02:00
Chocobozzz 866c5f667d
Simplify ICU in components 2023-06-29 09:49:06 +02:00
Wicklow 40346ead2b
Feature/password protected videos (#5836)
* 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
2023-06-29 09:48:55 +02:00
Chocobozzz ae51278920
Fix video channels quick filter overflow 2023-06-05 10:19:23 +02:00
Chocobozzz 4b70c278a9
Automatic colspan for tables 2023-05-26 10:27:02 +02:00
Chocobozzz 4958e9e56e
Fix video edit page overflow 2023-05-25 16:09:47 +02:00
Chocobozzz 98eacc80d3
Remove invalid console logs 2023-05-25 08:45:37 +02:00
Chocobozzz b14e3c3de9
Add contained in playlists badges gap 2023-05-24 17:25:09 +02:00
Chocobozzz f9735a9e88
Fix notification settings 2023-05-24 17:22:40 +02:00
Chocobozzz 431ebbd5e4
Migrate deprecated accordion component 2023-05-24 17:13:57 +02:00
Chocobozzz 5490930428
Remove suppressImplicitAnyIndexErrors
It's deprecated by TS
2023-05-24 16:56:05 +02:00
Chocobozzz d0fbc9fd0a
Fix lint 2023-05-24 15:27:15 +02:00
Chocobozzz 52798aa5f2
Update angular 2023-05-23 11:27:09 +02:00
Chocobozzz 41cde76bbf
Update common client packages 2023-05-23 09:42:10 +02:00
Alecks Gates cb0eda5602
Add Podcast RSS feeds (#5487)
* 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>
2023-05-22 16:00:05 +02:00
Chocobozzz f3bc1b5416
Help button must not send the parent form 2023-05-22 11:13:01 +02:00
Chocobozzz c17a55fbca
Support handles starting with @ 2023-05-10 14:55:37 +02:00
Chocobozzz 7815dc450e
Prevent invalid end watch section warnings 2023-05-10 14:23:59 +02:00
Chocobozzz 2f63f629ad
Fix subscribe button responsive 2023-05-09 13:53:33 +02:00
Chocobozzz 118626c875 Implement runner in client side 2023-05-09 08:57:34 +02:00
Chocobozzz f8c62d3414
Fix lint 2023-04-17 10:06:21 +02:00
Chocobozzz 208c97e111
Always translate user role 2023-04-17 09:21:02 +02:00
Wicklow 2a4c0d8bbe
Feature/filter already watched videos (#5739)
* filter already watched videos

* Updated code based on review comments
2023-04-12 09:32:20 +02:00
Joël Galeran 9258e9a4a3
feat(about): render images in markdown (#5732)
* feat(about): render images in markdown

Closes https://github.com/Chocobozzz/PeerTube/issues/5710

* Update edit-instance-information.component.html

* use `markdownType="enhanced"`
2023-04-05 11:12:00 +02:00
Chocobozzz 47d883de2e
Merge branch 'release/5.1.0' into develop 2023-03-16 14:24:50 +01:00
Chocobozzz 2346a6dc80
Fix small action dropdown 2023-03-16 08:14:33 +01:00