Commit Graph

440 Commits

Author SHA1 Message Date
Chocobozzz 97eba003a9
Add sync link to import page 2022-08-17 13:40:00 +02:00
Chocobozzz fd3c2e8705
Add playback metric endpoint sent to OTEL 2022-08-16 10:33:27 +02:00
Chocobozzz 2f6e173002
Prevent creating multiple lives 2022-08-12 10:43:50 +02:00
Chocobozzz 0582b4f972
Improve wait transcoding help 2022-08-12 10:20:09 +02:00
Chocobozzz 437f277afd
Prefer thumbnail instead of preview 2022-08-12 10:15:45 +02:00
Chocobozzz 9ca0f688e9
Add channel hooks 2022-08-03 10:39:40 +02:00
Chocobozzz 5a9a56b78f
Prevent error on highlighted thread 2022-07-29 10:32:56 +02:00
Chocobozzz 4f50475c67
Display latest uploaded date for captions 2022-07-25 10:45:40 +02:00
Chocobozzz d65cd16551
video-watch.video-threads.loaded after DOM loading 2022-07-22 15:31:37 +02:00
Chocobozzz 42b4063699
Add ability for client to create server logs 2022-07-18 11:37:18 +02:00
Chocobozzz 0146f3516e
Fix comments/download attributes on import 2022-07-04 11:31:22 +02:00
Chocobozzz bd2b51be4b
Put instance name in embed button 2022-06-28 14:11:10 +02:00
Chocobozzz a334597283
Theme fixes 2022-06-28 11:29:54 +02:00
Chocobozzz 88edc66eda
Optimize emoji markup list 2022-06-27 11:28:22 +02:00
Chocobozzz 87fdea2fbf
Refactor actor avatar component 2022-06-27 11:22:21 +02:00
Chocobozzz 7c07259ae5
Fix fetching unlisted video in client 2022-06-24 14:47:32 +02:00
Chocobozzz 64324ac646
Merge branch 'release/4.2.0' into develop 2022-06-23 10:53:16 +02:00
Chocobozzz b6898035bf
Fix going live latency mode 2022-06-23 10:52:27 +02:00
kontrollanten 2e401e8575
store uploaded video filename (#4885)
* store uploaded video filename

closes #4731

* dont crash if videos channel exist

* migration: use raw query

* video source: fixes after code review

* cleanup

* bump migration

* updates after code review

* refactor: use checkUserCanManageVideo

* videoSource: add openapi doc

* test(check-params/video-source): fix timeout

* Styling

* Correctly set original filename as source

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-06-21 15:31:25 +02:00
Chocobozzz 9bc3622320
Handle input error in markdown textarea 2022-06-20 15:56:16 +02:00
Chocobozzz c4a051712b
Cleanup title-page CSS 2022-06-16 16:16:51 +02:00
Chocobozzz 5b0ec7cddb
Increase global font size 2022-06-16 11:37:08 +02:00
Chocobozzz b13a0a48ba
Move alert into to pt-alert-primary 2022-06-15 14:43:33 +02:00
Chocobozzz f72c78b2f6
Reorganize application.scss 2022-06-13 11:42:23 +02:00
Chocobozzz 93c728a25a
Replace all glyphicon icons 2022-06-13 11:23:36 +02:00
Chocobozzz c2faa073d1
Replace glyphicon chevron 2022-06-10 17:05:55 +02:00
Chocobozzz a70bf3bd33
Rename input toggle hidden to input text
It's more than just an hidden toggle
2022-06-10 15:58:38 +02:00
Chocobozzz a14c176472
Use bootstrap loader 2022-06-10 15:00:00 +02:00
Chocobozzz 1fef6bccd9
Remove secondary color theme 2022-06-10 14:06:52 +02:00
Chocobozzz 0164fc112a
Merge branch 'release/4.2.0' into develop 2022-06-10 10:20:55 +02:00
Chocobozzz bffee1d538
Fix classic select and ng select css inconsistency 2022-06-10 10:18:44 +02:00
Chocobozzz 4c8749cb9e
Migrate to bootstrap 5 2022-06-10 09:21:00 +02:00
Chocobozzz eaa529528c
Support ICU in TS components 2022-06-08 13:40:40 +02:00
Chocobozzz 5a2f775a21
Handle playlist without videos available 2022-06-03 14:19:30 +02:00
Chocobozzz 010382b603
Completely remove best default trending algorithm 2022-06-03 14:04:52 +02:00
Chocobozzz 60f013e103
Add control bar option for peertube player 2022-05-20 09:59:53 +02:00
Chocobozzz 4783067277
Fix live mode descriptions 2022-05-18 14:30:49 +02:00
Chocobozzz f4120aea7a
Fix video upload with some characters in filename 2022-05-17 14:54:54 +02:00
Chocobozzz 39e68a3254
Add session informations in live modal 2022-05-03 15:21:42 +02:00
Chocobozzz 86c5229b4d
Save replay of permanent live in client 2022-05-03 08:32:20 +02:00
Chocobozzz db19581fb2
Add ability to sort by global views 2022-04-15 15:14:32 +02:00
Chocobozzz 2b0d17ccf4
Reduce videos sort complexity
Automatically use best sort if user is logged in and chose hot algorithm
2022-04-15 15:07:20 +02:00
Chocobozzz 384ba8b77a Support videos stats in client 2022-04-15 09:49:35 +02:00
Chocobozzz 25fd0b59f6
Prefer "publish" over "upload" 2022-04-08 11:16:36 +02:00
kontrollanten 72dd3a7c26
Fix titles on upload page (#4904)
* client/video-add: fix route titles

* client/video-add: show progress in page title

* Styling

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-04-08 11:14:12 +02:00
Chocobozzz a2c5cd4a03
Add reset button for file inputs in studio page 2022-03-22 17:41:39 +01:00
Chocobozzz 92e66e04f7
Rename studio to editor 2022-03-22 17:24:32 +01:00
Chocobozzz 8366491890
Fix invalid token on upload 2022-03-16 15:45:56 +01:00
kontrollanten 60233e90d2
add client.videos.upload.maxChunkSize config (#4857)
* add client.videos.upload.maxChunkSize config

* updates after review

* remove maxChunkSize from custom-config
2022-03-16 10:57:36 +01:00
Chocobozzz b788e69131
Some fixes for themes 2022-03-15 14:12:37 +01:00
Chocobozzz 57d6503286
Reorganize player files 2022-03-14 14:36:35 +01:00
Chocobozzz f443a74649 Add latency setting support 2022-03-09 09:23:10 +01:00
Chocobozzz 19e7a90045
Fix playlist element scrolling 2022-03-01 13:37:40 +01:00
Chocobozzz 70a8e50a5d Cleanup subtitle edition PR 2022-02-28 14:29:01 +01:00
lutangar 57d74ec83d Add simple subtitle edition from video captions tab
Introduce a new __Edit__ button on a subtitle.
It opens a modal with simple textarea allowing the user to do quick corrections on a subtitle.
2022-02-28 14:29:01 +01:00
Chocobozzz c729caf6cc Add basic video editor support 2022-02-28 10:42:19 +01:00
kontrollanten d0800f7661
Implement avatar miniatures (#4639)
* client: remove unused file

* refactor(client/my-actor-avatar): size from input

Read size from component input instead of scss, to make it possible to
use smaller avatar images when implemented.

* implement avatar miniatures

close #4560

* fix(test): max file size

* fix(search-index): normalize res acc to avatarMini

* refactor avatars to an array

* client/search: resize channel avatar to 120

* refactor(client/videos): remove unused function

* client(actor-avatar): set default size

* fix tests and avatars full result

When findOne is used only an array containting one avatar is returned.

* update migration version and version notations

* server/search: harmonize normalizing

* Cleanup avatar miniature PR

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-02-28 08:34:43 +01:00
Chocobozzz f33e515991
Correctly check import target URL IP 2022-02-07 11:21:25 +01:00
Chocobozzz 4afec73571
Fix scheduled publication on upload 2022-02-07 10:27:08 +01:00
Chocobozzz c4207f978e
Fast forward on HLS decode error 2022-02-02 11:26:18 +01:00
Chocobozzz 077a413ff8
Automatically restart live on server/live restart 2022-01-19 10:44:12 +01:00
Chocobozzz 696b45deb6
Fix timestamp click 2022-01-13 13:48:02 +01:00
Chocobozzz fc3412fd4e
Cleanup player hotkeys 2022-01-13 11:16:35 +01:00
Chocobozzz a5a79d1542
Increase player control bar size 2022-01-10 10:08:14 +01:00
Chocobozzz cc4bf76c13
Handle async validators 2022-01-03 14:20:52 +01:00
Chocobozzz fb3c9e2bf5
Translate plugin settings 2021-12-29 14:08:07 +01:00
Chocobozzz 087fc5dade
Refactor video edition 2021-12-29 10:20:33 +01:00
Chocobozzz 3c065fe3b3
Enhance plugin video fields
Add video form tab selection
Add ability to display an error
2021-12-29 10:10:01 +01:00
Chocobozzz dbd9fb44dd
Don't stuck state when move transcoding job failed 2021-12-23 11:13:06 +01:00
Chocobozzz a9bfa85d2c
Add ability for admins to set default p2p policy 2021-12-16 10:08:55 +01:00
Chocobozzz 3cf68b869d
Ability for admins to set default upload values 2021-12-14 17:17:01 +01:00
Chocobozzz e2a1ccd174
Add meaning to date short names 2021-12-13 16:44:34 +01:00
Florian CUNY 81547acb25
Added "zxx" (no linguistic content) in available video languages (#4631)
* Added "zxx" (no linguistic content) in available video languages

Implements https://github.com/Chocobozzz/PeerTube/issues/1489

* FIx lint

* Fix lint

* Put other languages below instance languages

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-12-13 15:32:14 +01:00
Chocobozzz 453537426a
Fix too long filename video upload 2021-12-03 14:23:45 +01:00
Chocobozzz decbd0b63b
Fix audio upload if not enabled by instance 2021-12-01 13:59:05 +01:00
Chocobozzz 71ab0c07cc
Fix player placeholder width 2021-11-29 14:00:15 +01:00
Chocobozzz 51353d9a03 Refactor video views
Introduce viewers attribute for live videos
Count views for live videos
Reduce delay to see the viewer update for lives
Add ability to configure video views buffer interval and view ip
expiration
2021-11-09 15:00:31 +01:00
Chocobozzz 221ee1adc9 Add transcoding fail message in client 2021-11-09 15:00:21 +01:00
Chocobozzz df1db951c5
Support RTMPS 2021-11-05 11:38:17 +01:00
Chocobozzz 231ff4af3b
Add ability to exclude muted accounts 2021-11-02 11:50:03 +01:00
Chocobozzz eeae81428e
Remove useless components 2021-10-29 11:52:58 +02:00
Chocobozzz 2760b454a7 Deprecate filter video query
Introduce include and isLocal instead
2021-10-29 11:48:21 +02:00
Florian CUNY db581cf7b9
Added label on the next autoplayed video and hide the hr line if unnecessary (#4497)
* Added label on the next autoplayed video

Implements https://github.com/Chocobozzz/PeerTube/issues/4280

Also hid the hr line if autoplay is disabled

* Applied code suggestion

* Applied code suggestion

* Applied the last remaining code suggestion
2021-10-26 17:15:12 +02:00
Rigel Kent 276250f0a3
prevent multiple post-process triggering of upload-resumable (#4175)
* prevent multiple post-process triggering of upload-resumable

* switch from 409 to 503 for upload being processed

* Improve resumable upload check

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-25 17:42:20 +02:00
Chocobozzz 60dd77c692
Cleanup video playlist element miniature code 2021-10-22 16:05:57 +02:00
Chocobozzz 0ba9696c01
Cleanup video update component 2021-10-22 15:51:02 +02:00
Chocobozzz ab4001aade
Provide origin URL to client and fix remote share 2021-10-22 14:11:58 +02:00
Chocobozzz a2c3564a31
Improve moderation dropdown UX 2021-10-21 10:19:42 +02:00
Chocobozzz 5196817c5d
Fix privacy concern for remote videos 2021-10-21 09:24:22 +02:00
Chocobozzz 1e2fe802d1
Force live type specification in first step 2021-10-15 11:45:03 +02:00
Chocobozzz 3eb7ee658d
Try to improve permanent live label 2021-10-15 10:54:12 +02:00
kontrollanten 7399a79f73
add option to always show channel display name (#4422)
* add option to always show channel display name

closes #4040

* show avatar in video miniatures

closes #4040

* Revert "show avatar in video miniatures"

This reverts commit 79b1a84140.

* channel display name: fix review comments
2021-10-12 14:23:44 +02:00
Chocobozzz 10ef089102
Merge branch 'release/3.4.0' into develop 2021-10-12 13:50:48 +02:00
kontrollanten c3bb04413e
add ...playlist.elements.loaded hook (#4387)
* client: add ...playlist.elements.loaded hook

closes #4385

* fix linting error

* client: add playlist metadata to video-watch hooks

* Prefer using a filter for playlist elements hook

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-12 13:45:55 +02:00
Chocobozzz 221d876fa7
Fix upload can deactivate 2021-10-12 10:53:26 +02:00
Chocobozzz e0b1231b20
Fix autoblock message on upload page 2021-10-11 09:37:26 +02:00
Chocobozzz 8e7442d0d8
Fix autoblock message on upload page 2021-10-08 11:26:17 +02:00
Chocobozzz 335fe15c47
Disable chunk upload on ios
See https://github.com/kukhariev/ngx-uploadx/issues/316#issuecomment-915858713
2021-09-09 10:31:30 +02:00
Chocobozzz 1b20624552
Don't display scope fitler on account/channel pages 2021-08-30 09:37:18 +02:00
Chocobozzz 98ab5dc810
Remove useless async 2021-08-26 10:01:42 +02:00
Ms Kimsible 52a354ab7a
Fix user quota alerts always displayed (#4354)
* Fix user quota alerts display on upload page

* Fix border-radius upload messages alerts

Co-authored-by: Ms Kimsible <kimsible@users.noreply.github.com>
2021-08-26 08:40:18 +02:00
Ms Kimsible 7dca45f99d
Inform user to fill account profile and channels (#4352)
* Add account-setup modal when login

* Add channels-setup alert into my-channels, my-playlists and upload page

Co-authored-by: Ms Kimsible <kimsible@users.noreply.github.com>
2021-08-26 08:22:33 +02:00
Chocobozzz fdec51e384
Merge branch 'feature/video-filters' into develop 2021-08-25 11:42:30 +02:00
Chocobozzz 59c8902a57
Update upload message filter hook name 2021-08-25 11:41:10 +02:00
Ms Kimsible 4e1592daa4
Alert user for low quota and video auto-block on upload page (#4336)
* Replace wording of instance contact

* Add contact-us button to no-quota alert on upload page

* Add alert for accounts with auto-blocked videos on upload page

* Add alert for accounts without enough quota + refacto on upload page

* Using ng-container and ng-template

* Add alert for daily quota

* Add hook filter for upload page alert messages

* Add instance name as subtitle in contact modal

* Fix eslint max-len on  string

* Fix missing word in quota left daily message - upload page

Co-authored-by: Kimsible <kimsible@users.noreply.github.com>
2021-08-25 11:38:10 +02:00
Chocobozzz dd24f1bb0a
Add video filters to common video pages 2021-08-25 11:24:11 +02:00
Chocobozzz 2e80d256cc
Fix live/upload redirection 2021-08-18 11:39:45 +02:00
Chocobozzz 9df52d660f
Migrate client to eslint 2021-08-18 08:35:06 +02:00
Chocobozzz 1378c0d343
Fix client lint 2021-08-17 14:01:45 +02:00
Jelle Besseling 0305db28c9
Add support for saving video files to object storage (#4290)
* Add support for saving video files to object storage

* Add support for custom url generation on s3 stored files

Uses two config keys to support url generation that doesn't directly go
to (compatible s3). Can be used to generate urls to any cache server or
CDN.

* Upload files to s3 concurrently and delete originals afterwards

* Only publish after move to object storage is complete

* Use base url instead of url template

* Fix mistyped config field

* Add rudenmentary way to download before transcode

* Implement Chocobozzz suggestions

https://github.com/Chocobozzz/PeerTube/pull/4290#issuecomment-891670478

The remarks in question:
    Try to use objectStorage prefix instead of s3 prefix for your function/variables/config names
    Prefer to use a tree for the config: s3.streaming_playlists_bucket -> object_storage.streaming_playlists.bucket
    Use uppercase for config: S3.STREAMING_PLAYLISTS_BUCKETINFO.bucket -> OBJECT_STORAGE.STREAMING_PLAYLISTS.BUCKET (maybe BUCKET_NAME instead of BUCKET)
    I suggest to rename moveJobsRunning to pendingMovingJobs (or better, create a dedicated videoJobInfo table with a pendingMove & videoId columns so we could also use this table to track pending transcoding jobs)
    https://github.com/Chocobozzz/PeerTube/pull/4290/files#diff-3e26d41ca4bda1de8e1747af70ca2af642abcc1e9e0bfb94239ff2165acfbde5R19 uses a string instead of an integer
    I think we should store the origin object storage URL in fileUrl, without base_url injection. Instead, inject the base_url at "runtime" so admins can easily change this configuration without running a script to update DB URLs

* Import correct function

* Support multipart upload

* Remove import of node 15.0 module stream/promises

* Extend maximum upload job length

Using the same value as for redundancy downloading seems logical

* Use dynamic part size for really large uploads

Also adds very small part size for local testing

* Fix decreasePendingMove query

* Resolve various PR comments

* Move to object storage after optimize

* Make upload size configurable and increase default

* Prune webtorrent files that are stored in object storage

* Move files after transcoding jobs

* Fix federation

* Add video path manager

* Support move to external storage job in client

* Fix live object storage tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-08-17 08:26:20 +02:00
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 7e8f19603b
Redirect to search page for origin instance 2021-07-29 15:35:41 +02:00
Chocobozzz ac27887774
Merge branch 'release/3.3.0' into develop 2021-07-26 15:18:46 +02:00
Chocobozzz a00056c0c8
Fix description timestamp click 2021-07-26 15:14:17 +02:00
Chocobozzz 15a7eafb89
Refactor video links builders 2021-07-26 15:04:37 +02:00
Chocobozzz 9162fdd363
Refactor video links building 2021-07-26 14:12:50 +02:00
Chocobozzz a24bd1ed41
Merge branch 'next' into develop 2021-07-21 15:51:30 +02:00
Kimsible 435990290a Correct privacymsg z-index to avoid hover dropdown on scroll 2021-07-21 15:33:59 +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 77d873c56d
Fix subscribe hotkey 2021-07-12 10:04:48 +02:00
Chocobozzz c894a1ea72
Move watch attributes in a dedicated component 2021-06-30 09:49:45 +02:00
Chocobozzz 2453589a28
Move video alert in a dedicated component 2021-06-30 08:56:14 +02:00
Chocobozzz d4f0b2ecec
Relax watch CSS 2021-06-30 08:50:20 +02:00
Chocobozzz 8d64a72b4c
Refactor a little bit watch html 2021-06-29 18:08:59 +02:00
Chocobozzz 06a5557979
Move watch action buttons in a dedicated component 2021-06-29 18:01:02 +02:00
Chocobozzz 6ebdd12f88
Move privacy concerns in a dedicated component 2021-06-29 17:36:28 +02:00
Chocobozzz 911186dae4
Reorganize watch components 2021-06-29 17:18:39 +02:00
Chocobozzz b0c43e36db
Create a dedicated component for video description 2021-06-29 17:15:05 +02:00
Chocobozzz 6ea59f4154
Create a dedicated component for video rating 2021-06-29 17:00:30 +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
kontrollanten 72f611ca15 add client hook filter:videojs.options
closes #4086
2021-06-14 13:35:48 +02:00
Chocobozzz 5d6395af72
Add max rows to videos list 2021-06-09 10:59:20 +02:00
Chocobozzz 5982ffc4b5
Fix console error when rewriting a comment 2021-06-08 10:40:38 +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
Rigel Kent 76148b27f7 refactor API errors to standard error format 2021-06-02 16:57:07 +02:00
Chocobozzz 0114ee15d5
Fix live image aspect ratio in theatre mode 2021-06-01 11:03:52 +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 8f608a4cb2
Merge branch 'develop' into shorter-URLs-channels-accounts 2021-05-27 16:12:41 +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 2539932e16
Instance homepage support (#4007)
* Prepare homepage parsers

* Add ability to update instance hompage

* Add ability to set homepage as landing page

* Add homepage preview in admin

* Dynamically update left menu for homepage

* Inject home content in homepage

* Add videos list and channel miniature custom markup

* Remove unused elements in markup service
2021-05-27 15:59:55 +02:00
Chocobozzz 35f676e5d3
Merge branch 'release/3.2.0' into develop 2021-05-26 16:00:21 +02:00