Commit Graph

179 Commits (9e2700b89d6ab06cb404005f062ba7e5d9c7c341)

Author SHA1 Message Date
Chocobozzz 171efc48e6
Merge branch 'release/3.3.0' into develop 2021-07-30 11:38:19 +02:00
Chocobozzz 3ce48a0cd0
Hide schedule privacy if private does not exist 2021-07-30 11:24:38 +02:00
Chocobozzz 9162fdd363
Refactor video links building 2021-07-26 14:12:50 +02:00
Chocobozzz c0e8b12e7f
Refactor requests 2021-07-20 15:27:18 +02:00
Chocobozzz a3f45a2ab3
Fix default privacy when plugins deleted private 2021-07-13 08:46:51 +02:00
Chocobozzz d4a8e7a65f Support short uuid for GET video/playlist 2021-06-29 14:56:35 +02:00
Chocobozzz 8cbc40b2fe
Move to sass module 2021-06-28 10:54:02 +02:00
Chocobozzz fa12eacc01
Move to sass @use 2021-06-28 09:36:35 +02:00
Rigel Kent 2951065162 allow public video privacy to be deleted in the web client 2021-06-08 09:22:06 +02:00
Chocobozzz 27bc958674
Bidi support 2021-06-07 18:14:05 +02:00
Chocobozzz fc21ef5c62
Speed up plugins loading 2021-06-04 15:45:44 +02:00
Chocobozzz 2989628b79
Use HTML config when possible 2021-06-04 15:45:44 +02:00
Chocobozzz e030bfb59d
Refactor server errors handler 2021-06-02 18:15:41 +02:00
Chocobozzz a1eda903a4
Support '/w/' and '/w/p/' for watch page
And use them as default in client
2021-05-28 11:38:08 +02:00
Chocobozzz 0f01a8bacd Remove ngx-meta
Unmaintained
2021-05-27 16:00:13 +02:00
Frank Sträter 7e6bdb5ae5 change license to licence
Change "license" to "licence" for consistency in the user interface in English. 

License is both a noun and a verb in the United States.
If you live in any other English-speaking country, you will spell it "licence" when you use it as a noun and "license" when you use it as a verb.
2021-05-27 16:00:04 +02:00
Chocobozzz 3914a50b07
Remember tab in upload page 2021-05-11 15:03:39 +02:00
Chocobozzz 32985a0a77
Error if importing a torrent with multiple files 2021-05-11 14:56:30 +02:00
Chocobozzz 428ccb8b7a
Reorganize plugin models 2021-05-11 13:33:11 +02:00
Chocobozzz 71fb8b5a34
Fix paused upload message 2021-05-11 08:42:13 +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 dc2b2938c2
Sort channels by -updatedAt 2021-05-10 09:38:11 +02:00
Chocobozzz ce4b4495ff
Refactor video edit css 2021-05-07 14:08:35 +02:00
Chocobozzz 931d343018
Move to stylelint 2021-04-28 17:53:57 +02:00
Chocobozzz 2d6f28a2d9
Clearer nsfw "do not list" label 2021-04-28 09:05:53 +02:00
Chocobozzz 0f31933406
Add ability to hide plugin form fields 2021-04-22 14:35:49 +02:00
Chocobozzz 266947e5ef
Refactor modal buttons style 2021-04-14 16:39:37 +02:00
Chocobozzz 218f730c7b
Theme breaking: --submenuColor becomes --submenuBackgroundColor 2021-03-31 09:07:25 +02:00
Chocobozzz 2e257e36b7
Add client action hooks for pubish pages 2021-03-24 18:18:41 +01:00
Chocobozzz 9556ce48e7
Fix async issues with channels list 2021-02-25 09:09:41 +01:00
Chocobozzz 21e493d4d8
Add ability to set a custom quota 2021-02-10 11:36:40 +01:00
Chocobozzz 5d84d717b2
Force update live boolean 2021-01-26 15:41:51 +01:00
Chocobozzz fd0fdc4696
Don't update live attributes if they did not change 2021-01-26 15:28:38 +01:00
Chocobozzz ddb62a85c5
Fix wait transcoding checkbox display 2021-01-26 10:56:55 +01:00
Chocobozzz d487a997c8
Import in private, and then set the chosen privacy 2021-01-19 16:36:20 +01:00
Chocobozzz 1ef7f32304
Cleanup update video button 2021-01-19 16:36:20 +01:00
Chocobozzz 1916c9663a
Fix some accessibility issues 2020-12-22 12:05:32 +01:00
Chocobozzz ddca257699
Don't display max duration if disabled 2020-12-16 14:18:50 +01:00
Chocobozzz cd5dc7188b
Add link to the documentation for live streaming 2020-12-14 12:21:07 +01:00
Rigel Kent f2eb23cd87
emit more specific status codes on video upload (#3423)
- reduce http status codes list to potentially useful codes
- convert more codes to typed ones
- factorize html generator for error responses
2020-12-08 21:16:10 +01:00
Chocobozzz 8e0a2f2a05
Use new primeng i18n api 2020-12-07 16:07:00 +01:00
Rigel Kent f8b530e0a5
unify inputs requiring buttons like password inputs 2020-12-04 16:01:53 +01:00
Chocobozzz bb4ba6d94c
Add permanent live support 2020-12-03 15:21:16 +01:00
Chocobozzz 5bfc33b6f1
Fix lint 2020-12-03 10:39:43 +01:00
Rigel Kent d4132d3f56 more explicit error messages for file uploads 2020-12-03 10:15:49 +01:00
Chocobozzz 0151c41c65
Do not display wait transcoding checkbox
If this is a live and save replay is not enabled
2020-11-26 11:30:18 +01:00
Chocobozzz 4f926722ea
Upgrade client dependencies
Migrate removed primeng theme to custom CSS
2020-11-19 15:25:41 +01:00
Frank Sträter 2b8d7a7d59
add help popup for choosing license (#3306)
Co-authored-by: Rigel Kent <par@rigelk.eu>
2020-11-15 11:57:13 +01:00
Chocobozzz 17119e4a54 Reorganize left menu and account menu
Add my-settings and my-library in left menu
Move administration below my-library
Split account menu: my-setting and my library
2020-11-13 12:02:21 +01:00
Chocobozzz f8c00564e7 Add live info in watch page 2020-11-09 15:33:04 +01:00
Chocobozzz c29039e7c0 Add warning below live stream key field 2020-11-09 15:33:04 +01:00
Chocobozzz a056ca4813 Add max lives limit 2020-11-09 15:33:04 +01:00
Chocobozzz b5b687550d Add ability to save live replay 2020-11-09 15:33:04 +01:00
Chocobozzz a5cf76afa3 Add watch messages if live has not started 2020-11-09 15:33:04 +01:00
Chocobozzz c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Chocobozzz 30b1e10603
Fix privacy/channel select on upload 2020-09-04 10:47:52 +02:00
Chocobozzz 7294aab0c8 Add ability to set custom field to video form 2020-08-21 15:39:51 +02:00
test2a ce4e63c181 Update video-import-url.component.html
changed wording of raw mp4 file to media file as we can import variety of formats both audio and video
2020-08-19 11:41:13 +02:00
test2a 1c840ca482 Update video-import-torrent.component.html
changed wording of mp4 file to media file as we can import variety of formats both audio and video
2020-08-19 11:41:13 +02:00
Chocobozzz 7ed1edbbe4 We don't need services anymore for validators 2020-08-17 15:12:55 +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
Chocobozzz 52c4976fcf
Use ng select for multiselect 2020-08-11 16:18:42 +02:00
Chocobozzz 9abd170dec
Fix tags in search filters 2020-08-11 09:41:55 +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
Rigel Kent b47d6282fb
revert upload bar text color to white 2020-08-09 13:29:23 +02:00
Chocobozzz a02b93ce75 Fix lint 2020-08-07 08:28:14 +02:00
Chocobozzz 583eb04b54 Upgrade to angular 10 2020-08-07 08:28:14 +02:00
Chocobozzz c7a53f6121
Correctly finish upload before updating video 2020-08-05 16:22:13 +02:00
Rigel Kent 9e8929d633
adjust help component, fix its instances in video-edit 2020-08-05 11:23:37 +02:00
Kim dfe3f7b72e
Add alert and hide upload view when no upload is possible (#2966)
* Add alert and hide upload view when no upload is possible

* Add about instance link to alert

* Hide videos and imports links when no upload is possible

* Correct curly spacing lint

* Put logic canUpload to User model + add isHidden param to to-menu-dropdown

* Use canSeeVideoLinks from user model

* Rename and change logic canUpload to isUploadDisabled

* Use isDisplayed() method intead of isHidden value

* Refactor client and check videos count using quota

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2020-07-28 15:18:38 +02:00
Kim 2e7f262724
Display user quota progress bars above upload form (#2981)
* Move user-quota to my-user-quota shared component

* Add user-quota to upload form

* Increase progress bar height and make it focusable

* Correct syntax parenthesis

* Add explicit title to user-quota bars + tooltip with quota values

* Hide user-quota in second upload step

* Customize focus styles on user-quota

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-24 08:53:25 +02:00
Kim ed5bb51726
Improve navigation sub-menu and tabs effects (#2971)
* Improve nav border and colors on active and non-active

* Remove margin-top effect on active nav

* Use opacity / bold instead of color change on nav

* Remove dropdown items label in sub-menu and add a class active

* Position sub-menu to fixed

* Autoclose dropdown sub-menu only on outside click

* Remove open dropdown on hover in sub-menu

* Show reusable h1 for dropdown item in sub-menu

* Put reusable sub-menu h1 styles to mixins

* Add icons to sub-menu dropdown-item h1

* Make all the sub-menu accessible with focus

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-23 15:09:15 +02:00
Chocobozzz 2e03d65032
Fix E2E tests 2020-07-21 09:38:26 +02:00
Rigel Kent 6c808af9a2 fix reactive file upload button 2020-07-01 17:03:48 +02:00
Rigel Kent 1fe1e14cb3 fix video update button, add color to danger zone 2020-07-01 17:03:48 +02:00
Rigel Kent c41c0e28ed switch from softies to feathericons
also organize icons in folders per origin
2020-07-01 17:03:48 +02:00
Chocobozzz 187b2e2346
Fix upload page 2020-06-24 11:50:54 +02:00
Chocobozzz 1942f11d5e Lazy load all routes 2020-06-23 16:00:49 +02:00