Commit Graph

3112 Commits

Author SHA1 Message Date
Chocobozzz ba050fb0df
Fix displaying many countries 2023-12-08 11:07:49 +01:00
Chocobozzz 8031504212
Fix updating started live error 2023-12-08 10:20:15 +01:00
Chocobozzz 83cba14a61
Originally published and reupload date consistency 2023-12-08 08:59:47 +01:00
Chocobozzz 4826cb2c69
Add missing jobs in jobs list 2023-11-29 09:37:57 +01:00
Chocobozzz 13b78db38e
Cleanup input switch 2023-11-27 10:11:29 +01:00
Chocobozzz f3907ceeaf
Fix client registration performance 2023-11-27 09:15:42 +01:00
Chocobozzz 05d6520b22
Fix input switch accessibility 2023-11-27 08:37:20 +01:00
Chocobozzz 6349881dbd
Fix graph zooming end date 2023-11-23 09:40:04 +01:00
Chocobozzz 80efccf6c5
Add autofocus to password prompt 2023-11-23 08:58:53 +01:00
Chocobozzz 4c07200d64
CSS consistency on small screens 2023-11-22 08:28:22 +01:00
Chocobozzz 92fb7a2b62
Optimize homepage videos query 2023-11-17 14:40:37 +01:00
Chocobozzz c2cf26eaf7
Less space below player in portrait mode 2023-11-09 09:03:32 +01:00
Sarah Lewis adfce264a6
Improve grammar within sign-up flow (#6026)
* Update signup-success-after-email.component.html

* Update signup-success-before-email.component.html
2023-11-09 06:41:03 +01:00
Chocobozzz 7ca4de2d98
Update page title and description on video change 2023-11-08 16:03:49 +01:00
Chocobozzz dbd0a3bcac
Fix player ratio on mobile with portrait videos 2023-11-08 15:56:56 +01:00
Chocobozzz 6e613df63f
Fix notification scrolling 2023-11-07 11:19:36 +01:00
Chocobozzz 4aeb1de909
Update p2p media loader 2023-11-06 11:20:23 +01:00
Chocobozzz d3c9a2e5b9
Add script to move videos to file system 2023-11-02 09:21:49 +01:00
Chocobozzz 543fbd1ffe
Correctly display broken muxing session
Can happen when we stream an audio stream only
2023-10-30 11:57:39 +01:00
Chocobozzz a12d94f30d
Fix live start time
Use undefined to not break live edge position set by hls.js
2023-10-30 11:04:26 +01:00
Chocobozzz 22e05d15db
Fix video error handling 2023-10-30 09:55:06 +01:00
Chocobozzz 2809ebbc20
Fix playlist element title overflow 2023-10-27 11:27:10 +02:00
Chocobozzz 3bd4637014
Also skip count for recommendation fallback 2023-10-26 14:50:20 +02:00
Chocobozzz f9bbcd4ba2
Fix stats X axis with old videos 2023-10-26 14:43:50 +02:00
Chocobozzz 360439088d
Skip counting for recommended videos 2023-10-25 14:55:06 +02:00
Chocobozzz 8e15a31e98
Fix overflow on videos list pages 2023-10-20 16:00:36 +02:00
Chocobozzz c6d2384aa7
Fix global buttons accessibility 2023-10-12 15:01:17 +02:00
Chocobozzz d3ae2e9c80
Fix feed button 2023-10-12 14:24:48 +02:00
Chocobozzz ce3d17388d
Fix remove file buttons accessibility 2023-10-12 14:24:38 +02:00
Chocobozzz e94160c770
Fix playlist buttons accessibility 2023-10-12 14:24:22 +02:00
Chocobozzz a1c96a63a0
Better videos list header styling 2023-10-12 09:06:40 +02:00
Chocobozzz 13f07161f5
Do not display only "Older" period 2023-10-11 11:56:03 +02:00
Chocobozzz e2c7e58f42
Fix input switch accessibility 2023-10-11 11:49:15 +02:00
Chocobozzz 30ad7fdf69
Upgrade client dependencies 2023-10-11 11:42:57 +02:00
Chocobozzz 066efd4b94
Add tooltip to know we can sort the column 2023-10-11 09:20:09 +02:00
Chocobozzz 58036ff463
Fix focus on table header cell with sort 2023-10-10 10:56:25 +02:00
Chocobozzz bc80e45a09
Fix table expand button accessibility 2023-10-10 09:16:33 +02:00
Chocobozzz cf5ab8abf2
Add focus to important elements with tooltip 2023-10-10 09:04:56 +02:00
Chocobozzz 57abac459b
Fix registration button style 2023-10-10 08:41:35 +02:00
Chocobozzz 905a40217d
Fix logged in hotkeys 2023-10-10 08:35:53 +02:00
Chocobozzz 50e415e12e
Allow to disable all hotkeys
Added angular2-hotkeys dependency inside PeerTube, to tweak some
settings

It will also allow us to support non latin keyboard in the future as we
can choose the "mouse trap" dependency
2023-10-09 15:33:19 +02:00
Chocobozzz e6b455b4ea
Better title for the date component 2023-10-09 10:19:06 +02:00
Chocobozzz 9b879f69c4
Fix video playlist miniature tabindex 2023-10-09 10:09:17 +02:00
Chocobozzz f47762c60b
Add global skip link
Don't use routerLink as some pages react on route params changes
Prefer to programmatically focus the main content if we can
2023-10-09 10:07:03 +02:00
Chocobozzz bd4b321b0b
Add missing autocomplete fields 2023-10-09 09:50:59 +02:00
Chocobozzz 31a67bc620
Add placeholder to contact email input 2023-10-09 09:49:07 +02:00
Chocobozzz 62dd3ad573
Explain the filter button will close the filters 2023-10-09 09:41:54 +02:00
Chocobozzz be42d9a2b4
Add radiogroup role 2023-10-09 09:38:08 +02:00
Chocobozzz f84002001a
Fix search input accessibility label 2023-10-09 09:28:58 +02:00
Chocobozzz 28af325f99
Fix x overflow for search results 2023-10-09 09:21:43 +02:00
Chocobozzz a41c908370
Improve simple/advanced search accessibility 2023-10-06 16:42:06 +02:00
Chocobozzz 52319e371f
Fix top sub menu accessibility 2023-10-06 14:56:29 +02:00
Chocobozzz 8d20c8f391
Prevent setting color attribute on loading bar
Fire accessibility/HTML guidelines warnings/errors
2023-10-06 11:29:13 +02:00
Chocobozzz 04bc2e2dbe
Use lists for the left menu 2023-10-06 11:23:12 +02:00
Chocobozzz dcf5075ae4
Use <header> and <main> 2023-10-06 10:47:39 +02:00
Chocobozzz 2861397f9d
Replace <menu> by <nav> for left menu 2023-10-06 10:45:42 +02:00
Chocobozzz 7938f1d5e6
Use h1 for hotkeys modal
And so hide what's behind the modal
2023-10-06 10:41:45 +02:00
Chocobozzz 1019aaf8e7
Avoid multiple <br /> tags 2023-10-06 10:29:42 +02:00
Chocobozzz 55d7e361f5
Add alert role to form error messages 2023-10-06 10:19:20 +02:00
Chocobozzz 54f16adca8
Add accessibility role to notification div 2023-10-06 10:17:44 +02:00
Chocobozzz 27243f96f1
Improve left menu toggle accessibility 2023-10-06 10:08:51 +02:00
Chocobozzz ce99886db6
Improve search bar accessibility
Also remove the "X" icon from Chrome we don't want
2023-10-06 09:59:21 +02:00
Chocobozzz c5397bd066
Fix broadcast dismiss icon accessibility 2023-10-05 16:30:08 +02:00
Chocobozzz 84bcfdaeff
Add scope="col" to column headers 2023-10-05 16:20:15 +02:00
Chocobozzz d6a31f9bef
Improve accessibility of empty column header 2023-10-05 16:13:12 +02:00
Chocobozzz 0ac3820f4d
Improve hotkeys popup accessibility 2023-10-05 15:56:36 +02:00
Chocobozzz 4d61e5ef9c
Improve video miniature link label accessibility 2023-10-05 15:43:24 +02:00
Chocobozzz f85ace9ebb
Improve alert links accessibility 2023-10-05 15:20:24 +02:00
Chocobozzz e5eefaf7a5
Use aria hidden for global icons
We use them in buttons/links that already have accessible context
(title, content or label) or just as decorative icons (in menu for
example)
2023-10-05 15:05:24 +02:00
Chocobozzz d0f8a0e677
Fix mime type handling from remote instances 2023-10-04 09:59:27 +02:00
Chocobozzz 5cea8f9567
Prevent remote subscribe on accounts
Which is not supported by PeerTube
2023-10-03 10:20:29 +02:00
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 273d57023b
Update translations 2023-08-18 14:12:32 +02:00
Chocobozzz c74dc602a6
Simplify table pagination footer 2023-08-18 13:43:59 +02:00
Chocobozzz 863ef63805
Fix typo 2023-08-18 13:43:55 +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 5f79f37d10
Remove useless information 2023-08-18 10:39:49 +02:00
Chocobozzz 8e4fba97b2
Automatically adapt player ratio 2023-08-18 09:48:45 +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 2bfc8ce3d0
Remove unnecessary cast 2023-07-28 11:41:17 +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 8ece9c8ca0
Improve recommended videos without video tags 2023-07-19 13:24:31 +02:00
Chocobozzz d430862f00
Force ltr on code inputs 2023-07-19 11:22:05 +02:00
Chocobozzz 9684bc959e
Fix anonymous autoplay 2023-07-17 11:31:46 +02:00
Chocobozzz 45ec48b2b1
Don't update opengraph in angular
We already set these tags in the server
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 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 c57ad141a9
Rename webtorrent config to web_videos 2023-07-11 09:52:14 +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 19aeb64b25
Better channel deletion message 2023-06-29 10:19:55 +02:00
Chocobozzz 180d8f297e
More robust wait transcoding checkbox display 2023-06-29 10:19:55 +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 7d758898dc
Alphabetical order for channels filter 2023-06-19 11:18:56 +02:00
Chocobozzz 7c77ace9a7
Fix languages alphabetical sort 2023-06-19 10:11:23 +02:00
Chocobozzz 58af76dc4e
Fix REST API menu link 2023-06-07 08:26:10 +02:00
Chocobozzz 25d7cc3cb6
Fix custom default route link 2023-06-05 10:33:35 +02:00
Chocobozzz ae51278920
Fix video channels quick filter overflow 2023-06-05 10:19:23 +02:00
Chocobozzz a45e2971f7
Don't display unknown information 2023-06-05 08:50:54 +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 ffc424259e
Fix scss lint 2023-05-25 14:36:17 +02:00
Chocobozzz 38358661e0
Add tooltip to plugin auth
In case the cell is truncated
2023-05-25 13:43:15 +02:00
Chocobozzz 98eacc80d3
Remove invalid console logs 2023-05-25 08:45:37 +02:00
Chocobozzz f9fc41cb88
Broadcast message level should be translated 2023-05-24 17:37:45 +02:00
Chocobozzz b99ee1b150
Better label for default transcoding profile 2023-05-24 17:35:39 +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 8527f4b163
Fix menu dropdowns
Better responsive
Avoid menu scrollbar displayed in notification popove
2023-05-22 08:22:57 +02:00
Chocobozzz 476ce1d7f4
Add bulk actions on runner jobs 2023-05-19 14:27:27 +02:00
Chocobozzz 01283e2066
Improve remote runner config UX 2023-05-19 14:11:22 +02:00
Chocobozzz 2617295569
Add % to runner job percentage 2023-05-19 10:10:19 +02:00
Chocobozzz d3ab2f63b6
Remove uneeded date pipe 2023-05-17 14:56:35 +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 5e47f6ab98 Support studio transcoding in peertube runner 2023-05-09 08:57:34 +02:00
Chocobozzz 3a0c2a77b1 Enable external plugins to test the PR 2023-05-09 08:57:34 +02:00
Chocobozzz 118626c875 Implement runner in client side 2023-05-09 08:57:34 +02:00
Wicklow a8d42c560a
I18n missing parameter (#5782)
* fix syntax

* Missing i18n parameter
2023-05-02 10:31:00 +02:00
Wicklow 73ef4b54aa Don't send replay settings on not replayed lives 2023-04-19 15:59:36 +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
Chocobozzz df0bd13210
Add missing strings to translate 2023-04-17 08:51:51 +02:00
Chocobozzz e7c89cc3f3
Allow to update a live with untouched privacy 2023-04-14 10:14:40 +02:00
Chocobozzz d15531fb35
Fix follow links 2023-04-14 09:42:50 +02:00