Commit Graph

453 Commits

Author SHA1 Message Date
Chocobozzz 0f01a8bacd Remove ngx-meta
Unmaintained
2021-05-27 16:00:13 +02:00
Chocobozzz 05ded92ed1 Update to angular 12 2021-05-27 16:00:13 +02:00
Chocobozzz 4e67a45cd9
Bumped to version v3.2.0 2021-05-27 13:56:49 +02:00
Chocobozzz 462212107a
Bumped to version v3.2.0-rc.1 2021-05-11 09:05:52 +02:00
kontrollanten f6d6e7f861
Resumable video uploads (#3933)
* WIP: resumable video uploads

relates to #324

* fix review comments

* video upload: error handling

* fix audio upload

* fixes after self review

* Update server/controllers/api/videos/index.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* Update server/middlewares/validators/videos/videos.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* Update server/controllers/api/videos/index.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* update after code review

* refactor upload route

- restore multipart upload route
- move resumable to dedicated upload-resumable route
- move checks to middleware
- do not leak internal fs structure in response

* fix yarn.lock upon rebase

* factorize addVideo for reuse in both endpoints

* add resumable upload API to openapi spec

* add initial test and test helper for resumable upload

* typings for videoAddResumable middleware

* avoid including aws and google packages via node-uploadx, by only including uploadx/core

* rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio

* add video-upload-tmp-folder-cleaner job

* stronger typing of video upload middleware

* reduce dependency to @uploadx/core

* add audio upload test

* refactor resumable uploads cleanup from job to scheduler

* refactor resumable uploads scheduler to compare to last execution time

* make resumable upload validator to always cleanup on failure

* move legacy upload request building outside of uploadVideo test helper

* filter upload-resumable middlewares down to POST, PUT, DELETE

also begin to type metadata

* merge add duration functions

* stronger typings and documentation for uploadx behaviour, move init validator up

* refactor(client/video-edit): options > uploadxOptions

* refactor(client/video-edit): remove obsolete else

* scheduler/remove-dangling-resum: rename tag

* refactor(server/video): add UploadVideoFiles type

* refactor(mw/validators): restructure eslint disable

* refactor(mw/validators/videos): rename import

* refactor(client/vid-upload): rename html elem id

* refactor(sched/remove-dangl): move fn to method

* refactor(mw/async): add method typing

* refactor(mw/vali/video): double quote > single

* refactor(server/upload-resum): express use > all

* proper http methud enum server/middlewares/async.ts

* properly type http methods

* factorize common video upload validation steps

* add check for maximum partially uploaded file size

* fix audioBg use

* fix extname(filename) in addVideo

* document parameters for uploadx's resumable protocol

* clear META files in scheduler

* last audio refactor before cramming preview in the initial POST form data

* refactor as mulitpart/form-data initial post request

this allows preview/thumbnail uploads alongside the initial request,
and cleans up the upload form

* Add more tests for resumable uploads

* Refactor remove dangling resumable uploads

* Prepare changelog

* Add more resumable upload tests

* Remove user quota check for resumable uploads

* Fix upload error handler

* Update nginx template for upload-resumable

* Cleanup comment

* Remove unused express methods

* Prefer to use got instead of raw http

* Don't retry on error 500

Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-05-10 11:13:41 +02:00
Chocobozzz 931d343018
Move to stylelint 2021-04-28 17:53:57 +02:00
Chocobozzz f135bfda77
Revert sass loader upgrade
It only supports webpack 4
2021-04-12 17:18:11 +02:00
Chocobozzz 8bf8e56e01
Upgrade main client dependencies 2021-04-12 16:51:09 +02:00
Rigel Kent a472cf0330 add loop toggle to the player contextmenu 2021-04-12 10:50:22 +02:00
Chocobozzz d007175238
Bumped to version v3.1.0 2021-03-24 18:18:40 +01:00
Chocobozzz 4468e1e4f7
Bumped to version v3.1.0-rc.1 2021-03-04 10:54:29 +01:00
Chocobozzz 56b0a516f2
Update client dependencies 2021-02-25 09:55:06 +01:00
Chocobozzz 72aa835e17
Upgrade client dependencies 2021-02-03 11:44:43 +01:00
Chocobozzz 22845214bf
Update angular 2021-02-03 09:55:44 +01:00
Chocobozzz 26171379d0 Use source sans 3 font 2021-01-13 09:05:22 +01:00
Chocobozzz 69e0e678be
Bumped to version v3.0.1 2021-01-12 08:25:29 +01:00
Chocobozzz e33f385dd5
Bumped to version v3.0.0 2021-01-07 08:26:11 +01:00
Chocobozzz a0194a187f
Upgrade ng select to fix accessibility issues 2020-12-29 16:39:15 +01:00
Chocobozzz 505816fa10
Bumped to version v3.0.0-rc.1 2020-12-16 09:46:27 +01:00
Chocobozzz c4f7fe09cd
Use sass instead of deprecated node sass 2020-11-19 15:57:52 +01:00
Chocobozzz 4f926722ea
Upgrade client dependencies
Migrate removed primeng theme to custom CSS
2020-11-19 15:25:41 +01:00
Chocobozzz 374e419738
Update my email 2020-11-12 16:29:32 +01:00
Chocobozzz 6d61da4e32
HLS player fallback for non https context 2020-11-10 10:36:50 +01:00
Chocobozzz 3bc68dfd61 Fix audio sync after saving replay
hls.js seems to not correctly handle audio gaps with fragmented mp4
(but can with a ts playlist)
2020-11-09 15:33:04 +01:00
Kimsible 98b9464312
render html/markdown for new comment notification email (#3255)
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
2020-11-07 22:59:58 +01:00
Chocobozzz b43d19cf44
Bumped to version v2.4.0 2020-09-08 11:12:05 +02:00
Chocobozzz 5520f6658e
Bumped to version v2.4.0-rc.1 2020-08-27 08:46:36 +02:00
Chocobozzz b405d663b4
Upgrade client dep' 2020-08-25 14:01:29 +02:00
Chocobozzz ed78004086
Update angular to fix localize extraction bug 2020-08-25 10:48:35 +02:00
kimsible e548a7c9b0 Remove unused markdown-it-emoji types dependency 2020-08-14 15:03:38 +02:00
kimsible 0672dc769b Add unicode emoji to markdown 2020-08-14 15:03:38 +02:00
Chocobozzz 66357162f8
Migrate to $localize
* Remove i18n polyfill to translate things in components
 * Reduce bundle sizes
 * Improve runtime perf
 * Reduce a lot the time to make a full client build
 * Reduce client build complexity
 * We don't need a service to translate things anymore (so we will be able to translate title pages etc)

Unfortunately we may loose some translations in the migration process.
I'll put a message on weblate to notify translators
2020-08-14 10:28:30 +02:00
Chocobozzz 94676e631c
Remove angular pipes module 2020-08-11 16:50:00 +02:00
Rigel Kent 02c01341f4 add ng-select for templatable select options
- create select-tags component to replace ngx-chips
- create select-options to factorize option selection in forms
- create select-channel to simplify channel selection
- refactor tags validation
2020-08-11 09:03:39 +02:00
Chocobozzz 583eb04b54 Upgrade to angular 10 2020-08-07 08:28:14 +02:00
Chocobozzz 7a09c3007a
Fix player hotkeys part 2 2020-08-03 08:56:32 +02:00
Chocobozzz 97aaeadad5
Bumped to version v2.3.0 2020-07-21 10:03:58 +02:00
Chocobozzz 27647da17f
Bumped to version v2.3.0-rc.1 2020-07-06 11:09:12 +02:00
Chocobozzz 275350614f
Upgrade videojs hotkeys lib 2020-06-23 16:57:02 +02:00
Chocobozzz f11bc56602
Update client dependencies 2020-06-17 11:57:13 +02:00
Chocobozzz 0f32d49915
Cleanup client dependencies 2020-06-09 14:52:55 +02:00
Chocobozzz 27da4884ed
Use tslib in client 2020-06-09 14:52:55 +02:00
Chocobozzz 520745bfe8
Add ar-001 locale 2020-06-04 10:35:08 +02:00
Chocobozzz a55c98031b
Bumped to version v2.2.0 2020-06-02 10:04:05 +02:00
Chocobozzz d9cb522780
Bumped to version v2.2.0-rc.1 2020-05-18 08:13:34 +02:00
Chocobozzz d170c5c580
Update client dependencies 2020-05-06 14:48:49 +02:00
Chocobozzz 1f41ca6566
Revert partially "Update client angular"
This reverts commit 7a9f9c4626.

Breaks canDeactivate on child route
2020-04-20 11:02:32 +02:00
Chocobozzz 7a9f9c4626
Update client angular 2020-04-20 08:49:12 +02:00
Chocobozzz 5def04e17f
Update angular 2020-04-14 09:55:48 +02:00
Chocobozzz 9cdeb80650
Fix videojs subtitles 2020-04-08 09:36:51 +02:00
Chocobozzz a96f4b738e
Upgrade client dep' to fix primeng bug 2020-04-02 14:13:10 +02:00
Chocobozzz 4adebd513e
Client dependencies upgrade 2020-04-01 14:06:46 +02:00
Rigel Kent 3d527ba173 Use inner join and document code for viewr stats for channels 2020-03-31 10:29:24 +02:00
Chocobozzz 850ea77864
Update hls.js
Seems to fix a bug when we manually update resolution
2020-02-28 13:45:42 +01:00
Chocobozzz 93468b0889
Bumped to version v2.1.1 2020-02-28 13:45:42 +01:00
Chocobozzz 7024e9120b
Merge branch 'release/2.1.0' into develop 2020-02-11 09:44:59 +01:00
Chocobozzz 6b7e246ac7
Bumped to version v2.1.0 2020-02-11 08:35:39 +01:00
Chocobozzz 25f659632b Remove unused modules 2020-02-10 16:39:28 +01:00
Chocobozzz 7811819b1a Use angular 9 clipboard cdk 2020-02-10 16:39:28 +01:00
Chocobozzz 361dcebc75 Support i18n build 2020-02-10 16:39:28 +01:00
Chocobozzz f77eb73b5e Fix angular 9 build 2020-02-10 16:39:28 +01:00
Chocobozzz a247950351 Add @angular/localize 2020-02-10 16:39:28 +01:00
Chocobozzz 2cf81751f0 Upgrade angular libraries 2020-02-10 16:39:28 +01:00
Chocobozzz 2f5d2ec5ea Update to angular 9 2020-02-10 16:39:28 +01:00
Chocobozzz 6c5bc93a3a Upgrade angular to latest 8 2020-02-10 16:39:28 +01:00
Chocobozzz 83fcadac86
Move streamroot plugin in core project
To avoid an already bundled HLS.js library, and adapt some parts of the
code
2020-01-31 14:13:00 +01:00
Chocobozzz 14aa85562c
Cleanup some client FIXME 2020-01-29 16:00:28 +01:00
Chocobozzz f5fcd9f725
Correctly type videojs player 2020-01-29 11:48:15 +01:00
Chocobozzz b764380ac2 Add ability to list redundancies 2020-01-28 11:35:26 +01:00
Chocobozzz 5aafc6f373
Bumped to version v2.1.0-rc.1 2020-01-27 08:44:04 +01:00
Chocobozzz a3705089fa
Remove husky 2020-01-21 14:28:28 +01:00
Chocobozzz 51b34a11b2
Share playlists state 2020-01-06 13:34:08 +01:00
Chocobozzz 478924a044
Add package.json for embed api 2019-12-18 10:14:24 +01:00
Chocobozzz a42294c5ed
Merge branch 'weblate' into develop 2019-11-13 10:05:27 +01:00
Chocobozzz e8e09e27ff
Bumped to version v2.0.0 2019-11-12 08:04:15 +01:00
Chocobozzz 3aea8eb2e7
Try new worflow with french 2019-11-07 09:45:14 +01:00
Chocobozzz 16fd7c4b86
Bumped to version v2.0.0-rc.1 2019-10-29 08:26:43 +01:00
Julien Maulny 0c695c5c96 Add a drag&drop delay on playlist videos to allow user scroll on small screens (#2154)
* Add delay on playlist element reordering to fix user scroll on mobile

Signed-off-by: Julien Maulny <julien.maulny@protonmail.com>

* Upgrade @angular/cdk to include bugfix about drag&drop

Signed-off-by: Julien Maulny <julien.maulny@protonmail.com>

* add delay on playlist drag&drop on all touch screens

Signed-off-by: Julien Maulny <julien.maulny@protonmail.com>
2019-10-23 18:12:22 +02:00
Chocobozzz 1f7bc0dd61
Don't use beta angular qrcode package 2019-10-21 17:26:34 +02:00
Chocobozzz 576ddf645f
Update client dependencies 2019-10-21 16:53:46 +02:00
Chocobozzz 8c559fad1e
Merge branch 'release/1.4.0' into develop 2019-09-11 11:09:18 +02:00
Chocobozzz 22af8aac79
Bumped to version v1.4.1 2019-09-09 08:15:24 +02:00
Chocobozzz b82df0a399
Cleanup HLS redundancy manager in client
With the new p2p-media-loader release
2019-09-05 17:21:44 +02:00
Chocobozzz 076d3ace1e
Bumped to version v1.4.0 2019-08-26 11:56:10 +02:00
Chocobozzz f01dc977ae
Bumped to version v1.4.0 2019-08-26 08:49:46 +02:00
Chocobozzz f3ea7ecee1
Update angular cli 2019-08-23 10:28:21 +02:00
Chocobozzz 69752cd458
Update angular cli 2019-08-23 10:27:59 +02:00
Chocobozzz 54beb819f0
Bumped to version v1.4.0-rc.1 2019-08-13 15:34:39 +02:00
Chocobozzz 16b5525950
Update Angular -> 8.2.0 2019-08-01 11:38:47 +02:00
Chocobozzz 85394ba22a
Fix webtorrent player 2019-07-30 10:54:14 +02:00
Chocobozzz 41b15c8921
Update client dependencies 2019-07-25 11:00:45 +02:00
Chocobozzz f36da21e40
Update angular 2019-07-25 11:00:43 +02:00
Chocobozzz 0109c4921c
Bumped to version v1.3.1 2019-06-17 08:38:32 +02:00
Chocobozzz 88ebb43310
Bumped to version v1.3.0 2019-06-03 08:47:25 +02:00
Chocobozzz ea0877b405
Bumped to version v1.3.0-rc.2 2019-05-22 08:22:14 +02:00
Chocobozzz 3fbbadabea
Bumped to version v1.3.0-rc.1 2019-05-14 14:00:03 +02:00
Chocobozzz c47106315a
tslint update 2019-04-02 18:30:26 +02:00
Chocobozzz f421fa06ad
Update client dep 2019-04-02 17:39:21 +02:00
Chocobozzz d0e1e32589 Remove jest tests
I don't have time to maintain them
2019-03-18 11:17:59 +01:00
Chocobozzz 15e9d5ca39 Playlist reorder support 2019-03-18 11:17:59 +01:00
Chocobozzz 41d713446c
Lazy import some modules 2019-02-15 15:52:18 +01:00
Chocobozzz 301fc49c17
Bumped to version v1.2.1 2019-02-15 09:43:39 +01:00
Chocobozzz b426edd485
Cleanup reset user password by admin
And add some tests
2019-02-11 10:37:27 +01:00
Rigel Kent a3342ce250
remove isAdministration 2019-02-11 09:26:38 +01:00
Rigel Kent 328c78bc4a
allow administration to change/reset a user's password 2019-02-11 09:26:29 +01:00
Chocobozzz c7ca4c8be7 Fix client with google bot 2019-02-11 09:13:02 +01:00
Chocobozzz 0920929696 Add hls support on server 2019-02-11 09:13:02 +01:00
Chocobozzz 3b6f205c34 Correctly implement p2p-media-loader 2019-02-11 09:13:02 +01:00
Chocobozzz 2adfc7ea9a Refractor videojs player
Add fake p2p-media-loader plugin
2019-02-11 09:13:02 +01:00
Chocobozzz f5305c04aa
Bumped to version v1.2.0 2019-02-06 11:57:57 +01:00
Chocobozzz cfeae291c0
Bumped to version v1.2.0-rc.1 2019-01-17 16:15:20 +01:00
Chocobozzz 457bb213b2
Refactor how we use icons
Inject them in an angular component so we can easily change their color
2019-01-17 10:38:18 +01:00
Chocobozzz 2f1548fda3 Add notifications in the client 2019-01-09 11:15:15 +01:00
Chocobozzz f8b2c1b4f5
Refractor notification service
Shorter name and use primeng component
2018-12-19 17:26:52 +01:00
Chocobozzz 06471769fc
Upgrade client dependencies 2018-12-04 10:29:28 +01:00
Chocobozzz b6ff69719d
Bumped to version v1.1.0 2018-12-04 08:29:12 +01:00
Chocobozzz 326b44070b
Bumped to version v1.1.0-rc.1 2018-11-22 14:27:46 +01:00
Chocobozzz 79f068dfd5
Upgrade client dependencies 2018-11-15 10:25:33 +01:00
Chocobozzz 2fbe7f1933
Fix new Angular 7 issues 2018-11-15 09:25:32 +01:00
BO41 79c2480f46
update ng-bootstrap 2018-11-15 09:25:31 +01:00
BO41 83422c219d
update dependencies 2018-11-15 09:25:31 +01:00
BO41 03ca23d4f7
update angular 2018-11-15 09:25:30 +01:00
Chocobozzz 6df8130efc
Bumped to version v1.1.0-alpha.2 2018-10-19 15:52:15 +02:00
Chocobozzz c199c427d4
Better typings 2018-10-18 14:35:31 +02:00
Chocobozzz 7cdc3ab63b
Bumped to version v1.1.0-alpha.1 2018-10-17 08:43:16 +02:00
Chocobozzz 333210d862
Bumped to version v1.0.0 2018-10-11 09:06:16 +02:00
Chocobozzz 25378bc866
Delete correctly redundancy files 2018-10-03 16:43:57 +02:00
Chocobozzz 5bc8745ef9
Bumped to version v1.0.0-rc.2 2018-10-03 14:52:35 +02:00
Rigel Kent 6a6951ec10
Bumped to version v1.0.0-rc.1 2018-10-03 13:24:10 +02:00
Chocobozzz 8c202ae8d4
Bumped to version v1.0.0-beta.16 2018-10-01 12:16:00 +02:00
Chocobozzz 5e77a5de40
Include https://github.com/webtorrent/webtorrent/pull/1513 in our
webtorrent client dependency
2018-10-01 10:03:17 +02:00
Chocobozzz 60e74f80d8
Bumped to version v1.0.0-beta.15 2018-09-26 11:59:14 +02:00
Chocobozzz 4ebf25fda0
Bumped to version v1.0.0-beta.14 2018-09-25 09:21:35 +02:00
Chocobozzz f2659ae0b0
Upgrade tslint rules 2018-09-21 09:26:53 +02:00
Chocobozzz ae04a0ce12
Upgrade client dependencies 2018-09-21 09:26:52 +02:00
Chocobozzz a651038487
Bumped to version v1.0.0-beta.13 2018-09-13 11:07:53 +02:00
Rigel Kent e78980ebd1 use focus-visible polyfill to improve keyboard navigation
Only the homepage is concerned, but it should have decent keyboard
navigation support now.
2018-09-11 10:58:48 +02:00
Chocobozzz b8aca3bfe2
Bumped to version v1.0.0-beta.12 2018-09-11 08:15:06 +02:00
Jorropo b0c36821d1 Add video recomandation by tags (#1001)
* Recommendation by tags (thx bradsk88)

Thx bradsk88 for the help.

* Prefer jest-preset-angular to skip need for babel config

* Fix jest
2018-09-04 11:01:54 +02:00
Brad Johnson 7f5f4152a4 Refactor: Separated "Other Videos" section into a dedicated component/service (#969)
* Separated "Other Videos" section into a dedicated component/service

I'm currently working on some proof-of-concepts for recommendation
providers that could work with PeerTube to provide useful video
suggestions to the user.

As a first step, I want to have great clarity about how PeerTube,
itself, will surface these videos to the user.

With this branch, I'm refactoring the "recommendations" to make it
easier to swap out different recommender implementations quickly.

Stop recommender from including the video that's being watched.

Ensure always 5 recommendations

* Treat recommendations as a stream of values, rather than a single async value.

* Prioritize readability over HTTP response size early-optimization.

* Simplify pipe
2018-08-31 17:19:21 +02:00
Rigel Kent 2d9fea161f
watch view visual tweaks and search/comment placeholder dismiss on focus (#983)
- make the placeholder disappear on focus in the search bar
- make the placeholder disappear on focus in the comment textarea
- make the texarea resize automagically
- refactor the watch view to use bootstrap 4's flexgrid
- move action buttons of the watch view to the right of the video info
- responsive tweaks and margin adjustments in the watch view
2018-08-30 11:15:22 +02:00
Rigel Kent ee1fc23a87 keyboard shortcuts and key map view (#974) 2018-08-28 09:32:03 +02:00
Chocobozzz 52831c6fef
Upgrade client dependencies 2018-08-27 11:45:58 +02:00
Chocobozzz 3711d5a2ff
Bumped to version v1.0.0-beta.11 2018-08-21 08:59:06 +02:00
Jorropo 52e679ac35 Change npm repo to git+https 2018-08-20 10:33:45 +02:00
Chocobozzz 63347a0ff9
Migrate to bootstrap 4 and ng-bootstrap 2018-08-09 14:55:06 +02:00
Chocobozzz b34a444e29
Upgrade to bootstrap 4 first step 2018-08-09 09:22:10 +02:00
Chocobozzz 9a12f169c1
Merge branch 'release/beta-10' into develop 2018-08-07 16:12:31 +02:00
Chocobozzz 59549436ef
Bumped to version v1.0.0-beta.10 2018-08-07 15:43:50 +02:00
Chocobozzz fbad87b047 Add ability to import video with youtube-dl 2018-08-06 11:19:16 +02:00