Commit Graph
679 Commits
Author SHA1 Message Date
Chocobozzz d68dfe349a Remove some FIXME 2025-11-17 10:10:49 +01:00
Chocobozzz 6c6da1c512 Prefer INNER JOIN 2025-11-14 16:29:04 +01:00
Chocobozzz db1dfc6756 Painfully upgrade dependencies 2025-11-14 14:52:17 +01:00
Shalabh AgarwalandChocobozzz 9ed63f5e37 feat: add new video password api (#7044)
* add new video password api

* replace patch with post request

* Styling

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-11-13 14:40:44 +01:00
Chocobozzz 3c316a7736 Keep videos order on user import/export 2025-11-13 10:19:49 +01:00
Chocobozzz e30e5c9f7b Add ability to retry video imports
Channel syncs also retry imports
2025-11-12 14:35:26 +01:00
Chocobozzz 09d90b8152 Add channel activities feature 2025-10-30 16:25:04 +01:00
Chocobozzz dbc47e0397 Fix openid tests 2025-10-30 08:34:16 +01:00
Chocobozzz 08029076f9 Don't update publishedAt with null scheduleUpdate 2025-10-29 15:50:06 +01:00
Chocobozzz fcdfeaf31d Delete/update buttons order consistency 2025-10-29 13:18:38 +01:00
Chocobozzz 4887c28ef8 Add STUN tests 2025-10-29 11:26:35 +01:00
Chocobozzz 9e687188c9 Fix nginx tests 2025-10-29 11:06:04 +01:00
Chocobozzz eb23d76a85 Fix tests 2025-10-29 08:57:57 +01:00
Chocobozzz f2f814f9d7 Fix tests 2025-10-28 16:49:23 +01:00
Chocobozzz 6c47548d51 Search on account name when searching channels 2025-10-28 16:40:56 +01:00
Chocobozzz afd913530c Fix mention redirection 2025-10-28 16:00:26 +01:00
Chocobozzz 381f8e3b3a Add channel collaborators feature
For now only an "editor" role is available for collaborators. An editor
has the same right as the channel owner but cannot:
 * Delete the channel
 * Invite collaborators
 * Transfer ownership of a video
 * Transfer ownership of a channel (feature not developed yet)
 * Invite a new collaborator
 * Remove another collaborator

 The owner of a channel can invite another local account to be an editor
 of the channel. The editor can accept or reject the invitation.

 Moved transfer ownership of a video in the "Manage video" page.

 Updated the video channel update page to a "Manage" page, like we have
 for the video to add an "Editors" sub section, allowing the owner of
   the channel to manage channel editors.

Refactored the SQL query classes and added more raw SQL queries for
models that list entities depending on channel collaboration status.

Updated server tests to check editors can manage or cannot manage
channel entities.
2025-10-28 14:44:44 +01:00
Chocobozzz 4fd4c91ec1 Add ability to cleanup views on local videos too 2025-10-10 11:52:33 +02:00
Chocobozzz ed8279eae6 Copy codecs for HLS if possible 2025-10-10 09:05:57 +02:00
Chocobozzz 1ba09ea2fa Fix sitemap tests 2025-10-09 13:40:56 +02:00
Chocobozzz ba3bb0f142 Use schedule at date for publishedAt
Improve information to user and respect publication sort
2025-10-08 16:48:52 +02:00
Chocobozzz 2f816446a6 Merge branch 'release/7.3.x' into develop 2025-10-08 15:58:37 +02:00
Chocobozzz d867eb367b Show their own videos to muted accounts 2025-10-08 15:50:46 +02:00
Chocobozzz 5c1cbcfcb1 Fix model imports 2025-09-12 10:26:59 +02:00
Chocobozzz 572100b1a3 Fix tests build 2025-09-12 08:54:50 +02:00
Chocobozzz 74e97347bb Add ability to customize player settings 2025-09-12 08:54:50 +02:00
Chocobozzz 906b5f7f2c Migrate to pnpm 2025-09-12 08:43:41 +02:00
Shalabh AgarwalandChocobozzz efa32646ed feat: add user password constraints (#6945)
* feat: add user password length constraints

* add password length changes in locale files

* revert maximum password length changes

* add tests

* fix lint

* fix lint and test

* fix tests

* Revert "add password length changes in locale files"

This reverts commit eaaf63ba7c.

* Update PR

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-09-10 16:51:04 +02:00
諏訪子 ef28ba3038 add x link
Add missing code
2025-09-10 11:51:58 +02:00
dd52e8b89e Feature for runners - handle storyboard-generation-job (#7191)
* Implement processing storyboards by runners

* Fixed storyboard generation by runners

* use common code patterns

* fix import

* improve debug logging for storyboard generation

* config option for storyboard processing with remote-runners

* refactor repetitive pattern

* refactor storyboard related code to share common utlities

* Fix test

* Fix storyboard generation config logic

* Improve logging

* Added tests for storyboard generation with runners

* Refactor PR

---------

Co-authored-by: ilfarpro <ilfarpro@ya.ru>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-09-10 11:50:06 +02:00
Gianantonio PiniandChocobozzz e74bf8ae2a feat(config): add admin options to customize default "Browse videos" behaviour (#7193)
* feat(customBrowseVideosDefaultSort): update server config

* feat(customBrowseVideosDefaultSort): update client admin-config-general component

* feat(customBrowseVideosDefaultSort): add new consistency check to server checker-after-init

* feat(customBrowseVideosDefaultSort): update config .yaml with more details about available options

* feat(customBrowseVideosDefaultSort): refactor consistency check in server checker-after-init

* feat(customBrowseVideosDefaultSort): client, add new select-videos-sort shared component

* feat(customBrowseVideosDefaultSort): client, refactor admin-config-general component to use new select-videos-sort shared component

* feat(customBrowseVideosDefaultSort): client, fix my-select-videos-sort width in admin-config-general

* feat(customBrowseVideosDefaultSort): client, update video-filters-header scss

* feat(customBrowseVideosDefaultSort): client, update videos-list-all component

* feat(config): refactor checkBrowseVideosConfig logic into separate custom validator

* feat(config): refactor isBrowseVideosDefaultSortValid to use template literals

* feat(config): refactor isBrowseVideosDefaultSortValid

* feat(config): add check for invalid browse videos config to customConfigUpdateValidator

* feat(config): group browse-videos tests in describe block

* feat(config): refactor to use client.browse_videos section, instead of browse.videos section

* feat(config): add browse_videos default_scope config key (config and server changes)

* feat(config): add browse_videos default_scope config key (client changes)

* Reorder browse videos before videos

* Fix i18n message

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-09-10 10:41:45 +02:00
Chocobozzz 38e04969df Check API search invalid config 2025-09-05 09:36:27 +02:00
Chocobozzz 91afa1004e Fill video support on channel sync 2025-09-03 08:46:38 +02:00
Chocobozzz d0e810d29a Fix retrying the test 2025-08-26 07:46:57 +02:00
Chocobozzz 57667734c6 Fix E2E tests 2025-08-21 10:21:17 +02:00
Chocobozzz b591f42914 Add "copyrighted" licence 2025-08-19 10:30:42 +02:00
Chocobozzz acaabaace1 Compat with openid plugin 1.0.2 2025-08-11 10:46:27 +02:00
Chocobozzz b44dfef3f9 Add more openid tests 2025-08-08 14:17:20 +02:00
Chocobozzz 83f74169da Add official openid plugin tests 2025-08-08 14:16:49 +02:00
Jakob Meier fc986076c9 Allow auth plugins to redirect to external url (#7179)
* Allow auth plugins to redirect to external url

Add a new optional field to `RegisterServerExternalAuthenticatedResult`,
the object passed to the `userAuthenticated` callback used by auth plugins.

The server code uses this to redirect to an external website if it is set.

Left TODO:

- This code has been tested manually but a test case is still missing.
- Here or in the plugin, the redirect urls must be limited to values configurable by admins.

* rename to URI for consistency

* add test for the new parameter

* address review comments

- correct syntax for optional parameter
- handle the case where `externalAuthToken` has query parameters included
2025-08-07 14:59:19 +02:00
Bojidar MarinovandChocobozzz 8c9b4abe45 Add Scheduled Lives functionality (#7144)
* Add Scheduled Lives functionality through originallyPublishedAt

Implements #6604 by reusing the originallyPublishedAt field of isLive videos to mark "waiting for live" videos as scheduled at a set time.

* Hide scheduled lives from Browse Videos page

* Add tests for Scheduled Live videos

* Make scheduled lives use a dedicated scheduledAt field in the VideoLive table

* Plan live schedules to evolve in the future

 * Use a dedicated table to store live schedules, so we can add multiple
   schedules in the future and also add a title, description etc. for a
   specific schedule
 * Adapt REST API to use an array to store/get live schedules
 * Add REST API param so it's the client choice to include or not
   scheduled lives
 * Export schedules info in user import/export

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-08-01 15:06:27 +02:00
Chocobozzz 57caf25611 Add ability to list and revoke token sessions 2025-07-30 11:42:49 +02:00
Chocobozzz f19954414f Fix tests build 2025-07-29 12:11:17 +02:00
Chocobozzz 3e1cdb9fa2 Add runner version info 2025-07-29 10:30:33 +02:00
Chocobozzz c9905ecd3a Add ability to set square icon in welcome wizard 2025-07-28 17:03:17 +02:00
Chocobozzz 06d9c7a13d More robust checkLiveSegmentHash 2025-07-28 09:46:56 +02:00
Chocobozzz 13bceb5f40 Better thumbnail error handling
* Had to upgrade to es2022 to use `cause` error
 * Had to declare class attributes with declare for sequelize models, so
   it still works as before
2025-07-25 17:01:36 +02:00
Chocobozzz 29a88c0dde Improve audio transcoding
ffmpeg aac encoder is not very good so prefer to keep the same bitrate
as mp3
we also use the max available bitrate with a flac input that has an
unknown bitrate
2025-07-24 16:49:28 +02:00
Chocobozzz d6e4dac032 Add email translations
Convert emails from Pug template to Handlebars because i18next doesn't
support Pug
2025-07-24 09:18:04 +02:00
Chocobozzz b45fbf4337 Fix import tests 2025-07-22 16:43:38 +02:00