Commit Graph

522 Commits (0c9668f77901e7540e2c7045eb0f2974a4842a69)

Author SHA1 Message Date
Chocobozzz 0c9668f779 Implement remote runner jobs in server
Move ffmpeg functions to @shared
2023-05-09 08:57:34 +02:00
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 182082f52d
Update bullmq
Requires redis >= 6.2
2023-02-16 14:10:11 +01:00
Chocobozzz f959b51824
Fix broken merge 2023-01-19 14:00:37 +01:00
Chocobozzz f008e9f3f3
Add missing url unique index in local video viewer 2023-01-19 13:54:52 +01:00
Chocobozzz e364e31e25 Implement signup approval in server 2023-01-19 13:53:40 +01:00
Chocobozzz b65f5367ba
Add ability to customize token lifetime 2023-01-04 11:41:29 +01:00
Chocobozzz 1fed9cb8d3
Don't need to use redis to block tracker ips
There could be many of them, so reduce load by storing IPs directly
inside node memory
2022-12-23 13:40:42 +01:00
Chocobozzz c7c5f8d0f1
Add austrian sign language 2022-12-09 09:18:39 +01:00
Chocobozzz b7113ff7ef
Increase unicast job concurrency 2022-11-24 10:20:07 +01:00
Chocobozzz c3b21b68b5
Delete completed/failed jobs directly from bullmq 2022-11-23 17:13:01 +01:00
Chocobozzz 22926eafdb
Fix infohash exists memoize maxage
1 minute is enough, and it could lead to unknown infohash issue when
  re-streaming in a permanent live
2022-11-23 15:50:42 +01:00
Chocobozzz b1dbb9fefc
Merge branch 'release/4.3.0' into develop 2022-11-16 14:40:34 +01:00
Chocobozzz f240fb4bea
Fix broadcasting in parallel views 2022-11-16 14:40:10 +01:00
Chocobozzz 99b757488c
Fix server lint 2022-11-15 15:00:23 +01: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
Chocobozzz a3e5f804ad
Encrypt OTP secret 2022-10-10 11:12:23 +02:00
Chocobozzz 56f4783075
Support two factor authentication in backend 2022-10-07 10:51:16 +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 db312c7023
Fix old DB enum names 2022-09-13 15:22:02 +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 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 cfb5edbd9e
Increase logs stack trace max size 2022-08-09 11:34:56 +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 c795e19663
Automatically rebuild native modules on ABI change 2022-08-03 15:08:36 +02:00
Chocobozzz 927fa4b11f
Add rejected state to follows
Prevent reprocessing already rejected follows
2022-07-27 13:52:13 +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 9452d4fd33
/!\ Use a dedicated config file for development
It means you have to replace NODE_ENV=test to NODE_ENV=dev if you use it
npm run dev:* commands are already updated
2022-07-06 16:12:17 +02:00
Chocobozzz 630d0a1bf5
Introduce experimental telemetry 2022-07-06 15:13:55 +02:00
Chocobozzz 3a54605d4e
Process images in a dedicated worker 2022-06-27 11:53:12 +02:00
Chocobozzz c53853ca1b
Introduce worker threads to process remote images 2022-06-24 16:31:48 +02:00
Chocobozzz 978489b64c
Add toki pona in video languages 2022-06-24 11:59:12 +02:00
Chocobozzz 92083e4228
Fix removed sha segments on fast restream 2022-06-24 09:57:55 +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
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 714e33a742
Merge branch 'release/4.2.0' into develop 2022-06-20 10:23:19 +02:00
Chocobozzz f53e1fcd99
Relax views federation 2022-06-20 10:04:52 +02:00
Chocobozzz aa2ce188d1
Optimize view endpoint 2022-06-17 14:56:16 +02:00
Chocobozzz fba911e2c8
Merge branch 'release/4.2.0' into develop 2022-06-17 14:17:06 +02:00
Chocobozzz f27b7a750f
Send views in a dedicated queue 2022-06-17 14:08:13 +02:00
Chocobozzz 42e6a7a747
Increase max watch sections 2022-06-17 09:04:45 +02:00
luz paz 7a4fd56ccd Fix various typos
Found via `codespell -q 3 -S ./CREDITS.md,./CHANGELOG.md,./client/src/locale,./yarn.lock,./client/yarn.lock -L doubleclick,followings,nd,ot,ro,serie,splitted,tread,truthy`
2022-06-07 16:41:21 +02:00
Chocobozzz db9d882c25
Add ability to set default feed items count 2022-05-24 15:56:23 +02:00
Chocobozzz 87a0cac618
Improve admin users list table
* Fix last login sort with null values
 * Remember last selected columns
 * Display last login date by default
2022-05-24 15:29:17 +02:00
Chocobozzz 3eba7ab815
Add ability to set a custom video import timeout 2022-05-24 14:55:07 +02:00