Commit Graph

3393 Commits (83f6358dfb61499f03fd3cf9763a71c8ad50828e)

Author SHA1 Message Date
Chocobozzz 508c1b1e9f
Correctly cleanup files from object storage 2022-10-25 11:51:20 +02:00
Chocobozzz 849f0fd3b2
Lock files to generate torrents/move files 2022-10-25 11:50:44 +02:00
Chocobozzz 3b1995a2d0
Increase test timeout 2022-10-24 14:54:21 +02:00
Chocobozzz b3ce36069f Prevent concurrency issues when sending m3u8 file 2022-10-24 14:48:24 +02:00
Chocobozzz 0177101284 Fix tests 2022-10-24 14:48:24 +02:00
Chocobozzz 9ab330b90d Use private ACL for private videos in s3 2022-10-24 14:48:24 +02:00
Chocobozzz 3545e72c68 Put private videos under a specific subdirectory 2022-10-24 14:48:24 +02:00
kontrollanten 38a3ccc7f8
feat: show contained playlists under My videos (#5125)
* feat: show contained playlists under My videos

closes #4769

* refactor(server): remove unused types

* fixes after code review

* fix(client/video-miniature): add to playlist

* fix(server/user/me): shortUUID response

* Revert "fix(client/video-miniature): add to playlist"

This reverts commit f1a0412391.

* fix(client/PlaylistService): caching

* Revert "fix(server/user/me): shortUUID response"

This reverts commit e3f1ee4e33.

* Fix fetching playlists

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-10-24 14:48:03 +02:00
Chocobozzz dd84f4f263
Wait segment sha processing 2022-10-11 17:14:54 +02:00
Alberto Mardegan 5e1bd8690b
server: use account/channel avatar in RSS feeds (#5325)
* server: use account/channel avatar in RSS feeds

Fixes: #5320

* Styling

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-10-11 17:02:47 +02:00
Chocobozzz bbae45c32e
Fix live tests 2022-10-11 16:00:11 +02:00
Chocobozzz 8bd6aa0424
Also retry when fetching master m3u8 playlist 2022-10-11 14:33:42 +02:00
Chocobozzz e5fc6b5983
Fix host validation on locahost 2022-10-11 13:42:58 +02:00
Chocobozzz cea2fd90dd
Merge branch 'release/4.3.0' into develop 2022-10-11 13:30:51 +02:00
Chocobozzz a6b26afc56
Fix channel follow with manually approved follower 2022-10-11 13:27:22 +02:00
Chocobozzz 9d4c60dccc
Add ability for plugins to register ws routes 2022-10-11 11:11:04 +02:00
Chocobozzz 5cc2f0ea0a
Fix channel import with some channels 2022-10-10 15:33:32 +02:00
kontrollanten c43ed8e862
Expose PeerTube socket to plugins (#5239)
* server(pluginHelpers): add socket

* test(plugins): add socket cases

* fixes after review

* Update plugin-helpers.ts

* Update plugin-helpers.ts
2022-10-10 15:18:31 +02:00
Chocobozzz 52d6c2e0bf
Fix video job error when video has been deleted 2022-10-10 14:51:11 +02:00
Chocobozzz 97a2a704e2
Fix peers info width in live 2022-10-10 11:44:47 +02:00
Chocobozzz 34aa316f58
Try to fix tests 2022-10-10 11:40:29 +02:00
Chocobozzz 63fa260a81
Merge branch 'feature/otp' into develop 2022-10-10 11:19:58 +02:00
Chocobozzz a3e5f804ad
Encrypt OTP secret 2022-10-10 11:12:23 +02:00
Chocobozzz 2166c058f3
Allow admins to disable two factor auth 2022-10-07 14:28:35 +02:00
Chocobozzz 56f4783075
Support two factor authentication in backend 2022-10-07 10:51:16 +02:00
Chocobozzz 9b99d32804
Increase timeout 2022-10-04 14:57:11 +02:00
Chocobozzz 7dd7ff4ceb
Fix tests 2022-10-04 13:57:56 +02:00
Chocobozzz e37ca6cbc7
Prevent error log 2022-10-04 11:17:37 +02:00
Chocobozzz b7faa8372e
Decrease plugin version check for tests 2022-10-04 11:00:30 +02:00
kontrollanten 6c5f0d3aeb
server: serve files from storage/well-known (#5214)
* server: serve files from storage/well-known

closes #5206

* well-known: add tests

* test: try to skip new tests

* test: another try

* fix(config/prod): well_known path

* test: fix broken tests

* Update misc-endpoints.ts

* Use getDirectoryPath for tests

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-10-04 10:53:00 +02:00
Chocobozzz cfd57d2ca0
Live supports object storage
* Sync live files (segments, master playlist, resolution playlist,
   segment sha file) into object storage
 * Automatically delete them when the live ends
 * Segment sha file is now a file on disk, and not stored in memory
   anymore
2022-10-04 10:03:17 +02:00
Chocobozzz c5f3ff39e5
Ask password reset/email verif error handling
With a user that uses a plugin authentication
2022-09-28 16:00:32 +02:00
Chocobozzz 43972ee466
Relax bitrate/fps test 2022-09-28 11:24:14 +02:00
Chocobozzz 0d6843decd
Merge branch 'release/4.3.0' into develop 2022-09-28 11:19:25 +02:00
Chocobozzz 1593e0dd5c
Add test for RTMP stream without audio 2022-09-28 11:19:08 +02:00
Chocobozzz e15bc9dcd5
Merge branch 'release/4.3.0' into develop 2022-09-28 10:32:42 +02:00
Chocobozzz 1ce4256a65
Correctly handle RTMP streams without audio 2022-09-28 10:26:28 +02:00
Chocobozzz 49aa917509
Merge branch 'release/4.3.0' into develop 2022-09-28 10:03:32 +02:00
Chocobozzz 690bad52e1
Prevent "Cannot use same state" error 2022-09-28 10:03:06 +02:00
Chocobozzz 36305301cb
Set AKISMET_KEY as env 2022-09-28 08:25:46 +02:00
Chocobozzz ca68986083
Merge branch 'release/4.3.0' into develop 2022-09-27 16:23:04 +02:00
Chocobozzz 2b32c5b37e
Fix InvalidVideoTitle console warning 2022-09-27 16:19:36 +02:00
Chocobozzz 97922ecf64
Handle sync failure in synchronizeChannel fn 2022-09-27 09:50:18 +02:00
Chocobozzz 3097acc7c2
Increase test timeout 2022-09-27 08:26:55 +02:00
Chocobozzz 84e7ff2757
Test akismet plugin signup 2022-09-26 16:27:06 +02:00
Chocobozzz 4f38148087
Add akismet tests 2022-09-23 15:38:21 +02:00
Chocobozzz b2a70e3ca2
Support refusing remote comments 2022-09-23 11:38:18 +02:00
Chocobozzz 065684b2fe
Add sync youtube playlist test 2022-09-19 16:02:02 +02:00
Chocobozzz e0bfb72ce0
Cleanup actor image without width 2022-09-16 14:56:12 +02:00
Chocobozzz 9a3a23a834
Fix onlyAfter comparison 2022-09-16 13:51:57 +02:00
Chocobozzz 3c4754a3a1
Wait transcoding by default when importing a video 2022-09-16 13:48:06 +02:00
Chocobozzz 8a6828b166
Check channel sync id is owned by channel 2022-09-16 10:58:13 +02:00
Chocobozzz cbdd81da96
Fix import script 2022-09-16 09:52:50 +02:00
Chocobozzz 3204f4d17d
Fix sync import of latest videos 2022-09-16 09:37:07 +02:00
Chocobozzz 910744fb08
Improve VideoChannelSyncLatestScheduler logs 2022-09-14 15:10:37 +02:00
Chocobozzz 638949c67a
Increase test timeout 2022-09-14 13:39:36 +02:00
Chocobozzz 4404a7c467
Prevent job queue to be started before plugins 2022-09-14 11:45:18 +02:00
Chocobozzz db312c7023
Fix old DB enum names 2022-09-13 15:22:02 +02:00
Chocobozzz 367a9dc699
Don't display remove file icon in some cases 2022-09-13 12:00:13 +02:00
Chocobozzz aac7f4304d
Increase test timeout 2022-09-13 08:42:39 +02:00
Chocobozzz 31951badb3
Don't use hexa for av01 codec 2022-09-12 10:15:42 +02:00
Chocobozzz 0cbcaccb83
Increase test timeouts 2022-09-12 08:29:01 +02:00
Chocobozzz 01ec3975e0
Fix level for AV1 2022-09-09 15:02:28 +02:00
Chocobozzz ec8c188b14
Update client dep 2022-09-09 14:59:09 +02:00
Chocobozzz d9dd51aec7
Try playlist rebuild transaction if needed 2022-09-09 12:05:57 +02:00
Chocobozzz edacb64033
Don't use safe mode when normalizing 2022-09-09 11:46:58 +02:00
Chocobozzz 8409160821
Fix context 2022-09-09 11:33:06 +02:00
Chocobozzz 3d2e4f0371
Update server dependencies 2022-09-09 11:11:52 +02:00
Chocobozzz e4fc3697ac
Fix saved live master playlist bandwidth 2022-09-09 09:21:42 +02:00
Chocobozzz 405c83f9af
Use worker thread to send HTTP requests
Compute HTTP signature could be CPU intensive
2022-09-08 12:27:22 +02:00
Chocobozzz 6c4d6ec831
Prevent compat issue with old username
We were accepting more characters, so don't break DB for these users
2022-09-08 10:45:05 +02:00
q_h 23c0b67d7b
fix: validate s3 response (#5231)
* refactor:  remove `objectStoragePut`

this is already implemented in `lib-storage`

* fix:  validate s3 response

* fix:  enable built-in retries

* chore: add `leavePartsOnError` comment

* refactor: decrease partSize to speed up retries

* refactor: rethrow s3 errors

* refactor: reduce max_upload_part  default to 100MB

* refactor: validate response

* chore: add link to explanation
2022-09-08 08:54:12 +02:00
Chocobozzz e9fc9e03c1
Optimize fetching playlist urls 2022-09-08 08:41:48 +02:00
Chocobozzz d4d9bbc6f2
Fix channel sync right check 2022-09-08 08:41:48 +02:00
Chocobozzz 6c38f40d96
Prevent weird error on sync failure 2022-09-08 08:41:48 +02:00
Chocobozzz ea139ca870
Display error on youtube-dl get info failure 2022-08-18 11:40:07 +02:00
Chocobozzz e5d771a390
Correctly fix feeds tests 2022-08-17 16:22:25 +02:00
Chocobozzz 479b269631
Fix feeds tests 2022-08-17 16:14:15 +02:00
Chocobozzz 863477173e
Cleanup tests imports 2022-08-17 15:47:54 +02:00
Chocobozzz e0faa8ad6e
We don't need to import mocha 2022-08-17 15:40:57 +02:00
Chocobozzz 690bb8f9f3
Prefer using Object.values 2022-08-17 15:36:03 +02:00
Chocobozzz bbd5aa7ead
Reimplement a typed omit function 2022-08-17 15:25:58 +02:00
Chocobozzz a85d530384
Remove unnecessary logs 2022-08-17 14:58:40 +02:00
Chocobozzz 2ec349aa85
Prefer using our pick function 2022-08-17 14:54:01 +02:00
Chocobozzz 396f6f0140
Cleanup useless express validator messages 2022-08-17 14:27:04 +02:00
Chocobozzz 0b684daa3d
Add videoUUID to playback metrics 2022-08-17 10:21:38 +02:00
Chocobozzz 7804e577de
Increase test timeout 2022-08-16 15:41:21 +02:00
Chocobozzz 70c6a848a4
Fix tests 2022-08-16 14:03:09 +02:00
Chocobozzz 3b2006bb72
Increase timeouts 2022-08-16 10:33:27 +02:00
Chocobozzz fd3c2e8705
Add playback metric endpoint sent to OTEL 2022-08-16 10:33:27 +02:00
Chocobozzz 0e6cd1c00f
Add ability to list comments on local videos 2022-08-16 10:33:27 +02:00
Chocobozzz 2a95b88477
Add spans for AP signature checkers 2022-08-11 14:10:18 +02:00
Chocobozzz ab08ab4e28
Don't crash on redis connection error 2022-08-11 11:30:06 +02:00
Chocobozzz b1053a30f6
Add ability to use docker on local 2022-08-11 10:43:31 +02:00
Chocobozzz f4057afd20
Fix live tests 2022-08-11 09:56:17 +02:00
Chocobozzz 4fd6dcfb44
Fix transcoding of quad audio channels 2022-08-10 16:05:38 +02:00
Chocobozzz 0cfc8c4fe4
Fix test 2022-08-10 16:01:59 +02:00
Chocobozzz a3b472a12e
Add ability to list imports of a channel sync 2022-08-10 14:32:00 +02:00
Florent 2a491182e4
Channel sync (#5135)
* Add external channel URL for channel update / creation (#754)

* Disallow synchronisation if user has no video quota (#754)

* More constraints serverside (#754)

* Disable sync if server configuration does not allow HTTP import (#754)

* Working version synchronizing videos with a job (#754)

TODO: refactoring, too much code duplication

* More logs and try/catch (#754)

* Fix eslint error (#754)

* WIP: support synchronization time change (#754)

* New frontend #754

* WIP: Create sync front (#754)

* Enhance UI, sync creation form (#754)

* Warning message when HTTP upload is disallowed

* More consistent names (#754)

* Binding Front with API (#754)

* Add a /me API (#754)

* Improve list UI (#754)

* Implement creation and deletion routes (#754)

* Lint (#754)

* Lint again (#754)

* WIP: UI for triggering import existing videos (#754)

* Implement jobs for syncing and importing channels

* Don't sync videos before sync creation + avoid concurrency issue (#754)

* Cleanup (#754)

* Cleanup: OpenAPI + API rework (#754)

* Remove dead code (#754)

* Eslint (#754)

* Revert the mess with whitespaces in constants.ts (#754)

* Some fixes after rebase (#754)

* Several fixes after PR remarks (#754)

* Front + API: Rename video-channels-sync to video-channel-syncs (#754)

* Allow enabling channel sync through UI (#754)

* getChannelInfo (#754)

* Minor fixes: openapi + model + sql (#754)

* Simplified API validators (#754)

* Rename MChannelSync to MChannelSyncChannel (#754)

* Add command for VideoChannelSync (#754)

* Use synchronization.enabled config (#754)

* Check parameters test + some fixes (#754)

* Fix conflict mistake (#754)

* Restrict access to video channel sync list API (#754)

* Start adding unit test for synchronization (#754)

* Continue testing (#754)

* Tests finished + convertion of job to scheduler (#754)

* Add lastSyncAt field (#754)

* Fix externalRemoteUrl sort + creation date not well formatted (#754)

* Small fix (#754)

* Factorize addYoutubeDLImport and buildVideo (#754)

* Check duplicates on channel not on users (#754)

* factorize thumbnail generation (#754)

* Fetch error should return status 400 (#754)

* Separate video-channel-import and video-channel-sync-latest (#754)

* Bump DB migration version after rebase (#754)

* Prettier states in UI table (#754)

* Add DefaultScope in VideoChannelSyncModel (#754)

* Fix audit logs (#754)

* Ensure user can upload when importing channel + minor fixes (#754)

* Mark synchronization as failed on exception + typos (#754)

* Change REST API for importing videos into channel (#754)

* Add option for fully synchronize a chnanel (#754)

* Return a whole sync object on creation to avoid tricks in Front (#754)

* Various remarks (#754)

* Single quotes by default (#754)

* Rename synchronization to video_channel_synchronization

* Add check.latest_videos_count and max_per_user options (#754)

* Better channel rendering in list #754

* Allow sorting with channel name and state (#754)

* Add missing tests for channel imports (#754)

* Prefer using a parent job for channel sync

* Styling

* Client styling

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-08-10 09:53:39 +02:00
Chocobozzz 06ac128958
Fix print transcode command test 2022-08-09 14:49:25 +02:00
Chocobozzz 7f529402d1
Fix live max rate 2022-08-09 13:59:51 +02:00
Chocobozzz 51335c72cf
Prevent job failure on concurrent HLS transcoding 2022-08-09 13:21:18 +02:00
Chocobozzz e2b2c726b1
Fix job queue tests 2022-08-09 11:39:31 +02:00
Chocobozzz cfb5edbd9e
Increase logs stack trace max size 2022-08-09 11:34:56 +02:00
Chocobozzz c543e41492
Increate test timeout 2022-08-09 11:24:08 +02:00
Chocobozzz e13db048c7
Fix upload notification 2022-08-09 11:22:29 +02:00
Chocobozzz 8d33235de7
Remove unused log 2022-08-09 11:13:01 +02:00
Chocobozzz b42c2c7e89
Avoid concurrency issue on transcoding 2022-08-09 09:32:17 +02:00
Chocobozzz bd911b54b5
Use bullmq job dependency 2022-08-09 09:18:07 +02:00
Chocobozzz 5a921e7b74
Move to bullmq 2022-08-09 09:18:07 +02:00
Chocobozzz 5e2afe4290
Limit import depending on transcoding resolutions 2022-08-09 09:18:07 +02:00
Chocobozzz 64fd6158fd
Fix resolution to transcode hook name 2022-08-09 09:18:07 +02:00
Chocobozzz 84cae54e7a
Add option to not transcode original resolution 2022-08-09 09:18:07 +02:00
Florent 7e0f50d6e0 Use single quotes in server/ and update eslint rules 2022-08-08 08:25:36 +02:00
Florent b37d80e3ce Fix lint on hls.ts 2022-08-04 09:49:26 +02:00
Chocobozzz 9427890798
Add more tests for plugin rebuild 2022-08-03 15:16:56 +02:00
Chocobozzz c795e19663
Automatically rebuild native modules on ABI change 2022-08-03 15:08:36 +02:00
Chocobozzz fd59208e8c
Fix lint 2022-08-03 11:54:08 +02:00
Chocobozzz 84992f5606
Fix tests 2022-08-03 11:49:39 +02:00
Chocobozzz 785f1897a4
Add notification plugin hook 2022-08-03 11:33:43 +02:00
Chocobozzz 0260dc8aca
Add channel server hooks 2022-08-03 11:24:42 +02:00
Chocobozzz 0b6f531653
Suffix external auth username on conflict 2022-08-03 10:10:26 +02:00
Chocobozzz 35a0a92483
Use same mastodon regex for usernames 2022-08-03 10:09:29 +02:00
Chocobozzz f59462eca4
Fix tests 2022-08-02 16:15:37 +02:00
Chocobozzz ebb9e53ada
Add plugin hook on transcoding resolutions building 2022-08-02 16:05:44 +02:00
Chocobozzz 22df69fdec
Add job queue hooks 2022-08-02 15:50:05 +02:00
Chocobozzz 7a9e420a02
Remove uneeded async 2022-08-02 14:41:44 +02:00
Chocobozzz ec240986ef
Increase timeouts 2022-08-01 16:05:41 +02:00
Chocobozzz 15eb9e5b8f
Fix typescript error 2022-08-01 15:27:49 +02:00
Chocobozzz 1bb4c9ab2e
Add ability to delete a specific video file 2022-08-01 14:55:10 +02:00
Chocobozzz 12d84abeca
Include video file id in API 2022-07-29 11:33:27 +02:00
Chocobozzz 5a9a56b78f
Prevent error on highlighted thread 2022-07-29 10:32:56 +02:00
Chocobozzz ce6b3765a2
Add more tracing 2022-07-28 10:56:05 +02:00
Chocobozzz adc94cf09c
Add live and viewers otel metrics 2022-07-27 16:19:25 +02:00
Chocobozzz 50cc1ee48a
Fix process follow 2022-07-27 15:45:04 +02:00
Chocobozzz eb7b48ce84
Prevent logging an error on lazy static 404 2022-07-27 14:38:07 +02:00
Chocobozzz e3d6c6434f
Add bulk action on following/followers 2022-07-27 13:52:13 +02:00
Chocobozzz 073deef886
Handle rejected follows in client
Also add quick filters so it's easier to find pending follows
2022-07-27 13:52:13 +02:00
Chocobozzz 927fa4b11f
Add rejected state to follows
Prevent reprocessing already rejected follows
2022-07-27 13:52:13 +02:00
Chocobozzz 0f58b11f5c
Reduce joins need to generate AP url 2022-07-27 13:52:13 +02:00
Florent 3efa4da1fe Fix password for root in dev mode
password should remain "test" in dev mode for root.
Fix regression of 9452d4fd33 which introduces NODE_ENV=dev
2022-07-26 10:00:17 +02:00
Chocobozzz 9e2a4af3a0
Use unique AP id for accept/reject 2022-07-25 11:24:05 +02:00
Chocobozzz 7b6b445d91
Regenerate video filenames on transcoding
In particular when using manual transcoding, to invalidate potential
HTTP caches in front of peertube
2022-07-25 10:57:16 +02:00
Chocobozzz 4f50475c67
Display latest uploaded date for captions 2022-07-25 10:45:40 +02:00
Chocobozzz c8fa571f32
Clearer live session
Get the save replay setting when the session started to prevent
inconsistent behaviour when the setting changed before the session was
processed by the live ending job

Display more information about the potential session replay in live
modal information
2022-07-22 15:22:21 +02:00
Chocobozzz 7fd28c99b9
Fix lint 2022-07-19 15:34:44 +02:00
Chocobozzz cd1b8e9a40
Add node process metrics 2022-07-19 11:58:19 +02:00
Chocobozzz 0755cb89e7
Prevent logging error when saving delete live 2022-07-18 15:49:15 +02:00
Chocobozzz cace0d1a71
Prevent headers sent error 2022-07-18 15:41:47 +02:00
Chocobozzz 58c44687f7
Fix my videos counter 2022-07-18 14:53:50 +02:00