Commit Graph

1049 Commits

Author SHA1 Message Date
Wicklow 05a60d8599
Feature/Add replay privacy (#5692)
* Add replay settings feature

* Fix replay settings behaviour

* Fix tests

* Fix tests

* Fix tests

* Update openapi doc and fix tests

* Add tests and fix code

* Models correction

* Add migration and update controller and middleware

* Add check params tests

* Fix video live middleware

* Updated code based on review comments
2023-03-31 09:12:21 +02:00
Chocobozzz d91ce83d39
Add filter:html.client.json-ld.result hook 2023-03-24 18:37:55 +01:00
Chocobozzz 47d883de2e
Merge branch 'release/5.1.0' into develop 2023-03-16 14:24:50 +01:00
Chocobozzz c3441b0320
Add video AP hooks 2023-03-16 10:36:33 +01:00
Chocobozzz 58e735dd77
Add test on AP hooks 2023-03-10 15:45:52 +01:00
Chocobozzz 3b504f6ed4
Add ability for plugins to alter video jsonld 2023-03-10 15:45:52 +01:00
Chocobozzz 4899138ec5
Add ability for plugins to add metadata 2023-03-10 15:45:52 +01:00
Chocobozzz 085aba61c3
Add action:video-edit.form.updated hook 2023-03-10 15:45:52 +01:00
Chocobozzz 96d00a997b
Add test on AP hooks 2023-03-10 15:19:33 +01:00
Chocobozzz 866b5d3f52
Add ability for plugins to alter video jsonld 2023-03-10 14:42:18 +01:00
Chocobozzz 4265d90b00
Add ability for plugins to add metadata 2023-03-10 11:10:16 +01:00
Chocobozzz c1b3f2e05d
Add action:video-edit.form.updated hook 2023-03-10 10:34:25 +01:00
Chocobozzz d9dbf27a7d
Merge branch 'release/5.1.0' into develop 2023-03-07 10:42:31 +01:00
Chocobozzz 9e401fde36
Refactor my actor avatar edit 2023-03-07 10:18:32 +01:00
Wicklow 692ae8c31c
Hotfix/filter subscription videos (#5665)
* Fix filters on subscription videos

* Add tests to common video filters

* Improve reliability when skipping subscrition path

* Better parameters for skipping subscription videos
2023-03-02 14:50:55 +01:00
Wicklow c0687c91b9 Add server hooks for listing subscription 2023-02-25 15:47:48 +01:00
Chocobozzz d41f4a6dc6
Improve image test comparison 2023-02-24 15:10:13 +01:00
Wicklow 16ccb43767 Fix filters on playlists 2023-02-23 16:07:44 +01:00
Chocobozzz f069b90114
Uppercase languages 2023-02-20 11:48:11 +01:00
Chocobozzz e65ef81cf5
Update server dependencies 2023-02-16 11:56:58 +01:00
Chocobozzz 4c61660a0a
Add uk-UA locale support 2023-02-13 16:25:53 +01:00
Chocobozzz 166311358d
Add is locale support 2023-02-13 10:22:51 +01:00
Chocobozzz a2be43f570
Merge branch 'release/5.0.0' into develop 2023-01-27 08:34:16 +01:00
Chocobozzz 8059e050ef
Fix live with base url object storage 2023-01-27 08:30:56 +01:00
Chocobozzz 841cb20243
Type isPromise 2023-01-24 11:57:25 +01:00
Chocobozzz 4115f20084
Add ability to not send an email for registration 2023-01-20 15:34:01 +01:00
Chocobozzz 9436936cf6
Add more signup limit tests 2023-01-19 15:27:04 +01:00
Chocobozzz a4927884b2
Support mailto for custom markup 2023-01-19 14:27:59 +01:00
Chocobozzz 6e06694fd6
Fix semver comparison 2023-01-19 13:54:53 +01:00
Chocobozzz b379759f55 Add signup approval API tests 2023-01-19 13:53:40 +01:00
Chocobozzz e364e31e25 Implement signup approval in server 2023-01-19 13:53:40 +01:00
Chocobozzz 2570fd9c1c
Redirect to default login url on 401
Can be an external URL
2023-01-04 11:41:29 +01:00
Chocobozzz b65f5367ba
Add ability to customize token lifetime 2023-01-04 11:41:29 +01:00
Chocobozzz 25691c9930
Prefer using sequelize replacements even for tests 2023-01-03 14:23:42 +01:00
Chocobozzz 54db8e3d5c
Fix P2P with object storage 2022-12-30 15:05:14 +01:00
Chocobozzz 2732eeff9e
Fix CI using 127.0.0.1 for tests 2022-12-12 13:36:23 +01:00
Chocobozzz 71e3e879c0
Support reinjecting token in private m3u8 playlist 2022-12-02 15:25:20 +01:00
Chocobozzz e57a840ede
Remove content type for raw requests 2022-11-15 16:55:57 +01:00
Chocobozzz 99b757488c
Fix server lint 2022-11-15 15:00:23 +01:00
Chocobozzz 4638cd713d
Don't inject untrusted input
Even if it's already checked in middlewares
It's better to have safe modals too
2022-11-15 14:41:55 +01:00
Chocobozzz f713f36bdf
Federate entire description
Introduce an explicit field truncatedDescription
description in video list is deprecated
description in video get will contain the entire description
2022-11-14 13:03:54 +01:00
Chocobozzz 44e702ded4
Prevent broken transcoding with audio only input 2022-11-14 11:39:01 +01:00
Chocobozzz 9e5cf66be7
Breaking API: Consistency with role id/label 2022-10-28 16:34:08 +02:00
Chocobozzz 5a122dddc5
Option to disable static files auth check/s3 proxy 2022-10-27 09:13:10 +02:00
Chocobozzz e82cb08722
Fix proxy tests 2022-10-25 15:01:51 +02:00
Chocobozzz 508c1b1e9f
Correctly cleanup files from object storage 2022-10-25 11:51:20 +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
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
kontrollanten 9866921cbf
feat(plugins): add p2p-media-loader options filter (#5318)
* feat(plugins): add p2p-media-loader options filter

closes #5317

* remove obsolete await
2022-10-11 08:37:14 +02:00
Chocobozzz 34aa316f58
Try to fix tests 2022-10-10 11:40:29 +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 7dd7ff4ceb
Fix tests 2022-10-04 13:57:56 +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 84e7ff2757
Test akismet plugin signup 2022-09-26 16:27:06 +02:00
Chocobozzz b2a70e3ca2
Support refusing remote comments 2022-09-23 11:38:18 +02:00
Chocobozzz 367a9dc699
Don't display remove file icon in some cases 2022-09-13 12:00:13 +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 2ec349aa85
Prefer using our pick function 2022-08-17 14:54:01 +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
Florent cbdbee807d Tests: Add response error along with unexpected status in report 2022-08-16 10:00:04 +02:00
Chocobozzz de61544582
Add plugin hooks/placeholder to share modal 2022-08-11 15:28:11 +02:00
Chocobozzz a3b472a12e
Add ability to list imports of a channel sync 2022-08-10 14:32:00 +02:00
Chocobozzz 0567049a98
Add missing job types to admin panel 2022-08-10 10:34:39 +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 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 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
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 9ca0f688e9
Add channel hooks 2022-08-03 10:39:40 +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 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 e3d6c6434f
Add bulk action on following/followers 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 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 42b4063699
Add ability for client to create server logs 2022-07-18 11:37:18 +02:00
Chocobozzz ba2684cedd
Fix lint 2022-07-13 12:14:26 +02:00
Chocobozzz f686f5ed0a
Fix audio file merge
Image streams are considered as video streams by ffmpeg
Filter out image codec name
2022-07-12 16:00:15 +02:00
Chocobozzz 0f7195fa40
Support hr locale 2022-07-11 16:25:43 +02:00
kontrollanten f8b4a71d42
hooks filter:api.my-lib.playlist-elems.get.* (#5098)
* hooks filter:api.my-lib.playlist-elems.get.*

closes #4776

* Introduce my-library plugin scope

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-07-08 10:50:10 +02:00
Chocobozzz 630d0a1bf5
Introduce experimental telemetry 2022-07-06 15:13:55 +02:00
Chocobozzz e722fb5923
Merge branch 'release/4.2.0' into develop 2022-06-27 10:36:31 +02:00
Chocobozzz 41e74ec9cd
Fix broken feeds with published live 2022-06-27 10:36:16 +02:00
Chocobozzz 4c1ce3d44c
Support tok in client 2022-06-24 11:51:30 +02:00
Chocobozzz 64324ac646
Merge branch 'release/4.2.0' into develop 2022-06-23 10:53:16 +02:00
Chocobozzz 53023be33a
Fix fast restream in saved permanent live 2022-06-23 10:30:48 +02:00