Commit Graph

3402 Commits

Author SHA1 Message Date
Chocobozzz c08e4cfcf9
Fix CLI build 2022-10-31 08:45:46 +01:00
Chocobozzz 9e5cf66be7
Breaking API: Consistency with role id/label 2022-10-28 16:34:08 +02:00
Chocobozzz 37ff5005b4
Add logger for uploadx 2022-10-28 10:47:06 +02:00
Chocobozzz 1b0a04dea8
Check missing config keys 2022-10-28 10:46:46 +02:00
Chocobozzz 1ebe2c2b9f
Update production.yaml 2022-10-28 09:59:39 +02:00
Chocobozzz 5a122dddc5
Option to disable static files auth check/s3 proxy 2022-10-27 09:13:10 +02:00
Chocobozzz 44df702502
More robust updateTorrentMetadata 2022-10-26 10:55:12 +02:00
Chocobozzz e82cb08722
Fix proxy tests 2022-10-25 15:01:51 +02:00
Chocobozzz aa887096f9
Correctly delete live files from object storage 2022-10-25 14:18:59 +02:00
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