You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
5.6 KiB
TypeScript

new file: .dockerignore new file: .editorconfig new file: .eslintrc.json new file: .gitignore new file: .gitpod.yml new file: .mocharc.cjs new file: CHANGELOG.md new file: CODE_OF_CONDUCT.md new file: CREDITS.md new file: SECURITY.md new file: apps/peertube-cli/.npmignore new file: apps/peertube-cli/README.md new file: apps/peertube-cli/package.json new file: apps/peertube-cli/scripts/build.js new file: apps/peertube-cli/scripts/watch.js new file: apps/peertube-cli/src/peertube-auth.ts new file: apps/peertube-cli/src/peertube-get-access-token.ts new file: apps/peertube-cli/src/peertube-plugins.ts new file: apps/peertube-cli/src/peertube-redundancy.ts new file: apps/peertube-cli/src/peertube-upload.ts new file: apps/peertube-cli/src/peertube.ts new file: apps/peertube-cli/src/shared/cli.ts new file: apps/peertube-cli/src/shared/index.ts new file: apps/peertube-cli/tsconfig.json new file: apps/peertube-cli/yarn.lock new file: apps/peertube-runner/.gitignore new file: apps/peertube-runner/.npmignore new file: apps/peertube-runner/README.md new file: apps/peertube-runner/package.json new file: apps/peertube-runner/scripts/build.js new file: apps/peertube-runner/scripts/watch.js new file: apps/peertube-runner/src/peertube-runner.ts new file: apps/peertube-runner/src/register/index.ts new file: apps/peertube-runner/src/register/register.ts new file: apps/peertube-runner/src/server/index.ts new file: apps/peertube-runner/src/server/process/index.ts new file: apps/peertube-runner/src/server/process/process.ts new file: apps/peertube-runner/src/server/process/shared/common.ts new file: apps/peertube-runner/src/server/process/shared/index.ts new file: apps/peertube-runner/src/server/process/shared/process-live.ts new file: apps/peertube-runner/src/server/process/shared/process-studio.ts new file: apps/peertube-runner/src/server/process/shared/process-transcription.ts new file: apps/peertube-runner/src/server/process/shared/process-vod.ts new file: apps/peertube-runner/src/server/process/shared/winston-logger.ts new file: apps/peertube-runner/src/server/server.ts new file: apps/peertube-runner/src/server/shared/index.ts new file: apps/peertube-runner/src/server/shared/supported-job.ts new file: apps/peertube-runner/src/shared/config-manager.ts new file: apps/peertube-runner/src/shared/http.ts new file: apps/peertube-runner/src/shared/index.ts new file: apps/peertube-runner/src/shared/ipc/index.ts new file: apps/peertube-runner/src/shared/ipc/ipc-client.ts new file: apps/peertube-runner/src/shared/ipc/ipc-server.ts new file: apps/peertube-runner/src/shared/ipc/shared/index.ts new file: apps/peertube-runner/src/shared/ipc/shared/ipc-request.model.ts new file: apps/peertube-runner/src/shared/ipc/shared/ipc-response.model.ts new file: apps/peertube-runner/src/shared/logger.ts new file: apps/peertube-runner/tsconfig.json new file: apps/peertube-runner/yarn.lock new file: client/.browserslistrc new file: client/.eslintrc.json new file: client/.gitignore new file: client/.stylelintrc.json new file: client/.xliffmerge.json new file: client/angular.json new file: client/e2e/fixtures/video.mp4 new file: client/e2e/fixtures/video2.mp4 new file: client/e2e/fixtures/video3.mp4 new file: client/e2e/src/commands/upload.ts new file: client/e2e/src/po/admin-config.po.ts new file: client/e2e/src/po/admin-plugin.po.ts new file: client/e2e/src/po/admin-registration.po.ts new file: client/e2e/src/po/anonymous-settings.po.ts new file: client/e2e/src/po/login.po.ts new file: client/e2e/src/po/my-account.po.ts new file: client/e2e/src/po/player.po.ts new file: client/e2e/src/po/signup.po.ts new file: client/e2e/src/po/video-list.po.ts new file: client/e2e/src/po/video-search.po.ts new file: client/e2e/src/po/video-update.po.ts new file: client/e2e/src/po/video-upload.po.ts new file: client/e2e/src/po/video-watch.po.ts new file: client/e2e/src/suites-all/live.e2e-spec.ts new file: client/e2e/src/suites-all/private-videos.e2e-spec.ts new file: client/e2e/src/suites-all/videos.e2e-spec.ts new file: client/e2e/src/suites-local/custom-server-defaults.e2e-spec.ts new file: client/e2e/src/suites-local/plugins.e2e-spec.ts new file: client/e2e/src/suites-local/signup.e2e-spec.ts new file: client/e2e/src/suites-local/user-settings.e2e-spec.ts new file: client/e2e/src/suites-local/video-password.e2e-spec.ts new file: client/e2e/src/suites-local/videos-list.e2e-spec.ts new file: client/e2e/src/types/common.ts new file: client/e2e/src/types/wdio.d.ts new file: client/e2e/src/utils/common.ts new file: client/e2e/src/utils/elements.ts new file: client/e2e/src/utils/email.ts new file: client/e2e/src/utils/files.ts new file: client/e2e/src/utils/hooks.ts new file: client/e2e/src/utils/index.ts new file: client/e2e/src/utils/mock-smtp.ts new file: client/e2e/src/utils/server.ts new file: client/e2e/src/utils/urls.ts new file: client/e2e/tsconfig.json new file: client/e2e/wdio.browserstack.conf.ts new file: client/e2e/wdio.local-test.conf.ts new file: client/e2e/wdio.local.conf.ts new file: client/e2e/wdio.main.conf.ts new file: client/package.json new file: client/proxy.config.json new file: client/src/app/+about/about-follows/about-follows.component.html new file: client/src/app/+about/about-follows/about-follows.component.scss new file: client/src/app/+about/about-follows/about-follows.component.ts new file: client/src/app/+about/about-instance/about-instance.component.html new file: client/src/app/+about/about-instance/about-instance.component.scss new file: client/src/app/+about/about-instance/about-instance.component.ts new file: client/src/app/+about/about-instance/about-instance.resolver.ts new file: client/src/app/+about/about-instance/contact-admin-modal.component.html new file: client/src/app/+about/about-instance/contact-admin-modal.component.scss new file: client/src/app/+about/about-instance/contact-admin-modal.component.ts new file: client/src/app/+about/about-instance/instance-statistics.component.html new file: client/src/app/+about/about-instance/instance-statistics.component.scss new file: client/src/app/+about/about-instance/instance-statistics.component.ts new file: client/src/app/+about/about-peertube/about-peertube.component.html new file: client/src/app/+about/about-peertube/about-peertube.component.scss new file: client/src/app/+about/about-peertube/about-peertube.component.ts new file: client/src/app/+about/about.component.html new file: client/src/app/+about/about.component.ts new file: client/src/app/+about/routes.ts new file: client/src/app/+accounts/account-video-channels/account-video-channels.component.html new file: client/src/app/+accounts/account-video-channels/account-video-channels.component.scss new file: client/src/app/+accounts/account-video-channels/account-video-channels.component.ts new file: client/src/app/+accounts/account-videos/account-videos.component.html new file: client/src/app/+accounts/account-videos/account-videos.component.ts new file: client/src/app/+accounts/accounts.component.html new file: client/src/app/+accounts/accounts.component.scss new file: client/src/app/+accounts/accounts.component.ts new file: client/src/app/+accounts/routes.ts new file: client/src/app/+admin/admin-moderation.component.html new file: client/src/app/+admin/admin-moderation.component.ts new file: client/src/app/+admin/admin-overview.component.html new file: client/src/app/+admin/admin-overview.component.ts new file: client/src/app/+admin/admin-settings.component.html new file: client/src/app/+admin/admin-settings.component.ts new file: client/src/app/+admin/config/config.routes.ts new file: client/src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.ts new file: client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts new file: client/src/app/+admin/config/edit-custom-config/edit-configuration.service.ts new file: client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.scss new file: client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts new file: client/src/app/+admin/config/edit-custom-config/edit-homepage.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-homepage.component.ts new file: client/src/app/+admin/config/edit-custom-config/edit-instance-information.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-instance-information.component.ts new file: client/src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts new file: client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html new file: client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts new file: client/src/app/+admin/config/edit-custom-config/index.ts new file: client/src/app/+admin/config/index.ts new file: client/src/app/+admin/config/shared/config.service.ts new file: client/src/app/+admin/follows/followers-list/followers-list.component.html new file: client/src/app/+admin/follows/followers-list/followers-list.component.scss new file: client/src/app/+admin/follows/followers-list/followers-list.component.ts new file: client/src/app/+admin/follows/followers-list/index.ts new file: client/src/app/+admin/follows/following-list/follow-modal.component.html new file: client/src/app/+admin/follows/following-list/follow-modal.component.scss new file: client/src/app/+admin/follows/following-list/follow-modal.component.ts new file: client/src/app/+admin/follows/following-list/following-list.component.html new file: client/src/app/+admin/follows/following-list/following-list.component.scss new file: client/src/app/+admin/follows/following-list/following-list.component.ts new file: client/src/app/+admin/follows/following-list/index.ts new file: client/src/app/+admin/follows/follows.routes.ts new file: client/src/app/+admin/follows/index.ts new file: client/src/app/+admin/follows/shared/redundancy-checkbox.component.html new file: client/src/app/+admin/follows/shared/redundancy-checkbox.component.ts new file: client/src/app/+admin/follows/video-redundancies-list/index.ts new file: client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html new file: client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.scss new file: client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts new file: client/src/app/+admin/follows/video-redundancies-list/video-redundancy-information.component.html new file: client/src/app/+admin/follows/video-redundancies-list/video-redundancy-information.component.scss new file: client/src/app/+admin/follows/video-redundancies-list/video-redundancy-information.component.ts new file: client/src/app/+admin/moderation/abuse-list/abuse-list.component.html new file: client/src/app/+admin/moderation/abuse-list/abuse-list.component.ts new file: client/src/app/+admin/moderation/abuse-list/index.ts new file: client/src/app/+admin/moderation/instance-blocklist/index.ts new file: client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts new file: client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.ts new file: client/src/app/+admin/moderation/moderation.routes.ts new file: client/src/app/+admin/moderation/registration-list/admin-registration.service.ts new file: client/src/app/+admin/moderation/registration-list/index.ts new file: client/src/app/+admin/moderation/registration-list/process-registration-modal.component.html new file: client/src/app/+admin/moderation/registration-list/process-registration-modal.component.ts new file: client/src/app/+admin/moderation/registration-list/process-registration-validators.ts new file: client/src/app/+admin/moderation/registration-list/registration-list.component.html new file: client/src/app/+admin/moderation/registration-list/registration-list.component.scss new file: client/src/app/+admin/moderation/registration-list/registration-list.component.ts new file: client/src/app/+admin/moderation/video-block-list/index.ts new file: client/src/app/+admin/moderation/video-block-list/video-block-list.component.html new file: client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts new file: client/src/app/+admin/moderation/watched-words-list/watched-words-list-admin.component.html new file: client/src/app/+admin/moderation/watched-words-list/watched-words-list-admin.component.ts new file: client/src/app/+admin/overview/comments/index.ts new file: client/src/app/+admin/overview/comments/video-comment-list.component.html new file: client/src/app/+admin/overview/comments/video-comment-list.component.ts new file: client/src/app/+admin/overview/index.ts new file: client/src/app/+admin/overview/overview.routes.ts new file: client/src/app/+admin/overview/users/index.ts new file: client/src/app/+admin/overview/users/user-edit/index.ts new file: client/src/app/+admin/overview/users/user-edit/user-create.component.ts new file: client/src/app/+admin/overview/users/user-edit/user-edit.component.html new file: client/src/app/+admin/overview/users/user-edit/user-edit.component.scss new file: client/src/app/+admin/overview/users/user-edit/user-edit.ts new file: client/src/app/+admin/overview/users/user-edit/user-password.component.html new file: client/src/app/+admin/overview/users/user-edit/user-password.component.scss new file: client/src/app/+admin/overview/users/user-edit/user-password.component.ts new file: client/src/app/+admin/overview/users/user-edit/user-update.component.ts new file: client/src/app/+admin/overview/users/user-list/index.ts new file: client/src/app/+admin/overview/users/user-list/user-list.component.html new file: client/src/app/+admin/overview/users/user-list/user-list.component.scss new file: client/src/app/+admin/overview/users/user-list/user-list.component.ts new file: client/src/app/+admin/overview/videos/index.ts new file: client/src/app/+admin/overview/videos/video-admin.service.ts new file: client/src/app/+admin/overview/videos/video-list.component.html new file: client/src/app/+admin/overview/videos/video-list.component.scss new file: client/src/app/+admin/overview/videos/video-list.component.ts new file: client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html new file: client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.scss new file: client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts new file: client/src/app/+admin/plugins/plugin-search/plugin-search.component.html new file: client/src/app/+admin/plugins/plugin-search/plugin-search.component.scss new file: client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts new file: client/src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.html new file: client/src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.ts new file: client/src/app/+admin/plugins/plugins.routes.ts new file: client/src/app/+admin/plugins/shared/plugin-api.service.ts new file: client/src/app/+admin/plugins/shared/plugin-card.component.html new file: client/src/app/+admin/plugins/shared/plugin-card.component.scss new file: client/src/app/+admin/plugins/shared/plugin-card.component.ts new file: client/src/app/+admin/routes.ts new file: client/src/app/+admin/shared/user-email-info.component.html new file: client/src/app/+admin/shared/user-email-info.component.scss new file: client/src/app/+admin/shared/user-email-info.component.ts new file: client/src/app/+admin/shared/user-real-quota-info.component.html new file: client/src/app/+admin/shared/user-real-quota-info.component.ts new file: client/src/app/+admin/system/debug/debug.component.html new file: client/src/app/+admin/system/debug/debug.component.scss new file: client/src/app/+admin/system/debug/debug.component.ts new file: client/src/app/+admin/system/debug/debug.service.ts new file: client/src/app/+admin/system/debug/index.ts new file: client/src/app/+admin/system/index.ts new file: client/src/app/+admin/system/jobs/index.ts new file: client/src/app/+admin/system/jobs/job.service.ts new file: client/src/app/+admin/system/jobs/jobs.component.html new file: client/src/app/+admin/system/jobs/jobs.component.scss new file: client/src/app/+admin/system/jobs/jobs.component.ts new file: client/src/app/+admin/system/logs/index.ts new file: client/src/app/+admin/system/logs/log-row.model.ts new file: client/src/app/+admin/system/logs/logs.component.html new file: client/src/app/+admin/system/logs/logs.component.scss new file: client/src/app/+admin/system/logs/logs.component.ts new file: client/src/app/+admin/system/logs/logs.service.ts new file: client/src/app/+admin/system/runners/index.ts new file: client/src/app/+admin/system/runners/runner-job-list/index.ts new file: client/src/app/+admin/system/runners/runner-job-list/runner-job-list.component.html new file: client/src/app/+admin/system/runners/runner-job-list/runner-job-list.component.ts new file: client/src/app/+admin/system/runners/runner-list/index.ts new file: client/src/app/+admin/system/runners/runner-list/runner-list.component.html new file: client/src/app/+admin/system/runners/runner-list/runner-list.component.ts new file: client/src/app/+admin/system/runners/runner-registration-token-list/index.ts new file: client/src/app/+admin/system/runners/runner-registration-token-list/runner-registration-token-list.component.html new file: client/src/app/+admin/system/runners/runner-registration-token-list/runner-registration-token-list.component.scss new file: client/src/app/+admin/system/runners/runner-registration-token-list/runner-registration-token-list.component.ts new file: client/src/app/+admin/system/runners/runner.service.ts new file: client/src/app/+admin/system/runners/runners.routes.ts new file: client/src/app/+admin/system/system.routes.ts new file: client/src/app/+error-page/error-page.component.html new file: client/src/app/+error-page/error-page.component.scss new file: client/src/app/+error-page/error-page.component.ts new file: client/src/app/+error-page/routes.ts new file: client/src/app/+home/home.component.html new file: client/src/app/+home/home.component.ts new file: client/src/app/+home/routes.ts new file: client/src/app/+login/login.component.html new file: client/src/app/+login/login.component.scss new file: client/src/app/+login/login.component.ts new file: client/src/app/+login/routes.ts new file: client/src/app/+manage/routes.ts new file: client/src/app/+my-account/my-account-abuses/my-account-abuses-list.component.html new file: client/src/app/+my-account/my-account-abuses/my-account-abuses-list.component.ts new file: client/src/app/+my-account/my-account-applications/my-account-applications.component.html new file: client/src/app/+my-account/my-account-applications/my-account-applications.component.scss new file: client/src/app/+my-account/my-account-applications/my-account-applications.component.ts new file: client/src/app/+my-account/my-account-blocklist/my-account-blocklist.component.ts new file: client/src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.ts new file: client/src/app/+my-account/my-account-import-export/index.ts new file: client/src/app/+my-account/my-account-import-export/my-account-export.component.html new file: client/src/app/+my-account/my-account-import-export/my-account-export.component.scss new file: client/src/app/+my-account/my-account-import-export/my-account-export.component.ts new file: client/src/app/+my-account/my-account-import-export/my-account-import-export.component.html new file: client/src/app/+my-account/my-account-import-export/my-account-import-export.component.ts new file: client/src/app/+my-account/my-account-import-export/my-account-import.component.html new file: client/src/app/+my-account/my-account-import-export/my-account-import.component.scss new file: client/src/app/+my-account/my-account-import-export/my-account-import.component.ts new file: client/src/app/+my-account/my-account-import-export/user-import-export.service.ts new file: client/src/app/+my-account/my-account-notifications/my-account-notifications.component.html new file: client/src/app/+my-account/my-account-notifications/my-account-notifications.component.scss new file: client/src/app/+my-account/my-account-notifications/my-account-notifications.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html new file: client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html new file: client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html new file: client/src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-email-preferences/my-account-email-preferences.component.html new file: client/src/app/+my-account/my-account-settings/my-account-email-preferences/my-account-email-preferences.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-email-preferences/my-account-email-preferences.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html new file: client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html new file: client/src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-settings.component.html new file: client/src/app/+my-account/my-account-settings/my-account-settings.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-settings.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-two-factor/my-account-two-factor-button.component.html new file: client/src/app/+my-account/my-account-settings/my-account-two-factor/my-account-two-factor-button.component.ts new file: client/src/app/+my-account/my-account-settings/my-account-two-factor/my-account-two-factor.component.html new file: client/src/app/+my-account/my-account-settings/my-account-two-factor/my-account-two-factor.component.scss new file: client/src/app/+my-account/my-account-settings/my-account-two-factor/my-account-two-factor.component.ts new file: client/src/app/+my-account/my-account.component.html new file: client/src/app/+my-account/my-account.component.ts new file: client/src/app/+my-account/routes.ts new file: client/src/app/+my-library/+my-video-channels/my-video-channels.component.html new file: client/src/app/+my-library/+my-video-channels/my-video-channels.component.scss new file: client/src/app/+my-library/+my-video-channels/my-video-channels.component.ts new file: client/src/app/+my-library/+my-video-channels/routes.ts new file: client/src/app/+my-library/comments-on-my-videos/comments-on-my-videos.component.html new file: client/src/app/+my-library/comments-on-my-videos/comments-on-my-videos.component.ts new file: client/src/app/+my-library/my-auto-tag-policies/automatic-tag.service.ts new file: client/src/app/+my-library/my-auto-tag-policies/my-auto-tag-policies.component.html new file: client/src/app/+my-library/my-auto-tag-policies/my-auto-tag-policies.component.ts new file: client/src/app/+my-library/my-follows/my-followers.component.html new file: client/src/app/+my-library/my-follows/my-followers.component.scss new file: client/src/app/+my-library/my-follows/my-followers.component.ts new file: client/src/app/+my-library/my-follows/my-subscriptions.component.html new file: client/src/app/+my-library/my-follows/my-subscriptions.component.scss new file: client/src/app/+my-library/my-follows/my-subscriptions.component.ts new file: client/src/app/+my-library/my-history/my-history.component.html new file: client/src/app/+my-library/my-history/my-history.component.scss new file: client/src/app/+my-library/my-history/my-history.component.ts new file: client/src/app/+my-library/my-library.component.html new file: client/src/app/+my-library/my-library.component.ts new file: client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html new file: client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.scss new file: client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts new file: client/src/app/+my-library/my-ownership/my-ownership.component.html new file: client/src/app/+my-library/my-ownership/my-ownership.component.ts new file: client/src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.html new file: client/src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts new file: client/src/app/+my-library/my-video-channel-syncs/video-channel-sync-edit/video-channel-sync-edit.component.html new file: client/src/app/+my-library/my-video-channel-syncs/video-channel-sync-edit/video-channel-sync-edit.component.scss new file: client/src/app/+my-library/my-video-channel-syncs/video-channel-sync-edit/video-channel-sync-edit.component.ts new file: client/src/app/+my-library/my-video-imports/my-video-imports.component.html new file: client/src/app/+my-library/my-video-imports/my-video-imports.component.scss new file: client/src/app/+my-library/my-video-imports/my-video-imports.component.ts new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.scss new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-edit.ts new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.scss new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts new file: client/src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts new file: client/src/app/+my-library/my-video-playlists/my-video-playlists.component.html new file: client/src/app/+my-library/my-video-playlists/my-video-playlists.component.scss new file: client/src/app/+my-library/my-video-playlists/my-video-playlists.component.ts new file: client/src/app/+my-library/my-video-space.component.html new file: client/src/app/+my-library/my-video-space.component.ts new file: client/src/app/+my-library/my-videos/modals/video-change-ownership.component.html new file: client/src/app/+my-library/my-videos/modals/video-change-ownership.component.scss new file: client/src/app/+my-library/my-videos/modals/video-change-ownership.component.ts new file: client/src/app/+my-library/my-videos/my-videos.component.html new file: client/src/app/+my-library/my-videos/my-videos.component.scss new file: client/src/app/+my-library/my-videos/my-videos.component.ts new file: client/src/app/+my-library/my-watched-words-list/my-watched-words-list.component.html new file: client/src/app/+my-library/my-watched-words-list/my-watched-words-list.component.ts new file: client/src/app/+my-library/routes.ts new file: client/src/app/+remote-interaction/remote-interaction.component.html new file: client/src/app/+remote-interaction/remote-interaction.component.ts new file: client/src/app/+remote-interaction/routes.ts new file: client/src/app/+reset-password/reset-password.component.html new file: client/src/app/+reset-password/reset-password.component.scss new file: client/src/app/+reset-password/reset-password.component.ts new file: client/src/app/+reset-password/routes.ts new file: client/src/app/+search/routes.ts new file: client/src/app/+search/search-filters.component.html new file: client/src/app/+search/search-filters.component.scss new file: client/src/app/+search/search-filters.component.ts new file: client/src/app/+search/search.component.html new file: client/src/app/+search/search.component.scss new file: client/src/app/+search/search.component.ts new file: client/src/app/+search/shared/abstract-lazy-load.resolver.ts new file: client/src/app/+search/shared/channel-lazy-load.resolver.ts new file: client/src/app/+search/shared/index.ts new file: client/src/app/+search/shared/playlist-lazy-load.resolver.ts new file: client/src/app/+search/shared/video-lazy-load.resolver.ts new file: client/src/app/+signup/+register/custom-stepper.component.html new file: client/src/app/+signup/+register/custom-stepper.component.scss new file: client/src/app/+signup/+register/custom-stepper.component.ts new file: client/src/app/+signup/+register/register.component.html new file: client/src/app/+signup/+register/register.component.scss new file: client/src/app/+signup/+register/register.component.ts new file: client/src/app/+signup/+register/routes.ts new file: client/src/app/+signup/+register/shared/index.ts new file: client/src/app/+signup/+register/shared/register-validators.ts new file: client/src/app/+signup/+register/steps/register-step-about.component.html new file: client/src/app/+signup/+register/steps/register-step-about.component.scss new file: client/src/app/+signup/+register/steps/register-step-about.component.ts new file: client/src/app/+signup/+register/steps/register-step-channel.component.html new file: client/src/app/+signup/+register/steps/register-step-channel.component.ts new file: client/src/app/+signup/+register/steps/register-step-terms.component.html new file: client/src/app/+signup/+register/steps/register-step-terms.component.ts new file: client/src/app/+signup/+register/steps/register-step-user.component.html new file: client/src/app/+signup/+register/steps/register-step-user.component.ts new file: client/src/app/+signup/+register/steps/step.component.scss new file: client/src/app/+signup/+verify-account/routes.ts new file: client/src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html new file: client/src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.scss new file: client/src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts new file: client/src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html new file: client/src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.ts new file: client/src/app/+signup/shared/signup-mascot.component.scss new file: client/src/app/+signup/shared/signup-mascot.component.ts new file: client/src/app/+signup/shared/signup-step-title.component.html new file: client/src/app/+signup/shared/signup-step-title.component.scss new file: client/src/app/+signup/shared/signup-step-title.component.ts new file: client/src/app/+signup/shared/signup-success-after-email.component.html new file: client/src/app/+signup/shared/signup-success-after-email.component.ts new file: client/src/app/+signup/shared/signup-success-before-email.component.html new file: client/src/app/+signup/shared/signup-success-before-email.component.ts new file: client/src/app/+signup/shared/signup-success.component.scss new file: client/src/app/+signup/shared/signup.service.ts new file: client/src/app/+stats/routes.ts new file: client/src/app/+stats/video/index.ts new file: client/src/app/+stats/video/video-stats.component.html new file: client/src/app/+stats/video/video-stats.component.scss new file: client/src/app/+stats/video/video-stats.component.ts new file: client/src/app/+stats/video/video-stats.service.ts new file: client/src/app/+video-channels/routes.ts new file: client/src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html new file: client/src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.scss new file: client/src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.ts new file: client/src/app/+video-channels/video-channel-videos/video-channel-videos.component.html new file: client/src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts new file: client/src/app/+video-channels/video-channels.component.html new file: client/src/app/+video-channels/video-channels.component.scss new file: client/src/app/+video-channels/video-channels.component.ts new file: client/src/app/+video-studio/edit/index.ts new file: client/src/app/+video-studio/edit/video-studio-edit.component.html new file: client/src/app/+video-studio/edit/video-studio-edit.component.scss new file: client/src/app/+video-studio/edit/video-studio-edit.component.ts new file: client/src/app/+video-studio/routes.ts new file: client/src/app/+video-studio/shared/index.ts new file: client/src/app/+video-studio/shared/video-studio.service.ts new file: client/src/app/+videos/+video-edit/add-routes.ts new file: client/src/app/+videos/+video-edit/shared/caption/video-caption-add-modal.component.html new file: client/src/app/+videos/+video-edit/shared/caption/video-caption-add-modal.component.scss new file: client/src/app/+videos/+video-edit/shared/caption/video-caption-add-modal.component.ts new file: client/src/app/+videos/+video-edit/shared/caption/video-caption-edit-modal-content.component.html new file: client/src/app/+videos/+video-edit/shared/caption/video-caption-edit-modal-content.component.scss new file: client/src/app/+videos/+video-edit/shared/caption/video-caption-edit-modal-content.component.ts new file: client/src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts new file: client/src/app/+videos/+video-edit/shared/thumbnail-manager/thumbnail-manager.component.html new file: client/src/app/+videos/+video-edit/shared/thumbnail-manager/thumbnail-manager.component.scss new file: client/src/app/+videos/+video-edit/shared/thumbnail-manager/thumbnail-manager.component.ts new file: client/src/app/+videos/+video-edit/shared/uploaderx-form-data.ts new file: client/src/app/+videos/+video-edit/shared/video-edit-utils.ts new file: client/src/app/+videos/+video-edit/shared/video-edit.component.html new file: client/src/app/+videos/+video-edit/shared/video-edit.component.scss new file: client/src/app/+videos/+video-edit/shared/video-edit.component.ts new file: client/src/app/+videos/+video-edit/shared/video-edit.type.ts new file: client/src/app/+videos/+video-edit/shared/video-upload.service.ts new file: client/src/app/+videos/+video-edit/update-routes.ts new file: client/src/app/+videos/+video-edit/video-add-components/drag-drop.directive.ts new file: client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html new file: client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.scss new file: client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts new file: client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html new file: client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.scss new file: client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts new file: client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.html new file: client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts new file: client/src/app/+videos/+video-edit/video-add-components/video-send.scss new file: client/src/app/+videos/+video-edit/video-add-components/video-send.ts new file: client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html new file: client/src/app/+videos/+video-edit/video-add-components/video-upload.component.scss new file: client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts new file: client/src/app/+videos/+video-edit/video-add.component.html new file: client/src/app/+videos/+video-edit/video-add.component.scss new file: client/src/app/+videos/+video-edit/video-add.component.ts new file: client/src/app/+videos/+video-edit/video-update.component.html new file: client/src/app/+videos/+video-edit/video-update.component.ts new file: client/src/app/+videos/+video-edit/video-update.resolver.ts new file: client/src/app/+videos/+video-watch/player-styles.component.scss new file: client/src/app/+videos/+video-watch/player-styles.component.ts new file: client/src/app/+videos/+video-watch/routes.ts new file: client/src/app/+videos/+video-watch/shared/action-buttons/action-buttons.component.html new file: client/src/app/+videos/+video-watch/shared/action-buttons/action-buttons.component.scss new file: client/src/app/+videos/+video-watch/shared/action-buttons/action-buttons.component.ts new file: client/src/app/+videos/+video-watch/shared/action-buttons/index.ts new file: client/src/app/+videos/+video-watch/shared/action-buttons/video-rate.component.html new file: client/src/app/+videos/+video-watch/shared/action-buttons/video-rate.component.scss new file: client/src/app/+videos/+video-watch/shared/action-buttons/video-rate.component.ts new file: client/src/app/+videos/+video-watch/shared/comment/index.ts new file: client/src/app/+videos/+video-watch/shared/comment/video-comment-add.component.html new file: client/src/app/+videos/+video-watch/shared/comment/video-comment-add.component.scss new file: client/src/app/+videos/+video-watch/shared/comment/video-comment-add.component.ts new file: client/src/app/+videos/+video-watch/shared/comment/video-comment.component.html new file: client/src/app/+videos/+video-watch/shared/comment/video-comment.component.scss new file: client/src/app/+videos/+video-watch/shared/comment/video-comment.component.ts new file: client/src/app/+videos/+video-watch/shared/comment/video-comments.component.html new file: client/src/app/+videos/+video-watch/shared/comment/video-comments.component.scss new file: client/src/app/+videos/+video-watch/shared/comment/video-comments.component.ts new file: client/src/app/+videos/+video-watch/shared/index.ts new file: client/src/app/+videos/+video-watch/shared/information/index.ts new file: client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.html new file: client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.scss new file: client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.ts new file: client/src/app/+videos/+video-watch/shared/information/video-alert.component.html new file: client/src/app/+videos/+video-watch/shared/information/video-alert.component.ts new file: client/src/app/+videos/+video-watch/shared/metadata/index.ts new file: client/src/app/+videos/+video-watch/shared/metadata/video-attributes.component.html new file: client/src/app/+videos/+video-watch/shared/metadata/video-attributes.component.scss new file: client/src/app/+videos/+video-watch/shared/metadata/video-attributes.component.ts new file: client/src/app/+videos/+video-watch/shared/metadata/video-avatar-channel.component.html new file: client/src/app/+videos/+video-watch/shared/metadata/video-avatar-channel.component.scss new file: client/src/app/+videos/+video-watch/shared/metadata/video-avatar-channel.component.ts new file: client/src/app/+videos/+video-watch/shared/metadata/video-description.component.html new file: client/src/app/+videos/+video-watch/shared/metadata/video-description.component.scss new file: client/src/app/+videos/+video-watch/shared/metadata/video-description.component.ts new file: client/src/app/+videos/+video-watch/shared/player-widgets/player-widget.component.scss new file: client/src/app/+videos/+video-watch/shared/player-widgets/video-transcription.component.html new file: client/src/app/+videos/+video-watch/shared/player-widgets/video-transcription.component.scss new file: client/src/app/+videos/+video-watch/shared/player-widgets/video-transcription.component.ts new file: client/src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.html new file: client/src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.scss new file: client/src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts new file: client/src/app/+videos/+video-watch/shared/recommendations/index.ts new file: client/src/app/+videos/+video-watch/shared/recommendations/recommended-videos.component.html new file: client/src/app/+videos/+video-watch/shared/recommendations/recommended-videos.component.scss new file: client/src/app/+videos/+video-watch/shared/recommendations/recommended-videos.component.ts new file: client/src/app/+videos/+video-watch/shared/recommendations/video-recommendation.service.ts new file: client/src/app/+videos/+video-watch/shared/timestamp-route-transformer.directive.ts new file: client/src/app/+videos/+video-watch/video-watch.component.html new file: client/src/app/+videos/+video-watch/video-watch.component.scss new file: client/src/app/+videos/+video-watch/video-watch.component.ts new file: client/src/app/+videos/routes.ts new file: client/src/app/+videos/video-list/index.ts new file: client/src/app/+videos/video-list/overview/index.ts new file: client/src/app/+videos/video-list/overview/overview.service.ts new file: client/src/app/+videos/video-list/overview/video-overview.component.html new file: client/src/app/+videos/video-list/overview/video-overview.component.scss new file: client/src/app/+videos/video-list/overview/video-overview.component.ts new file: client/src/app/+videos/video-list/overview/videos-overview.model.ts new file: client/src/app/+videos/video-list/video-user-subscriptions.component.html new file: client/src/app/+videos/video-list/video-user-subscriptions.component.ts new file: client/src/app/+videos/video-list/videos-list-all.component.html new file: client/src/app/+videos/video-list/videos-list-all.component.ts new file: client/src/app/app.component.html new file: client/src/app/app.component.scss new file: client/src/app/app.component.ts new file: client/src/app/app.routes.ts new file: client/src/app/core/auth/auth-status.model.ts new file: client/src/app/core/auth/auth-user.model.ts new file: client/src/app/core/auth/auth.service.ts new file: client/src/app/core/auth/index.ts new file: client/src/app/core/confirm/confirm.service.ts new file: client/src/app/core/confirm/index.ts new file: client/src/app/core/core-providers.ts new file: client/src/app/core/hotkeys/hotkey.model.ts new file: client/src/app/core/hotkeys/hotkeys.service.ts new file: client/src/app/core/hotkeys/index.ts new file: client/src/app/core/index.ts new file: client/src/app/core/menu/index.ts new file: client/src/app/core/menu/menu.service.ts new file: client/src/app/core/notification/index.ts new file: client/src/app/core/notification/notifier.service.ts new file: client/src/app/core/notification/peertube-socket.service.ts new file: client/src/app/core/plugins/hooks.service.ts new file: client/src/app/core/plugins/index.ts new file: client/src/app/core/plugins/plugin.service.ts new file: client/src/app/core/renderer/html-renderer.service.ts new file: client/src/app/core/renderer/index.ts new file: client/src/app/core/renderer/linkifier.service.ts new file: client/src/app/core/renderer/markdown.service.ts new file: client/src/app/core/rest/component-pagination.model.ts new file: client/src/app/core/rest/index.ts new file: client/src/app/core/rest/rest-extractor.service.ts new file: client/src/app/core/rest/rest-pagination.ts new file: client/src/app/core/rest/rest-table.ts new file: client/src/app/core/rest/rest.service.ts new file: client/src/app/core/routing/can-deactivate-guard.service.ts new file: client/src/app/core/routing/custom-reuse-strategy.ts new file: client/src/app/core/routing/disable-for-reuse-hook.ts new file: client/src/app/core/routing/index.ts new file: client/src/app/core/routing/login-guard.service.ts new file: client/src/app/core/routing/meta-guard.service.ts new file: client/src/app/core/routing/meta.service.ts new file: client/src/app/core/routing/peertube-router.service.ts new file: client/src/app/core/routing/preload-selected-modules-list.ts new file: client/src/app/core/routing/redirect.service.ts new file: client/src/app/core/routing/scroll.service.ts new file: client/src/app/core/routing/server-config-resolver.service.ts new file: client/src/app/core/routing/unlogged-guard.service.ts new file: client/src/app/core/routing/user-right-guard.service.ts new file: client/src/app/core/routing/user.resolver.ts new file: client/src/app/core/scoped-tokens/index.ts new file: client/src/app/core/scoped-tokens/scoped-tokens.service.ts new file: client/src/app/core/server/index.ts new file: client/src/app/core/server/server.service.ts new file: client/src/app/core/theme/index.ts new file: client/src/app/core/theme/theme.service.ts new file: client/src/app/core/users/index.ts new file: client/src/app/core/users/user-local-storage.service.ts new file: client/src/app/core/users/user.model.ts new file: client/src/app/core/users/user.service.ts new file: client/src/app/core/wrappers/index.ts new file: client/src/app/core/wrappers/screen.service.ts new file: client/src/app/core/wrappers/storage.service.ts new file: client/src/app/empty.component.ts new file: client/src/app/header/header.component.html new file: client/src/app/header/header.component.scss new file: client/src/app/header/header.component.ts new file: client/src/app/header/notification-dropdown.component.html new file: client/src/app/header/notification-dropdown.component.scss new file: client/src/app/header/notification-dropdown.component.ts new file: client/src/app/header/search-typeahead.component.html new file: client/src/app/header/search-typeahead.component.scss new file: client/src/app/header/search-typeahead.component.ts new file: client/src/app/header/suggestion.component.html new file: client/src/app/header/suggestion.component.scss new file: client/src/app/header/suggestion.component.ts new file: client/src/app/helpers/constants.ts new file: client/src/app/helpers/i18n-utils.ts new file: client/src/app/helpers/index.ts new file: client/src/app/helpers/locales/index.ts new file: client/src/app/helpers/locales/oc.ts new file: client/src/app/helpers/rxjs.ts new file: client/src/app/helpers/utils/channel.ts new file: client/src/app/helpers/utils/date.ts new file: client/src/app/helpers/utils/dom.ts new file: client/src/app/helpers/utils/html.ts new file: client/src/app/helpers/utils/index.ts new file: client/src/app/helpers/utils/object.ts new file: client/src/app/helpers/utils/simple-memoize.ts new file: client/src/app/helpers/utils/upload.ts new file: client/src/app/helpers/utils/url.ts new file: client/src/app/homepage-redirect.component.ts new file: client/src/app/hotkeys/hotkeys-cheat-sheet.component.html new file: client/src/app/hotkeys/hotkeys-cheat-sheet.component.scss new file: client/src/app/hotkeys/hotkeys-cheat-sheet.component.ts new file: client/src/app/menu/home-menu.component.html new file: client/src/app/menu/home-menu.component.ts new file: client/src/app/menu/language-chooser.component.html new file: client/src/app/menu/language-chooser.component.scss new file: client/src/app/menu/language-chooser.component.ts new file: client/src/app/menu/menu.component.html new file: client/src/app/menu/menu.component.scss new file: client/src/app/menu/menu.component.ts new file: client/src/app/menu/quick-settings-modal.component.html new file: client/src/app/menu/quick-settings-modal.component.ts new file: client/src/app/modal/account-setup-warning-modal.component.html new file: client/src/app/modal/account-setup-warning-modal.component.scss new file: client/src/app/modal/account-setup-warning-modal.component.ts new file: client/src/app/modal/admin-welcome-modal.component.html new file: client/src/app/modal/admin-welcome-modal.component.scss new file: client/src/app/modal/admin-welcome-modal.component.ts new file: client/src/app/modal/confirm.component.html new file: client/src/app/modal/confirm.component.scss new file: client/src/app/modal/confirm.component.ts new file: client/src/app/modal/custom-modal.component.html new file: client/src/app/modal/custom-modal.component.scss new file: client/src/app/modal/custom-modal.component.ts new file: client/src/app/modal/instance-config-warning-modal.component.html new file: client/src/app/modal/instance-config-warning-modal.component.scss new file: client/src/app/modal/instance-config-warning-modal.component.ts new file: client/src/app/shared/form-validators/abuse-validators.ts new file: client/src/app/shared/form-validators/common-validators.ts new file: client/src/app/shared/form-validators/custom-config-validators.ts new file: client/src/app/shared/form-validators/form-validator.model.ts new file: client/src/app/shared/form-validators/host-validators.ts new file: client/src/app/shared/form-validators/instance-validators.ts new file: client/src/app/shared/form-validators/login-validators.ts new file: client/src/app/shared/form-validators/reset-password-validators.ts new file: client/src/app/shared/form-validators/shared/validator-utils.ts new file: client/src/app/shared/form-validators/user-validators.ts new file: client/src/app/shared/form-validators/video-block-validators.ts new file: client/src/app/shared/form-validators/video-captions-validators.ts new file: client/src/app/shared/form-validators/video-channel-validators.ts new file: client/src/app/shared/form-validators/video-chapter-validators.ts new file: client/src/app/shared/form-validators/video-comment-validators.ts new file: client/src/app/shared/form-validators/video-ownership-change-validators.ts new file: client/src/app/shared/form-validators/video-playlist-validators.ts new file: client/src/app/shared/form-validators/video-validators.ts new file: client/src/app/shared/form-validators/watched-words-list-validators.ts new file: client/src/app/shared/shared-abuse-list/abuse-details.component.html new file: client/src/app/shared/shared-abuse-list/abuse-details.component.scss new file: client/src/app/shared/shared-abuse-list/abuse-details.component.ts new file: client/src/app/shared/shared-abuse-list/abuse-list-table.component.html new file: client/src/app/shared/shared-abuse-list/abuse-list-table.component.scss new file: client/src/app/shared/shared-abuse-list/abuse-list-table.component.ts new file: client/src/app/shared/shared-abuse-list/abuse-message-modal.component.html new file: client/src/app/shared/shared-abuse-list/abuse-message-modal.component.scss new file: client/src/app/shared/shared-abuse-list/abuse-message-modal.component.ts new file: client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.html new file: client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.scss new file: client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts new file: client/src/app/shared/shared-abuse-list/processed-abuse.model.ts new file: client/src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html new file: client/src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.scss new file: client/src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts new file: client/src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html new file: client/src/app/shared/shared-actor-image-edit/actor-banner-edit.component.scss new file: client/src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts new file: client/src/app/shared/shared-actor-image-edit/actor-image-edit.scss new file: client/src/app/shared/shared-actor-image/actor-avatar.component.html new file: client/src/app/shared/shared-actor-image/actor-avatar.component.scss new file: client/src/app/shared/shared-actor-image/actor-avatar.component.ts new file: client/src/app/shared/shared-custom-markup/custom-markup-container.component.html new file: client/src/app/shared/shared-custom-markup/custom-markup-container.component.ts new file: client/src/app/shared/shared-custom-markup/custom-markup-help.component.html new file: client/src/app/shared/shared-custom-markup/custom-markup-help.component.ts new file: client/src/app/shared/shared-custom-markup/custom-markup.service.ts new file: client/src/app/shared/shared-custom-markup/dynamic-element.service.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/button-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/button-markup.component.scss new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/button-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/channel-miniature-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/channel-miniature-markup.component.scss new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/channel-miniature-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/embed-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/index.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/instance-avatar-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/instance-avatar-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/instance-banner-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/instance-banner-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/playlist-miniature-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/playlist-miniature-markup.component.scss new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/playlist-miniature-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/shared/custom-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/shared/index.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.scss new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.ts new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/videos-list-markup.component.html new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/videos-list-markup.component.scss new file: client/src/app/shared/shared-custom-markup/peertube-custom-tags/videos-list-markup.component.ts new file: client/src/app/shared/shared-forms/advanced-input-filter.component.html new file: client/src/app/shared/shared-forms/advanced-input-filter.component.scss new file: client/src/app/shared/shared-forms/advanced-input-filter.component.ts new file: client/src/app/shared/shared-forms/dynamic-form-field.component.html new file: client/src/app/shared/shared-forms/dynamic-form-field.component.scss new file: client/src/app/shared/shared-forms/dynamic-form-field.component.ts new file: client/src/app/shared/shared-forms/form-reactive.service.ts new file: client/src/app/shared/shared-forms/form-reactive.ts new file: client/src/app/shared/shared-forms/form-validator.service.ts new file: client/src/app/shared/shared-forms/input-switch.component.html new file: client/src/app/shared/shared-forms/input-switch.component.scss new file: client/src/app/shared/shared-forms/input-switch.component.ts new file: client/src/app/shared/shared-forms/input-text.component.html new file: client/src/app/shared/shared-forms/input-text.component.scss new file: client/src/app/shared/shared-forms/input-text.component.ts new file: client/src/app/shared/shared-forms/markdown-textarea.component.html new file: client/src/app/shared/shared-forms/markdown-textarea.component.scss new file: client/src/app/shared/shared-forms/markdown-textarea.component.ts new file: client/src/app/shared/shared-forms/peertube-checkbox.component.html new file: client/src/app/shared/shared-forms/peertube-checkbox.component.scss new file: client/src/app/shared/shared-forms/peertube-checkbox.component.ts new file: client/src/app/shared/shared-forms/preview-upload.component.html new file: client/src/app/shared/shared-forms/preview-upload.component.scss new file: client/src/app/shared/shared-forms/preview-upload.component.ts new file: client/src/app/shared/shared-forms/reactive-file.component.html new file: client/src/app/shared/shared-forms/reactive-file.component.scss new file: client/src/app/shared/shared-forms/reactive-file.component.ts new file: client/src/app/shared/shared-forms/select/select-categories.component.ts new file: client/src/app/shared/shared-forms/select/select-channel.component.ts new file: client/src/app/shared/shared-forms/select/select-checkbox-default-all.component.ts new file: client/src/app/shared/shared-forms/select/select-checkbox.component.html new file: client/src/app/shared/shared-forms/select/select-checkbox.component.ts new file: client/src/app/shared/shared-forms/select/select-custom-value.component.html new file: client/src/app/shared/shared-forms/select/select-custom-value.component.ts new file: client/src/app/shared/shared-forms/select/select-languages.component.ts new file: client/src/app/shared/shared-forms/select/select-options.component.html new file: client/src/app/shared/shared-forms/select/select-options.component.scss new file: client/src/app/shared/shared-forms/select/select-options.component.ts new file: client/src/app/shared/shared-forms/select/select-tags.component.html new file: client/src/app/shared/shared-forms/select/select-tags.component.ts new file: client/src/app/shared/shared-forms/shared-form-providers.ts new file: client/src/app/shared/shared-forms/textarea-autoresize.directive.ts new file: client/src/app/shared/shared-forms/timestamp-input.component.html new file: client/src/app/shared/shared-forms/timestamp-input.component.scss new file: client/src/app/shared/shared-forms/timestamp-input.component.ts new file: client/src/app/shared/shared-icons/global-icon.component.scss new file: client/src/app/shared/shared-icons/global-icon.component.ts new file: client/src/app/shared/shared-instance/feature-boolean.component.html new file: client/src/app/shared/shared-instance/feature-boolean.component.scss new file: client/src/app/shared/shared-instance/feature-boolean.component.ts new file: client/src/app/shared/shared-instance/instance-about-accordion.component.html new file: client/src/app/shared/shared-instance/instance-about-accordion.component.scss new file: client/src/app/shared/shared-instance/instance-about-accordion.component.ts new file: client/src/app/shared/shared-instance/instance-banner.component.html new file: client/src/app/shared/shared-instance/instance-banner.component.ts new file: client/src/app/shared/shared-instance/instance-features-table.component.html new file: client/src/app/shared/shared-instance/instance-features-table.component.scss new file: client/src/app/shared/shared-instance/instance-features-table.component.ts new file: client/src/app/shared/shared-instance/instance-follow.service.ts new file: client/src/app/shared/shared-main/account/account.model.ts new file: client/src/app/shared/shared-main/account/account.service.ts new file: client/src/app/shared/shared-main/account/actor.model.ts new file: client/src/app/shared/shared-main/auth/auth-interceptor.service.ts new file: client/src/app/shared/shared-main/buttons/action-dropdown.component.html new file: client/src/app/shared/shared-main/buttons/action-dropdown.component.scss new file: client/src/app/shared/shared-main/buttons/action-dropdown.component.ts new file: client/src/app/shared/shared-main/buttons/button.component.html new file: client/src/app/shared/shared-main/buttons/button.component.scss new file: client/src/app/shared/shared-main/buttons/button.component.ts new file: client/src/app/shared/shared-main/buttons/copy-button.component.html new file: client/src/app/shared/shared-main/buttons/copy-button.component.scss new file: client/src/app/shared/shared-main/buttons/copy-button.component.ts new file: client/src/app/shared/shared-main/buttons/delete-button.component.ts new file: client/src/app/shared/shared-main/buttons/edit-button.component.ts new file: client/src/app/shared/shared-main/buttons/help.component.html new file: client/src/app/shared/shared-main/buttons/help.component.scss new file: client/src/app/shared/shared-main/buttons/help.component.ts new file: client/src/app/shared/shared-main/channel/channels-setup-message.component.html new file: client/src/app/shared/shared-main/channel/channels-setup-message.component.scss new file: client/src/app/shared/shared-main/channel/channels-setup-message.component.ts new file: client/src/app/shared/shared-main/channel/video-channel-sync.service.ts new file: client/src/app/shared/shared-main/channel/video-channel.model.ts new file: client/src/app/shared/shared-main/channel/video-channel.service.ts new file: client/src/app/shared/shared-main/common/alert.component.html new file: client/src/app/shared/shared-main/common/alert.component.scss new file: client/src/app/shared/shared-main/common/alert.component.ts new file: client/src/app/shared/shared-main/common/auto-colspan.directive.ts new file: client/src/app/shared/shared-main/common/autofocus.directive.ts new file: client/src/app/shared/shared-main/common/bytes.pipe.ts new file: client/src/app/shared/shared-main/common/date.pipe.ts new file: client/src/app/shared/shared-main/common/defer-loading.directive.ts new file: client/src/app/shared/shared-main/common/infinite-scroller.directive.ts new file: client/src/app/shared/shared-main/common/link.component.html new file: client/src/app/shared/shared-main/common/link.component.scss new file: client/src/app/shared/shared-main/common/link.component.ts new file: client/src/app/shared/shared-main/common/loader.component.ts new file: client/src/app/shared/shared-main/common/nl2br.pipe.ts new file: client/src/app/shared/shared-main/common/number-formatter.pipe.ts new file: client/src/app/shared/shared-main/common/peertube-template.directive.ts new file: client/src/app/shared/shared-main/common/progress-bar.component.html new file: client/src/app/shared/shared-main/common/progress-bar.component.scss new file: client/src/app/shared/shared-main/common/progress-bar.component.ts new file: client/src/app/shared/shared-main/custom-page/custom-page.service.ts new file: client/src/app/shared/shared-main/date/date-toggle.component.html new file: client/src/app/shared/shared-main/date/date-toggle.component.scss new file: client/src/app/shared/shared-main/date/date-toggle.component.ts new file: client/src/app/shared/shared-main/date/days-duration-formatter.pipe.ts new file: client/src/app/shared/shared-main/date/from-now.pipe.ts new file: client/src/app/shared/shared-main/date/time-duration-formatter.pipe.ts new file: client/src/app/shared/shared-main/feeds/feed.component.html new file: client/src/app/shared/shared-main/feeds/feed.component.scss new file: client/src/app/shared/shared-main/feeds/feed.component.ts new file: client/src/app/shared/shared-main/feeds/syndication.model.ts new file: client/src/app/shared/shared-main/instance/instance.service.ts new file: client/src/app/shared/shared-main/main-providers.ts new file: client/src/app/shared/shared-main/menu/horizontal-menu.component.html new file: client/src/app/shared/shared-main/menu/horizontal-menu.component.scss new file: client/src/app/shared/shared-main/menu/horizontal-menu.component.ts new file: client/src/app/shared/shared-main/menu/list-overflow.component.html new file: client/src/app/shared/shared-main/menu/list-overflow.component.scss new file: client/src/app/shared/shared-main/menu/list-overflow.component.ts new file: client/src/app/shared/shared-main/peertube-modal/peertube-modal.service.ts new file: client/src/app/shared/shared-main/plugins/plugin-placeholder.component.scss new file: client/src/app/shared/shared-main/plugins/plugin-placeholder.component.ts new file: client/src/app/shared/shared-main/plugins/plugin-selector.directive.ts new file: client/src/app/shared/shared-main/router/actor-redirect-guard.service.ts new file: client/src/app/shared/shared-main/search/simple-search-input.component.html new file: client/src/app/shared/shared-main/search/simple-search-input.component.scss new file: client/src/app/shared/shared-main/search/simple-search-input.component.ts new file: client/src/app/shared/shared-main/users/login-link.component.html new file: client/src/app/shared/shared-main/users/login-link.component.scss new file: client/src/app/shared/shared-main/users/login-link.component.ts new file: client/src/app/shared/shared-main/users/signup-label.component.html new file: client/src/app/shared/shared-main/users/signup-label.component.ts new file: client/src/app/shared/shared-main/users/user-history.service.ts new file: client/src/app/shared/shared-main/users/user-notification.model.ts new file: client/src/app/shared/shared-main/users/user-notification.service.ts new file: client/src/app/shared/shared-main/users/user-quota.component.html new file: client/src/app/shared/shared-main/users/user-quota.component.ts new file: client/src/app/shared/shared-main/video-caption/video-caption-edit.model.ts new file: client/src/app/shared/shared-main/video-caption/video-caption.service.ts new file: client/src/app/shared/shared-main/video/embed.component.html new file: client/src/app/shared/shared-main/video/embed.component.scss new file: client/src/app/shared/shared-main/video/embed.component.ts new file: client/src/app/shared/shared-main/video/redundancy.service.ts new file: client/src/app/shared/shared-main/video/video-chapter.service.ts new file: client/src/app/shared/shared-main/video/video-chapters-edit.model.ts new file: client/src/app/shared/shared-main/video/video-details.model.ts new file: client/src/app/shared/shared-main/video/video-edit.model.ts new file: client/src/app/shared/shared-main/video/video-file-token.service.ts new file: client/src/app/shared/shared-main/video/video-import.service.ts new file: client/src/app/shared/shared-main/video/video-ownership.service.ts new file: client/src/app/shared/shared-main/video/video-password.service.ts new file: client/src/app/shared/shared-main/video/video.model.ts new file: client/src/app/shared/shared-main/video/video.resolver.ts new file: client/src/app/shared/shared-main/video/video.service.ts new file: client/src/app/shared/shared-moderation/abuse.service.ts new file: client/src/app/shared/shared-moderation/account-block-badges.component.html new file: client/src/app/shared/shared-moderation/account-block-badges.component.scss new file: client/src/app/shared/shared-moderation/account-block-badges.component.ts new file: client/src/app/shared/shared-moderation/account-block.model.ts new file: client/src/app/shared/shared-moderation/account-blocklist.component.html new file: client/src/app/shared/shared-moderation/account-blocklist.component.ts new file: client/src/app/shared/shared-moderation/batch-domains-modal.component.html new file: client/src/app/shared/shared-moderation/batch-domains-modal.component.scss new file: client/src/app/shared/shared-moderation/batch-domains-modal.component.ts new file: client/src/app/shared/shared-moderation/blocklist.service.ts new file: client/src/app/shared/shared-moderation/bulk.service.ts new file: client/src/app/shared/shared-moderation/moderation.scss new file: client/src/app/shared/shared-moderation/report-modals/account-report.component.ts new file: client/src/app/shared/shared-moderation/report-modals/comment-report.component.ts new file: client/src/app/shared/shared-moderation/report-modals/index.ts new file: client/src/app/shared/shared-moderation/report-modals/report.component.html new file: client/src/app/shared/shared-moderation/report-modals/report.component.scss new file: client/src/app/shared/shared-moderation/report-modals/video-report.component.html new file: client/src/app/shared/shared-moderation/report-modals/video-report.component.ts new file: client/src/app/shared/shared-moderation/server-blocklist.component.html new file: client/src/app/shared/shared-moderation/server-blocklist.component.scss new file: client/src/app/shared/shared-moderation/server-blocklist.component.ts new file: client/src/app/shared/shared-moderation/user-ban-modal.component.html new file: client/src/app/shared/shared-moderation/user-ban-modal.component.scss new file: client/src/app/shared/shared-moderation/user-ban-modal.component.ts new file: client/src/app/shared/shared-moderation/user-moderation-dropdown.component.html new file: client/src/app/shared/shared-moderation/user-moderation-dropdown.component.ts new file: client/src/app/shared/shared-moderation/video-block.component.html new file: client/src/app/shared/shared-moderation/video-block.component.scss new file: client/src/app/shared/shared-moderation/video-block.component.ts new file: client/src/app/shared/shared-moderation/video-block.service.ts new file: client/src/app/shared/shared-plugin-pages/index.ts new file: client/src/app/shared/shared-plugin-pages/plugin-pages.component.html new file: client/src/app/shared/shared-plugin-pages/plugin-pages.component.ts new file: client/src/app/shared/shared-plugin-pages/routes.ts new file: client/src/app/shared/shared-search/advanced-search.model.ts new file: client/src/app/shared/shared-search/find-in-bulk.service.ts new file: client/src/app/shared/shared-search/search.service.ts new file: client/src/app/shared/shared-share-modal/video-share.component.html new file: client/src/app/shared/shared-share-modal/video-share.component.scss new file: client/src/app/shared/shared-share-modal/video-share.component.ts new file: client/src/app/shared/shared-support-modal/support-modal.component.html new file: client/src/app/shared/shared-support-modal/support-modal.component.ts new file: client/src/app/shared/shared-tables/table-expander-icon.component.ts new file: client/src/app/shared/shared-tables/video-cell.component.html new file: client/src/app/shared/shared-tables/video-cell.component.scss new file: client/src/app/shared/shared-tables/video-cell.component.ts new file: client/src/app/shared/shared-thumbnail/video-thumbnail.component.html new file: client/src/app/shared/shared-thumbnail/video-thumbnail.component.scss new file: client/src/app/shared/shared-thumbnail/video-thumbnail.component.ts new file: client/src/app/shared/shared-user-settings/user-interface-settings.component.html new file: client/src/app/shared/shared-user-settings/user-interface-settings.component.scss new file: client/src/app/shared/shared-user-settings/user-interface-settings.component.ts new file: client/src/app/shared/shared-user-settings/user-video-settings.component.html new file: client/src/app/shared/shared-user-settings/user-video-settings.component.scss new file: client/src/app/shared/shared-user-settings/user-video-settings.component.ts new file: client/src/app/shared/shared-user-subscription/remote-subscribe.component.html new file: client/src/app/shared/shared-user-subscription/remote-subscribe.component.ts new file: client/src/app/shared/shared-user-subscription/subscribe-button.component.html new file: client/src/app/shared/shared-user-subscription/subscribe-button.component.scss new file: client/src/app/shared/shared-user-subscription/subscribe-button.component.ts new file: client/src/app/shared/shared-user-subscription/user-subscription.service.ts new file: client/src/app/shared/shared-users/two-factor.service.ts new file: client/src/app/shared/shared-users/user-admin.service.ts new file: client/src/app/shared/shared-video-comment/video-comment-list-admin-owner.component.html new file: client/src/app/shared/shared-video-comment/video-comment-list-admin-owner.component.scss new file: client/src/app/shared/shared-video-comment/video-comment-list-admin-owner.component.ts new file: client/src/app/shared/shared-video-comment/video-comment-thread-tree.model.ts new file: client/src/app/shared/shared-video-comment/video-comment.model.ts new file: client/src/app/shared/shared-video-comment/video-comment.service.ts new file: client/src/app/shared/shared-video-live/live-documentation-link.component.html new file: client/src/app/shared/shared-video-live/live-documentation-link.component.ts new file: client/src/app/shared/shared-video-live/live-stream-information.component.html new file: client/src/app/shared/shared-video-live/live-stream-information.component.scss new file: client/src/app/shared/shared-video-live/live-stream-information.component.ts new file: client/src/app/shared/shared-video-live/live-video.service.ts new file: client/src/app/shared/shared-video-miniature/download/subtitle-files-download.component.html new file: client/src/app/shared/shared-video-miniature/download/subtitle-files-download.component.ts new file: client/src/app/shared/shared-video-miniature/download/video-download.component.html new file: client/src/app/shared/shared-video-miniature/download/video-download.component.scss new file: client/src/app/shared/shared-video-miniature/download/video-download.component.ts new file: client/src/app/shared/shared-video-miniature/download/video-files-download.component.html new file: client/src/app/shared/shared-video-miniature/download/video-files-download.component.scss new file: client/src/app/shared/shared-video-miniature/download/video-files-download.component.ts new file: client/src/app/shared/shared-video-miniature/download/video-generate-download.component.html new file: client/src/app/shared/shared-video-miniature/download/video-generate-download.component.scss new file: client/src/app/shared/shared-video-miniature/download/video-generate-download.component.ts new file: client/src/app/shared/shared-video-miniature/video-actions-dropdown.component.html new file: client/src/app/shared/shared-video-miniature/video-actions-dropdown.component.scss new file: client/src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts new file: client/src/app/shared/shared-video-miniature/video-filters-header.component.html new file: client/src/app/shared/shared-video-miniature/video-filters-header.component.scss new file: client/src/app/shared/shared-video-miniature/video-filters-header.component.ts new file: client/src/app/shared/shared-video-miniature/video-filters.model.ts new file: client/src/app/shared/shared-video-miniature/video-miniature.component.html new file: client/src/app/shared/shared-video-miniature/video-miniature.component.scss new file: client/src/app/shared/shared-video-miniature/video-miniature.component.ts new file: client/src/app/shared/shared-video-miniature/videos-list.component.html new file: client/src/app/shared/shared-video-miniature/videos-list.component.scss new file: client/src/app/shared/shared-video-miniature/videos-list.component.ts new file: client/src/app/shared/shared-video-miniature/videos-selection.component.html new file: client/src/app/shared/shared-video-miniature/videos-selection.component.scss new file: client/src/app/shared/shared-video-miniature/videos-selection.component.ts new file: client/src/app/shared/shared-video-playlist/video-add-to-playlist.component.html new file: client/src/app/shared/shared-video-playlist/video-add-to-playlist.component.scss new file: client/src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts new file: client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html new file: client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.scss new file: client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts new file: client/src/app/shared/shared-video-playlist/video-playlist-element.model.ts new file: client/src/app/shared/shared-video-playlist/video-playlist-miniature.component.html new file: client/src/app/shared/shared-video-playlist/video-playlist-miniature.component.scss new file: client/src/app/shared/shared-video-playlist/video-playlist-miniature.component.ts new file: client/src/app/shared/shared-video-playlist/video-playlist.model.ts new file: client/src/app/shared/shared-video-playlist/video-playlist.service.ts new file: client/src/app/shared/shared-video/video-views-counter.component.html new file: client/src/app/shared/shared-video/video-views-counter.component.scss new file: client/src/app/shared/shared-video/video-views-counter.component.ts new file: client/src/app/shared/standalone-channels/video-channel-create.component.ts new file: client/src/app/shared/standalone-channels/video-channel-edit.component.html new file: client/src/app/shared/standalone-channels/video-channel-edit.component.scss new file: client/src/app/shared/standalone-channels/video-channel-edit.ts new file: client/src/app/shared/standalone-channels/video-channel-update.component.ts new file: client/src/app/shared/standalone-notifications/user-notifications.component.html new file: client/src/app/shared/standalone-notifications/user-notifications.component.scss new file: client/src/app/shared/standalone-notifications/user-notifications.component.ts new file: client/src/app/shared/standalone-upload/upload-progress.component.html new file: client/src/app/shared/standalone-upload/upload-progress.component.scss new file: client/src/app/shared/standalone-upload/upload-progress.component.ts new file: client/src/app/shared/standalone-watched-words/watched-words-list-admin-owner.component.html new file: client/src/app/shared/standalone-watched-words/watched-words-list-admin-owner.component.ts new file: client/src/app/shared/standalone-watched-words/watched-words-list-save-modal.component.html new file: client/src/app/shared/standalone-watched-words/watched-words-list-save-modal.component.scss new file: client/src/app/shared/standalone-watched-words/watched-words-list-save-modal.component.ts new file: client/src/app/shared/standalone-watched-words/watched-words-list.service.ts new file: client/src/app/videos-parent.component.html new file: client/src/app/videos-parent.component.ts new file: client/src/assets/images/default-avatar-account-48x48.png new file: client/src/assets/images/default-avatar-account.png new file: client/src/assets/images/default-avatar-video-channel-48x48.png new file: client/src/assets/images/default-avatar-video-channel.png new file: client/src/assets/images/default-playlist.jpg new file: client/src/assets/images/favicon.png new file: client/src/assets/images/feather/airplay.svg new file: client/src/assets/images/feather/alert.svg new file: client/src/assets/images/feather/award.svg new file: client/src/assets/images/feather/bell.svg new file: client/src/assets/images/feather/channel.svg new file: client/src/assets/images/feather/check-circle.svg new file: client/src/assets/images/feather/check.svg new file: client/src/assets/images/feather/chevron-left.svg new file: client/src/assets/images/feather/chevrons-up.svg new file: client/src/assets/images/feather/clock-arrow-down.svg new file: client/src/assets/images/feather/clock.svg new file: client/src/assets/images/feather/cloud-download.svg new file: client/src/assets/images/feather/cloud-off.svg new file: client/src/assets/images/feather/codesandbox.svg new file: client/src/assets/images/feather/cog.svg new file: client/src/assets/images/feather/columns.svg new file: client/src/assets/images/feather/config.svg new file: client/src/assets/images/feather/copy.svg new file: client/src/assets/images/feather/corner-up-left.svg new file: client/src/assets/images/feather/delete.svg new file: client/src/assets/images/feather/dislike.svg new file: client/src/assets/images/feather/download.svg new file: client/src/assets/images/feather/edit-2.svg new file: client/src/assets/images/feather/external-link.svg new file: client/src/assets/images/feather/eye-off.svg new file: client/src/assets/images/feather/eye.svg new file: client/src/assets/images/feather/film.svg new file: client/src/assets/images/feather/filter.svg new file: client/src/assets/images/feather/flag.svg new file: client/src/assets/images/feather/globe.svg new file: client/src/assets/images/feather/help.svg new file: client/src/assets/images/feather/history.svg new file: client/src/assets/images/feather/home.svg new file: client/src/assets/images/feather/keyboard.svg new file: client/src/assets/images/feather/like.svg new file: client/src/assets/images/feather/live.svg new file: client/src/assets/images/feather/log-in.svg new file: client/src/assets/images/feather/log-out.svg new file: client/src/assets/images/feather/maximize.svg new file: client/src/assets/images/feather/menu.svg new file: client/src/assets/images/feather/message-circle.svg new file: client/src/assets/images/feather/minimize.svg new file: client/src/assets/images/feather/moderation.svg new file: client/src/assets/images/feather/more-horizontal.svg new file: client/src/assets/images/feather/more-vertical.svg new file: client/src/assets/images/feather/move-right.svg new file: client/src/assets/images/feather/no.svg new file: client/src/assets/images/feather/opened-bell.svg new file: client/src/assets/images/feather/overview.svg new file: client/src/assets/images/feather/play.svg new file: client/src/assets/images/feather/playlists.svg new file: client/src/assets/images/feather/plus.svg new file: client/src/assets/images/feather/refresh-cw.svg new file: client/src/assets/images/feather/registry.svg new file: client/src/assets/images/feather/repeat.svg new file: client/src/assets/images/feather/search.svg new file: client/src/assets/images/feather/share-2.svg new file: client/src/assets/images/feather/share.svg new file: client/src/assets/images/feather/skip-back.svg new file: client/src/assets/images/feather/skip-forward.svg new file: client/src/assets/images/feather/stats.svg new file: client/src/assets/images/feather/subscriptions.svg new file: client/src/assets/images/feather/syndication.svg new file: client/src/assets/images/feather/trending.svg new file: client/src/assets/images/feather/undo.svg new file: client/src/assets/images/feather/upload.svg new file: client/src/assets/images/feather/user-plus.svg new file: client/src/assets/images/feather/user-x.svg new file: client/src/assets/images/feather/user.svg new file: client/src/assets/images/feather/users.svg new file: client/src/assets/images/feather/videos.svg new file: client/src/assets/images/feather/x.svg new file: client/src/assets/images/icons/icon-144x144.png new file: client/src/assets/images/icons/icon-192x192.png new file: client/src/assets/images/icons/icon-36x36.png new file: client/src/assets/images/icons/icon-48x48.png new file: client/src/assets/images/icons/icon-512x512.png new file: client/src/assets/images/icons/icon-72x72.png new file: client/src/assets/images/icons/icon-96x96.png new file: client/src/assets/images/logo.svg new file: client/src/assets/images/mascot/arguing.svg new file: client/src/assets/images/mascot/default.svg new file: client/src/assets/images/mascot/defeated.svg new file: client/src/assets/images/mascot/happy.svg new file: client/src/assets/images/mascot/oh.svg new file: client/src/assets/images/mascot/pointing.svg new file: client/src/assets/images/mascot/register/about.svg new file: client/src/assets/images/mascot/register/account.svg new file: client/src/assets/images/mascot/register/channel.svg new file: client/src/assets/images/mascot/register/success.svg new file: client/src/assets/images/mascot/register/terms.svg new file: client/src/assets/images/misc/account-arrow-left.svg new file: client/src/assets/images/misc/account-arrow-right.svg new file: client/src/assets/images/misc/flame.svg new file: client/src/assets/images/misc/language.svg new file: client/src/assets/images/misc/markdown.svg new file: client/src/assets/images/misc/miscellaneous-services.svg new file: client/src/assets/images/misc/peertube-x.svg new file: client/src/assets/images/misc/playlist-add.svg new file: client/src/assets/images/misc/shield.svg new file: client/src/assets/images/misc/support.svg new file: client/src/assets/images/misc/tip.svg new file: client/src/assets/images/misc/video-lang.svg new file: client/src/assets/player/images/arrow-down.svg new file: client/src/assets/player/images/arrow-up.svg new file: client/src/assets/player/images/big-play-button.svg new file: client/src/assets/player/images/code.svg new file: client/src/assets/player/images/fullscreen.svg new file: client/src/assets/player/images/info.svg new file: client/src/assets/player/images/link-2.svg new file: client/src/assets/player/images/next.svg new file: client/src/assets/player/images/repeat.svg new file: client/src/assets/player/images/settings.svg new file: client/src/assets/player/images/theater.svg new file: client/src/assets/player/images/tick-white.svg new file: client/src/assets/player/images/volume-mute.svg new file: client/src/assets/player/images/volume.svg new file: client/src/assets/player/index.ts new file: client/src/assets/player/peertube-player-local-storage.ts new file: client/src/assets/player/peertube-player.ts new file: client/src/assets/player/shared/bezels/bezels-plugin.ts new file: client/src/assets/player/shared/bezels/index.ts new file: client/src/assets/player/shared/bezels/pause-bezel.ts new file: client/src/assets/player/shared/common/index.ts new file: client/src/assets/player/shared/common/utils.ts new file: client/src/assets/player/shared/context-menu/context-menu-item.ts new file: client/src/assets/player/shared/context-menu/context-menu-plugin.ts new file: client/src/assets/player/shared/context-menu/context-menu.ts new file: client/src/assets/player/shared/context-menu/index.ts new file: client/src/assets/player/shared/context-menu/util.ts new file: client/src/assets/player/shared/control-bar/caption-toggle-button.ts new file: client/src/assets/player/shared/control-bar/chapters-plugin.ts new file: client/src/assets/player/shared/control-bar/index.ts new file: client/src/assets/player/shared/control-bar/next-previous-video-button.ts new file: client/src/assets/player/shared/control-bar/p2p-info-button.ts new file: client/src/assets/player/shared/control-bar/peertube-link-button.ts new file: client/src/assets/player/shared/control-bar/peertube-live-display.ts new file: client/src/assets/player/shared/control-bar/progress-bar-marker-component.ts new file: client/src/assets/player/shared/control-bar/storyboard-plugin.ts new file: client/src/assets/player/shared/control-bar/theater-button.ts new file: client/src/assets/player/shared/control-bar/time-tooltip.ts new file: client/src/assets/player/shared/dock/index.ts new file: client/src/assets/player/shared/dock/peertube-dock-component.ts new file: client/src/assets/player/shared/dock/peertube-dock-plugin.ts new file: client/src/assets/player/shared/hotkeys/index.ts new file: client/src/assets/player/shared/hotkeys/peertube-hotkeys-plugin.ts new file: client/src/assets/player/shared/metrics/index.ts new file: client/src/assets/player/shared/metrics/metrics-plugin.ts new file: client/src/assets/player/shared/mobile/index.ts new file: client/src/assets/player/shared/mobile/peertube-mobile-buttons.ts new file: client/src/assets/player/shared/mobile/peertube-mobile-plugin.ts new file: client/src/assets/player/shared/p2p-media-loader/hls-plugin.ts new file: client/src/assets/player/shared/p2p-media-loader/index.ts new file: client/src/assets/player/shared/p2p-media-loader/p2p-media-loader-plugin.ts new file: client/src/assets/player/shared/p2p-media-loader/redundancy-url-manager.ts new file: client/src/assets/player/shared/p2p-media-loader/segment-url-builder.ts new file: client/src/assets/player/shared/p2p-media-loader/segment-validator.ts new file: client/src/assets/player/shared/peertube/index.ts new file: client/src/assets/player/shared/peertube/peertube-plugin.ts new file: client/src/assets/player/shared/player-options-builder/control-bar-options-builder.ts new file: client/src/assets/player/shared/player-options-builder/hls-options-builder.ts new file: client/src/assets/player/shared/player-options-builder/index.ts new file: client/src/assets/player/shared/player-options-builder/web-video-options-builder.ts new file: client/src/assets/player/shared/playlist/index.ts new file: client/src/assets/player/shared/playlist/playlist-button.ts new file: client/src/assets/player/shared/playlist/playlist-menu-item.ts new file: client/src/assets/player/shared/playlist/playlist-menu.ts new file: client/src/assets/player/shared/playlist/playlist-plugin.ts new file: client/src/assets/player/shared/resolutions/index.ts new file: client/src/assets/player/shared/resolutions/peertube-resolutions-plugin.ts new file: client/src/assets/player/shared/settings/index.ts new file: client/src/assets/player/shared/settings/menu-focus-fixed.ts new file: client/src/assets/player/shared/settings/resolution-menu-button.ts new file: client/src/assets/player/shared/settings/resolution-menu-item.ts new file: client/src/assets/player/shared/settings/settings-dialog.ts new file: client/src/assets/player/shared/settings/settings-menu-button.ts new file: client/src/assets/player/shared/settings/settings-menu-item.ts new file: client/src/assets/player/shared/settings/settings-panel-child.ts new file: client/src/assets/player/shared/settings/settings-panel.ts new file: client/src/assets/player/shared/stats/index.ts new file: client/src/assets/player/shared/stats/stats-card.ts new file: client/src/assets/player/shared/stats/stats-plugin.ts new file: client/src/assets/player/shared/upnext/end-card.ts new file: client/src/assets/player/shared/upnext/index.ts new file: client/src/assets/player/shared/upnext/upnext-plugin.ts new file: client/src/assets/player/shared/web-video/web-video-plugin.ts new file: client/src/assets/player/translations-manager.ts new file: client/src/assets/player/types/index.ts new file: client/src/assets/player/types/peertube-player-options.ts new file: client/src/assets/player/types/peertube-videojs-typings.ts new file: client/src/environments/environment.e2e.ts new file: client/src/environments/environment.hmr.ts new file: client/src/environments/environment.prod.ts new file: client/src/environments/environment.ts new file: client/src/index.html new file: client/src/locale/angular.ar.xlf new file: client/src/locale/angular.bg.xlf new file: client/src/locale/angular.bn-BD.xlf new file: client/src/locale/angular.bn.xlf new file: client/src/locale/angular.ca-ES.xlf new file: client/src/locale/angular.cs-CZ.xlf new file: client/src/locale/angular.da-DK.xlf new file: client/src/locale/angular.de-DE.xlf new file: client/src/locale/angular.el-GR.xlf new file: client/src/locale/angular.en-GB.xlf new file: client/src/locale/angular.en-US.xlf new file: client/src/locale/angular.eo.xlf new file: client/src/locale/angular.es-ES.xlf new file: client/src/locale/angular.eu-ES.xlf new file: client/src/locale/angular.fa-IR.xlf new file: client/src/locale/angular.fi-FI.xlf new file: client/src/locale/angular.fr-FR.xlf new file: client/src/locale/angular.fr.xlf new file: client/src/locale/angular.gd.xlf new file: client/src/locale/angular.gl-ES.xlf new file: client/src/locale/angular.he.xlf new file: client/src/locale/angular.hr.xlf new file: client/src/locale/angular.hu-HU.xlf new file: client/src/locale/angular.ia.xlf new file: client/src/locale/angular.id.xlf new file: client/src/locale/angular.is.xlf new file: client/src/locale/angular.it-IT.xlf new file: client/src/locale/angular.ja-JP.xlf new file: client/src/locale/angular.jbo.xlf new file: client/src/locale/angular.kab.xlf new file: client/src/locale/angular.kk.xlf new file: client/src/locale/angular.kn.xlf new file: client/src/locale/angular.ko-KR.xlf new file: client/src/locale/angular.la.xlf new file: client/src/locale/angular.lt-LT.xlf new file: client/src/locale/angular.mk.xlf new file: client/src/locale/angular.ml.xlf new file: client/src/locale/angular.nb-NO.xlf new file: client/src/locale/angular.nl-NL.xlf new file: client/src/locale/angular.nn.xlf new file: client/src/locale/angular.oc.xlf new file: client/src/locale/angular.pl-PL.xlf new file: client/src/locale/angular.pt-BR.xlf new file: client/src/locale/angular.pt-PT.xlf new file: client/src/locale/angular.pt.xlf new file: client/src/locale/angular.ro.xlf new file: client/src/locale/angular.ru-RU.xlf new file: client/src/locale/angular.sc.xlf new file: client/src/locale/angular.sk-SK.xlf new file: client/src/locale/angular.sl-SI.xlf new file: client/src/locale/angular.sq.xlf new file: client/src/locale/angular.sr-Cyrl.xlf new file: client/src/locale/angular.sv-SE.xlf new file: client/src/locale/angular.ta.xlf new file: client/src/locale/angular.th-TH.xlf new file: client/src/locale/angular.tok.xlf new file: client/src/locale/angular.tp.xlf new file: client/src/locale/angular.tr-TR.xlf new file: client/src/locale/angular.tt.xlf new file: client/src/locale/angular.tzm.xlf new file: client/src/locale/angular.uk-UA.xlf new file: client/src/locale/angular.vi-VN.xlf new file: client/src/locale/angular.xlf new file: client/src/locale/angular.zh-Hans-CN.xlf new file: client/src/locale/angular.zh-Hant-HK.xlf new file: client/src/locale/angular.zh-Hant-TW.xlf new file: client/src/locale/player.ar.json new file: client/src/locale/player.bg.json new file: client/src/locale/player.bn.json new file: client/src/locale/player.bn_BD.json new file: client/src/locale/player.ca-ES.json new file: client/src/locale/player.cs-CZ.json new file: client/src/locale/player.da-DK.json new file: client/src/locale/player.de-DE.json new file: client/src/locale/player.el-GR.json new file: client/src/locale/player.en-GB.json new file: client/src/locale/player.en-US.json new file: client/src/locale/player.eo.json new file: client/src/locale/player.es-ES.json new file: client/src/locale/player.eu-ES.json new file: client/src/locale/player.fa-IR.json new file: client/src/locale/player.fi-FI.json new file: client/src/locale/player.fr-FR.json new file: client/src/locale/player.fr.json new file: client/src/locale/player.gd.json new file: client/src/locale/player.gl-ES.json new file: client/src/locale/player.he.json new file: client/src/locale/player.hr.json new file: client/src/locale/player.hu-HU.json new file: client/src/locale/player.id.json new file: client/src/locale/player.is.json new file: client/src/locale/player.it-IT.json new file: client/src/locale/player.ja-JP.json new file: client/src/locale/player.jbo.json new file: client/src/locale/player.kab.json new file: client/src/locale/player.kk.json new file: client/src/locale/player.ko.json new file: client/src/locale/player.la.json new file: client/src/locale/player.lt-LT.json new file: client/src/locale/player.ml.json new file: client/src/locale/player.nb-NO.json new file: client/src/locale/player.nl-NL.json new file: client/src/locale/player.nn.json new file: client/src/locale/player.oc.json new file: client/src/locale/player.pl-PL.json new file: client/src/locale/player.pt-BR.json new file: client/src/locale/player.pt-PT.json new file: client/src/locale/player.pt.json new file: client/src/locale/player.ro.json new file: client/src/locale/player.ru-RU.json new file: client/src/locale/player.si.json new file: client/src/locale/player.sk-SK.json new file: client/src/locale/player.sl-SI.json new file: client/src/locale/player.sq.json new file: client/src/locale/player.sr_Cyrl.json new file: client/src/locale/player.sv-SE.json new file: client/src/locale/player.ta.json new file: client/src/locale/player.th-TH.json new file: client/src/locale/player.tok.json new file: client/src/locale/player.tp.json new file: client/src/locale/player.tr-TR.json new file: client/src/locale/player.tzm.json new file: client/src/locale/player.uk-UA.json new file: client/src/locale/player.vi-VN.json new file: client/src/locale/player.zh-Hans-CN.json new file: client/src/locale/player.zh-Hant-TW.json new file: client/src/locale/player.zh_HANT-TW.json new file: client/src/locale/server.ar.json new file: client/src/locale/server.bg.json new file: client/src/locale/server.bn.json new file: client/src/locale/server.bn_BD.json new file: client/src/locale/server.ca-ES.json new file: client/src/locale/server.cs-CZ.json new file: client/src/locale/server.da-DK.json new file: client/src/locale/server.de-DE.json new file: client/src/locale/server.el-GR.json new file: client/src/locale/server.en-GB.json new file: client/src/locale/server.en-US.json new file: client/src/locale/server.eo.json new file: client/src/locale/server.es-ES.json new file: client/src/locale/server.eu-ES.json new file: client/src/locale/server.fa-IR.json new file: client/src/locale/server.fi-FI.json new file: client/src/locale/server.fr-FR.json new file: client/src/locale/server.fr.json new file: client/src/locale/server.gd.json new file: client/src/locale/server.gl-ES.json new file: client/src/locale/server.he.json new file: client/src/locale/server.hr.json new file: client/src/locale/server.hu-HU.json new file: client/src/locale/server.id.json new file: client/src/locale/server.is.json new file: client/src/locale/server.it-IT.json new file: client/src/locale/server.ja-JP.json new file: client/src/locale/server.jbo.json new file: client/src/locale/server.kab.json new file: client/src/locale/server.kk.json new file: client/src/locale/server.ko-KR.json new file: client/src/locale/server.la.json new file: client/src/locale/server.lt-LT.json new file: client/src/locale/server.nb-NO.json new file: client/src/locale/server.nl-NL.json new file: client/src/locale/server.nn.json new file: client/src/locale/server.oc.json new file: client/src/locale/server.pl-PL.json new file: client/src/locale/server.pt-BR.json new file: client/src/locale/server.pt-PT.json new file: client/src/locale/server.ro.json new file: client/src/locale/server.ru-RU.json new file: client/src/locale/server.si.json new file: client/src/locale/server.sk-SK.json new file: client/src/locale/server.sl-SI.json new file: client/src/locale/server.sq.json new file: client/src/locale/server.sr_Cyrl.json new file: client/src/locale/server.sv-SE.json new file: client/src/locale/server.th-TH.json new file: client/src/locale/server.tok.json new file: client/src/locale/server.tp.json new file: client/src/locale/server.tr-TR.json new file: client/src/locale/server.ug.json new file: client/src/locale/server.uk-UA.json new file: client/src/locale/server.vi-VN.json new file: client/src/locale/server.zh-Hans-CN.json new file: client/src/locale/server.zh-Hant-TW.json new file: client/src/locale/server.zh_HANT-TW.json new file: client/src/locale/videojs.en-US.json new file: client/src/main.ts new file: client/src/manifest.webmanifest new file: client/src/ngsw-config.json new file: client/src/polyfills.ts new file: client/src/root-helpers/bytes.ts new file: client/src/root-helpers/images.ts new file: client/src/root-helpers/index.ts new file: client/src/root-helpers/local-storage-utils.ts new file: client/src/root-helpers/logger.ts new file: client/src/root-helpers/peertube-web-storage.ts new file: client/src/root-helpers/plugins-manager.ts new file: client/src/root-helpers/string.ts new file: client/src/root-helpers/url.ts new file: client/src/root-helpers/users/index.ts new file: client/src/root-helpers/users/oauth-user-tokens.ts new file: client/src/root-helpers/users/user-local-storage-keys.ts new file: client/src/root-helpers/utils.ts new file: client/src/root-helpers/video.ts new file: client/src/root-helpers/web-browser.ts new file: client/src/sass/application.scss new file: client/src/sass/bootstrap.scss new file: client/src/sass/class-helpers/_buttons.scss new file: client/src/sass/class-helpers/_common.scss new file: client/src/sass/class-helpers/_custom-bootstrap-helpers.scss new file: client/src/sass/class-helpers/_forms.scss new file: client/src/sass/class-helpers/_images.scss new file: client/src/sass/class-helpers/_layout.scss new file: client/src/sass/class-helpers/_menu.scss new file: client/src/sass/class-helpers/_position.scss new file: client/src/sass/class-helpers/_text.scss new file: client/src/sass/class-helpers/index.scss new file: client/src/sass/custom-markup.scss new file: client/src/sass/fonts/source-sans/WOFF2/VAR/SourceSans3VF-Italic.otf.woff2 new file: client/src/sass/fonts/source-sans/WOFF2/VAR/SourceSans3VF-Italic.ttf.woff2 new file: client/src/sass/fonts/source-sans/WOFF2/VAR/SourceSans3VF-Roman.otf.woff2 new file: client/src/sass/fonts/source-sans/WOFF2/VAR/SourceSans3VF-Roman.ttf.woff2 new file: client/src/sass/include/_account-channel-page.scss new file: client/src/sass/include/_actor.scss new file: client/src/sass/include/_badges.scss new file: client/src/sass/include/_bootstrap-mixins.scss new file: client/src/sass/include/_bootstrap-variables.scss new file: client/src/sass/include/_button-mixins.scss new file: client/src/sass/include/_fonts.scss new file: client/src/sass/include/_form-mixins.scss new file: client/src/sass/include/_icons.scss new file: client/src/sass/include/_miniature.scss new file: client/src/sass/include/_mixins.scss new file: client/src/sass/include/_nav.scss new file: client/src/sass/include/_variables.scss new file: client/src/sass/player/_player-variables.scss new file: client/src/sass/player/bezels.scss new file: client/src/sass/player/context-menu.scss new file: client/src/sass/player/control-bar.scss new file: client/src/sass/player/dock.scss new file: client/src/sass/player/index.scss new file: client/src/sass/player/mobile.scss new file: client/src/sass/player/offline-notification.scss new file: client/src/sass/player/peertube-skin.scss new file: client/src/sass/player/playlist.scss new file: client/src/sass/player/settings-menu.scss new file: client/src/sass/player/spinner.scss new file: client/src/sass/player/stats.scss new file: client/src/sass/player/storyboard.scss new file: client/src/sass/player/upnext.scss new file: client/src/sass/primeng-custom.scss new file: client/src/sass/z-index.scss new file: client/src/shims/noop.ts new file: client/src/standalone/embed-player-api/.npmignore new file: client/src/standalone/embed-player-api/README.md new file: client/src/standalone/embed-player-api/definitions.ts new file: client/src/standalone/embed-player-api/events.ts new file: client/src/standalone/embed-player-api/package.json new file: client/src/standalone/embed-player-api/player.ts new file: client/src/standalone/embed-player-api/tsconfig.json new file: client/src/standalone/embed-player-api/vite.config.mjs new file: client/src/standalone/videos/.env.development new file: client/src/standalone/videos/embed-api.ts new file: client/src/standalone/videos/embed.html new file: client/src/standalone/videos/embed.scss new file: client/src/standalone/videos/embed.ts new file: client/src/standalone/videos/shared/auth-http.ts new file: client/src/standalone/videos/shared/index.ts new file: client/src/standalone/videos/shared/live-manager.ts new file: client/src/standalone/videos/shared/peertube-plugin.ts new file: client/src/standalone/videos/shared/player-html.ts new file: client/src/standalone/videos/shared/player-options-builder.ts new file: client/src/standalone/videos/shared/playlist-fetcher.ts new file: client/src/standalone/videos/shared/playlist-tracker.ts new file: client/src/standalone/videos/shared/translations.ts new file: client/src/standalone/videos/shared/url.ts new file: client/src/standalone/videos/shared/video-fetcher.ts new file: client/src/standalone/videos/test-embed.html new file: client/src/standalone/videos/test-embed.scss new file: client/src/standalone/videos/test-embed.ts new file: client/src/standalone/videos/tsconfig.json new file: client/src/standalone/videos/vite.config.mjs new file: client/src/types/client-script.model.ts new file: client/src/types/index.ts new file: client/src/types/job-state-client.type.ts new file: client/src/types/job-type-client.type.ts new file: client/src/types/link.type.ts new file: client/src/types/register-client-option.model.ts new file: client/src/types/select-options-item.model.ts new file: client/src/types/server-error.model.ts new file: client/src/typings.d.ts new file: client/tsconfig.eslint.json new file: client/tsconfig.json new file: client/tsconfig.types.json new file: client/yarn.lock new file: config/default.yaml new file: config/dev-1.yaml new file: config/dev.yaml new file: config/production.yaml.example new file: config/test-1.yaml new file: config/test-2.yaml new file: config/test-3.yaml new file: config/test-4.yaml new file: config/test-5.yaml new file: config/test-6.yaml new file: config/test.yaml new file: package.json new file: packages/core-utils/package.json new file: packages/core-utils/src/abuse/abuse-predefined-reasons.ts new file: packages/core-utils/src/abuse/index.ts new file: packages/core-utils/src/common/array.ts new file: packages/core-utils/src/common/date.ts new file: packages/core-utils/src/common/index.ts new file: packages/core-utils/src/common/number.ts new file: packages/core-utils/src/common/object.ts new file: packages/core-utils/src/common/promises.ts new file: packages/core-utils/src/common/random.ts new file: packages/core-utils/src/common/regexp.ts new file: packages/core-utils/src/common/time.ts new file: packages/core-utils/src/common/url.ts new file: packages/core-utils/src/common/version.ts new file: packages/core-utils/src/i18n/i18n.ts new file: packages/core-utils/src/i18n/index.ts new file: packages/core-utils/src/index.ts new file: packages/core-utils/src/plugins/hooks.ts new file: packages/core-utils/src/plugins/index.ts new file: packages/core-utils/src/renderer/html.ts new file: packages/core-utils/src/renderer/index.ts new file: packages/core-utils/src/renderer/markdown.ts new file: packages/core-utils/src/string/chapters.ts new file: packages/core-utils/src/string/index.ts new file: packages/core-utils/src/users/index.ts new file: packages/core-utils/src/users/user-role.ts new file: packages/core-utils/src/videos/bitrate.ts new file: packages/core-utils/src/videos/common.ts new file: packages/core-utils/src/videos/index.ts new file: packages/core-utils/tsconfig.json new file: packages/ffmpeg/package.json new file: packages/ffmpeg/src/ffmpeg-command-wrapper.ts new file: packages/ffmpeg/src/ffmpeg-container.ts new file: packages/ffmpeg/src/ffmpeg-default-transcoding-profile.ts new file: packages/ffmpeg/src/ffmpeg-edition.ts new file: packages/ffmpeg/src/ffmpeg-images.ts new file: packages/ffmpeg/src/ffmpeg-live.ts new file: packages/ffmpeg/src/ffmpeg-utils.ts new file: packages/ffmpeg/src/ffmpeg-version.ts new file: packages/ffmpeg/src/ffmpeg-vod.ts new file: packages/ffmpeg/src/ffprobe.ts new file: packages/ffmpeg/src/index.ts new file: packages/ffmpeg/src/shared/encoder-options.ts new file: packages/ffmpeg/src/shared/index.ts new file: packages/ffmpeg/src/shared/presets.ts new file: packages/ffmpeg/tsconfig.json new file: packages/models/package.json new file: packages/models/src/activitypub/activity.ts new file: packages/models/src/activitypub/activitypub-actor.ts new file: packages/models/src/activitypub/activitypub-collection.ts new file: packages/models/src/activitypub/activitypub-ordered-collection.ts new file: packages/models/src/activitypub/activitypub-root.ts new file: packages/models/src/activitypub/activitypub-signature.ts new file: packages/models/src/activitypub/context.ts new file: packages/models/src/activitypub/index.ts new file: packages/models/src/activitypub/objects/abuse-object.ts new file: packages/models/src/activitypub/objects/activitypub-object.ts new file: packages/models/src/activitypub/objects/cache-file-object.ts new file: packages/models/src/activitypub/objects/common-objects.ts new file: packages/models/src/activitypub/objects/index.ts new file: packages/models/src/activitypub/objects/playlist-element-object.ts new file: packages/models/src/activitypub/objects/playlist-object.ts new file: packages/models/src/activitypub/objects/video-caption-object.ts new file: packages/models/src/activitypub/objects/video-chapters-object.ts new file: packages/models/src/activitypub/objects/video-comment-object.ts new file: packages/models/src/activitypub/objects/video-object.ts new file: packages/models/src/activitypub/objects/watch-action-object.ts new file: packages/models/src/activitypub/webfinger.ts new file: packages/models/src/actors/account.model.ts new file: packages/models/src/actors/actor-image.model.ts new file: packages/models/src/actors/actor-image.type.ts new file: packages/models/src/actors/actor.model.ts new file: packages/models/src/actors/custom-page.model.ts new file: packages/models/src/actors/follow.model.ts new file: packages/models/src/actors/index.ts new file: packages/models/src/bulk/bulk-remove-comments-of-body.model.ts new file: packages/models/src/bulk/index.ts new file: packages/models/src/common/file-storage.enum.ts new file: packages/models/src/common/index.ts new file: packages/models/src/common/result-list.model.ts new file: packages/models/src/common/simple-logger.model.ts new file: packages/models/src/custom-markup/custom-markup-data.model.ts new file: packages/models/src/custom-markup/index.ts new file: packages/models/src/feeds/feed-format.enum.ts new file: packages/models/src/feeds/index.ts new file: packages/models/src/http/http-methods.ts new file: packages/models/src/http/http-status-codes.ts new file: packages/models/src/http/index.ts new file: packages/models/src/import-export/index.ts new file: packages/models/src/import-export/peertube-export-format/account-export.model.ts new file: packages/models/src/import-export/peertube-export-format/actor-export.model.ts new file: packages/models/src/import-export/peertube-export-format/auto-tag-policies-export.ts new file: packages/models/src/import-export/peertube-export-format/blocklist-export.model.ts new file: packages/models/src/import-export/peertube-export-format/channel-export.model.ts new file: packages/models/src/import-export/peertube-export-format/comments-export.model.ts new file: packages/models/src/import-export/peertube-export-format/dislikes-export.model.ts new file: packages/models/src/import-export/peertube-export-format/followers-export.model.ts new file: packages/models/src/import-export/peertube-export-format/following-export.model.ts new file: packages/models/src/import-export/peertube-export-format/index.ts new file: packages/models/src/import-export/peertube-export-format/likes-export.model.ts new file: packages/models/src/import-export/peertube-export-format/user-settings-export.model.ts new file: packages/models/src/import-export/peertube-export-format/user-video-history-export.ts new file: packages/models/src/import-export/peertube-export-format/video-export.model.ts new file: packages/models/src/import-export/peertube-export-format/video-playlists-export.model.ts new file: packages/models/src/import-export/peertube-export-format/watched-words-lists-export.ts new file: packages/models/src/import-export/user-export-request-result.model.ts new file: packages/models/src/import-export/user-export-request.model.ts new file: packages/models/src/import-export/user-export-state.enum.ts new file: packages/models/src/import-export/user-export.model.ts new file: packages/models/src/import-export/user-import-result.model.ts new file: packages/models/src/import-export/user-import-state.enum.ts new file: packages/models/src/import-export/user-import-upload-result.model.ts new file: packages/models/src/import-export/user-import.model.ts new file: packages/models/src/index.ts new file: packages/models/src/metrics/index.ts new file: packages/models/src/metrics/playback-metric-create.model.ts new file: packages/models/src/moderation/abuse/abuse-create.model.ts new file: packages/models/src/moderation/abuse/abuse-filter.type.ts new file: packages/models/src/moderation/abuse/abuse-message.model.ts new file: packages/models/src/moderation/abuse/abuse-reason.model.ts new file: packages/models/src/moderation/abuse/abuse-state.model.ts new file: packages/models/src/moderation/abuse/abuse-update.model.ts new file: packages/models/src/moderation/abuse/abuse-video-is.type.ts new file: packages/models/src/moderation/abuse/abuse.model.ts new file: packages/models/src/moderation/abuse/index.ts new file: packages/models/src/moderation/account-block.model.ts new file: packages/models/src/moderation/automatic-tag-available.model.ts new file: packages/models/src/moderation/automatic-tag-policy.enum.ts new file: packages/models/src/moderation/block-status.model.ts new file: packages/models/src/moderation/comment-automatic-tag-policies-update.model.ts new file: packages/models/src/moderation/comment-automatic-tag-policies.model.ts new file: packages/models/src/moderation/index.ts new file: packages/models/src/moderation/server-block.model.ts new file: packages/models/src/moderation/watched-words-list.model.ts new file: packages/models/src/nodeinfo/index.ts new file: packages/models/src/nodeinfo/nodeinfo.model.ts new file: packages/models/src/overviews/index.ts new file: packages/models/src/overviews/videos-overview.model.ts new file: packages/models/src/plugins/client/client-hook.model.ts new file: packages/models/src/plugins/client/index.ts new file: packages/models/src/plugins/client/plugin-client-scope.type.ts new file: packages/models/src/plugins/client/plugin-element-placeholder.type.ts new file: packages/models/src/plugins/client/plugin-selector-id.type.ts new file: packages/models/src/plugins/client/register-client-form-field.model.ts new file: packages/models/src/plugins/client/register-client-hook.model.ts new file: packages/models/src/plugins/client/register-client-route.model.ts new file: packages/models/src/plugins/client/register-client-settings-script.model.ts new file: packages/models/src/plugins/hook-type.enum.ts new file: packages/models/src/plugins/index.ts new file: packages/models/src/plugins/plugin-index/index.ts new file: packages/models/src/plugins/plugin-index/peertube-plugin-index-list.model.ts new file: packages/models/src/plugins/plugin-index/peertube-plugin-index.model.ts new file: packages/models/src/plugins/plugin-index/peertube-plugin-latest-version.model.ts new file: packages/models/src/plugins/plugin-package-json.model.ts new file: packages/models/src/plugins/plugin.type.ts new file: packages/models/src/plugins/server/api/index.ts new file: packages/models/src/plugins/server/api/install-plugin.model.ts new file: packages/models/src/plugins/server/api/manage-plugin.model.ts new file: packages/models/src/plugins/server/api/peertube-plugin.model.ts new file: packages/models/src/plugins/server/index.ts new file: packages/models/src/plugins/server/managers/index.ts new file: packages/models/src/plugins/server/managers/plugin-playlist-privacy-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-settings-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-storage-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-transcoding-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-video-category-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-video-language-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-video-licence-manager.model.ts new file: packages/models/src/plugins/server/managers/plugin-video-privacy-manager.model.ts new file: packages/models/src/plugins/server/plugin-constant-manager.model.ts new file: packages/models/src/plugins/server/plugin-translation.model.ts new file: packages/models/src/plugins/server/register-server-hook.model.ts new file: packages/models/src/plugins/server/server-hook.model.ts new file: packages/models/src/plugins/server/settings/index.ts new file: packages/models/src/plugins/server/settings/public-server.setting.ts new file: packages/models/src/plugins/server/settings/register-server-setting.model.ts new file: packages/models/src/redundancy/index.ts new file: packages/models/src/redundancy/video-redundancies-filters.model.ts new file: packages/models/src/redundancy/video-redundancy-config-filter.type.ts new file: packages/models/src/redundancy/video-redundancy.model.ts new file: packages/models/src/redundancy/videos-redundancy-strategy.model.ts new file: packages/models/src/runners/abort-runner-job-body.model.ts new file: packages/models/src/runners/accept-runner-job-body.model.ts new file: packages/models/src/runners/accept-runner-job-result.model.ts new file: packages/models/src/runners/error-runner-job-body.model.ts new file: packages/models/src/runners/index.ts new file: packages/models/src/runners/list-runner-jobs-query.model.ts new file: packages/models/src/runners/list-runner-registration-tokens.model.ts new file: packages/models/src/runners/list-runners-query.model.ts new file: packages/models/src/runners/register-runner-body.model.ts new file: packages/models/src/runners/register-runner-result.model.ts new file: packages/models/src/runners/request-runner-job-body.model.ts new file: packages/models/src/runners/request-runner-job-result.model.ts new file: packages/models/src/runners/runner-job-payload.model.ts new file: packages/models/src/runners/runner-job-private-payload.model.ts new file: packages/models/src/runners/runner-job-state.model.ts new file: packages/models/src/runners/runner-job-success-body.model.ts new file: packages/models/src/runners/runner-job-type.type.ts new file: packages/models/src/runners/runner-job-update-body.model.ts new file: packages/models/src/runners/runner-job.model.ts new file: packages/models/src/runners/runner-registration-token.ts new file: packages/models/src/runners/runner.model.ts new file: packages/models/src/runners/unregister-runner-body.model.ts new file: packages/models/src/search/boolean-both-query.model.ts new file: packages/models/src/search/index.ts new file: packages/models/src/search/search-target-query.model.ts new file: packages/models/src/search/video-channels-search-query.model.ts new file: packages/models/src/search/video-playlists-search-query.model.ts new file: packages/models/src/search/videos-common-query.model.ts new file: packages/models/src/search/videos-search-query.model.ts new file: packages/models/src/server/about.model.ts new file: packages/models/src/server/broadcast-message-level.type.ts new file: packages/models/src/server/client-log-create.model.ts new file: packages/models/src/server/client-log-level.type.ts new file: packages/models/src/server/contact-form.model.ts new file: packages/models/src/server/custom-config.model.ts new file: packages/models/src/server/debug.model.ts new file: packages/models/src/server/emailer.model.ts new file: packages/models/src/server/index.ts new file: packages/models/src/server/job.model.ts new file: packages/models/src/server/peertube-problem-document.model.ts new file: packages/models/src/server/server-config.model.ts new file: packages/models/src/server/server-debug.model.ts new file: packages/models/src/server/server-error-code.enum.ts new file: packages/models/src/server/server-follow-create.model.ts new file: packages/models/src/server/server-log-level.type.ts new file: packages/models/src/server/server-stats.model.ts new file: packages/models/src/tokens/index.ts new file: packages/models/src/tokens/oauth-client-local.model.ts new file: packages/models/src/users/index.ts new file: packages/models/src/users/registration/index.ts new file: packages/models/src/users/registration/user-register.model.ts new file: packages/models/src/users/registration/user-registration-request.model.ts new file: packages/models/src/users/registration/user-registration-state.model.ts new file: packages/models/src/users/registration/user-registration-update-state.model.ts new file: packages/models/src/users/registration/user-registration.model.ts new file: packages/models/src/users/two-factor-enable-result.model.ts new file: packages/models/src/users/user-create-result.model.ts new file: packages/models/src/users/user-create.model.ts new file: packages/models/src/users/user-flag.model.ts new file: packages/models/src/users/user-login.model.ts new file: packages/models/src/users/user-notification-setting.model.ts new file: packages/models/src/users/user-notification.model.ts new file: packages/models/src/users/user-refresh-token.model.ts new file: packages/models/src/users/user-right.enum.ts new file: packages/models/src/users/user-role.ts new file: packages/models/src/users/user-scoped-token.ts new file: packages/models/src/users/user-update-me.model.ts new file: packages/models/src/users/user-update.model.ts new file: packages/models/src/users/user-video-quota.model.ts new file: packages/models/src/users/user.model.ts new file: packages/models/src/videos/blacklist/index.ts new file: packages/models/src/videos/blacklist/video-blacklist-create.model.ts new file: packages/models/src/videos/blacklist/video-blacklist-update.model.ts new file: packages/models/src/videos/blacklist/video-blacklist.model.ts new file: packages/models/src/videos/caption/index.ts new file: packages/models/src/videos/caption/video-caption-generate.model.ts new file: packages/models/src/videos/caption/video-caption-update.model.ts new file: packages/models/src/videos/caption/video-caption.model.ts new file: packages/models/src/videos/change-ownership/index.ts new file: packages/models/src/videos/change-ownership/video-change-ownership-accept.model.ts new file: packages/models/src/videos/change-ownership/video-change-ownership-create.model.ts new file: packages/models/src/videos/change-ownership/video-change-ownership.model.ts new file: packages/models/src/videos/channel-sync/index.ts new file: packages/models/src/videos/channel-sync/video-channel-sync-create.model.ts new file: packages/models/src/videos/channel-sync/video-channel-sync-state.enum.ts new file: packages/models/src/videos/channel-sync/video-channel-sync.model.ts new file: packages/models/src/videos/channel/index.ts new file: packages/models/src/videos/channel/video-channel-create-result.model.ts new file: packages/models/src/videos/channel/video-channel-create.model.ts new file: packages/models/src/videos/channel/video-channel-update.model.ts new file: packages/models/src/videos/channel/video-channel.model.ts new file: packages/models/src/videos/chapter/chapter-update.model.ts new file: packages/models/src/videos/chapter/chapter.model.ts new file: packages/models/src/videos/chapter/index.ts new file: packages/models/src/videos/comment/index.ts new file: packages/models/src/videos/comment/video-comment-create.model.ts new file: packages/models/src/videos/comment/video-comment-policy.enum.ts new file: packages/models/src/videos/comment/video-comment.model.ts new file: packages/models/src/videos/file/index.ts new file: packages/models/src/videos/file/video-file-format-flag.enum.ts new file: packages/models/src/videos/file/video-file-metadata.model.ts new file: packages/models/src/videos/file/video-file-stream.enum.ts new file: packages/models/src/videos/file/video-file.model.ts new file: packages/models/src/videos/file/video-resolution.enum.ts new file: packages/models/src/videos/import/index.ts new file: packages/models/src/videos/import/video-import-create.model.ts new file: packages/models/src/videos/import/video-import-state.enum.ts new file: packages/models/src/videos/import/video-import.model.ts new file: packages/models/src/videos/import/videos-import-in-channel-create.model.ts new file: packages/models/src/videos/index.ts new file: packages/models/src/videos/nsfw-policy.type.ts new file: packages/models/src/videos/playlist/index.ts new file: packages/models/src/videos/playlist/video-exist-in-playlist.model.ts new file: packages/models/src/videos/playlist/video-playlist-create-result.model.ts new file: packages/models/src/videos/playlist/video-playlist-create.model.ts new file: packages/models/src/videos/playlist/video-playlist-element-create-result.model.ts new file: packages/models/src/videos/playlist/video-playlist-element-create.model.ts new file: packages/models/src/videos/playlist/video-playlist-element-update.model.ts new file: packages/models/src/videos/playlist/video-playlist-element.model.ts new file: packages/models/src/videos/playlist/video-playlist-privacy.model.ts new file: packages/models/src/videos/playlist/video-playlist-reorder.model.ts new file: packages/models/src/videos/playlist/video-playlist-type.model.ts new file: packages/models/src/videos/playlist/video-playlist-update.model.ts new file: packages/models/src/videos/playlist/video-playlist.model.ts new file: packages/models/src/videos/rate/account-video-rate.model.ts new file: packages/models/src/videos/rate/index.ts new file: packages/models/src/videos/rate/user-video-rate-update.model.ts new file: packages/models/src/videos/rate/user-video-rate.model.ts new file: packages/models/src/videos/rate/user-video-rate.type.ts new file: packages/models/src/videos/stats/index.ts new file: packages/models/src/videos/stats/video-stats-overall-query.model.ts new file: packages/models/src/videos/stats/video-stats-overall.model.ts new file: packages/models/src/videos/stats/video-stats-retention.model.ts new file: packages/models/src/videos/stats/video-stats-timeserie-metric.type.ts new file: packages/models/src/videos/stats/video-stats-timeserie-query.model.ts new file: packages/models/src/videos/stats/video-stats-timeserie.model.ts new file: packages/models/src/videos/storyboard.model.ts new file: packages/models/src/videos/studio/index.ts new file: packages/models/src/videos/studio/video-studio-create-edit.model.ts new file: packages/models/src/videos/thumbnail.type.ts new file: packages/models/src/videos/transcoding/index.ts new file: packages/models/src/videos/transcoding/video-transcoding-create.model.ts new file: packages/models/src/videos/transcoding/video-transcoding.model.ts new file: packages/models/src/videos/video-constant.model.ts new file: packages/models/src/videos/video-create-result.model.ts new file: packages/models/src/videos/video-create.model.ts new file: packages/models/src/videos/video-include.enum.ts new file: packages/models/src/videos/video-password.model.ts new file: packages/models/src/videos/video-privacy.enum.ts new file: packages/models/src/videos/video-rate.type.ts new file: packages/models/src/videos/video-schedule-update.model.ts new file: packages/models/src/videos/video-sort-field.type.ts new file: packages/models/src/videos/video-source.model.ts new file: packages/models/src/videos/video-state.enum.ts new file: packages/models/src/videos/video-streaming-playlist.model.ts new file: packages/models/src/videos/video-streaming-playlist.type.ts new file: packages/models/src/videos/video-token.model.ts new file: packages/models/src/videos/video-update.model.ts new file: packages/models/src/videos/video-view.model.ts new file: packages/models/src/videos/video.model.ts new file: packages/models/tsconfig.json new file: packages/models/tsconfig.types.json new file: packages/node-utils/package.json new file: packages/node-utils/src/crypto.ts new file: packages/node-utils/src/env.ts new file: packages/node-utils/src/file.ts new file: packages/node-utils/src/index.ts new file: packages/node-utils/src/path.ts new file: packages/node-utils/src/uuid.ts new file: packages/node-utils/tsconfig.json new file: packages/server-commands/package.json new file: packages/server-commands/src/bulk/bulk-command.ts new file: packages/server-commands/src/bulk/index.ts new file: packages/server-commands/src/cli/cli-command.ts new file: packages/server-commands/src/cli/index.ts new file: packages/server-commands/src/custom-pages/custom-pages-command.ts new file: packages/server-commands/src/custom-pages/index.ts new file: packages/server-commands/src/feeds/feeds-command.ts new file: packages/server-commands/src/feeds/index.ts new file: packages/server-commands/src/index.ts new file: packages/server-commands/src/logs/index.ts new file: packages/server-commands/src/logs/logs-command.ts new file: packages/server-commands/src/moderation/abuses-command.ts new file: packages/server-commands/src/moderation/automatic-tags-command.ts new file: packages/server-commands/src/moderation/index.ts new file: packages/server-commands/src/moderation/watched-words-command.ts new file: packages/server-commands/src/overviews/index.ts new file: packages/server-commands/src/overviews/overviews-command.ts new file: packages/server-commands/src/requests/index.ts new file: packages/server-commands/src/requests/requests.ts new file: packages/server-commands/src/runners/index.ts new file: packages/server-commands/src/runners/runner-jobs-command.ts new file: packages/server-commands/src/runners/runner-registration-tokens-command.ts new file: packages/server-commands/src/runners/runners-command.ts new file: packages/server-commands/src/search/index.ts new file: packages/server-commands/src/search/search-command.ts new file: packages/server-commands/src/server/config-command.ts new file: packages/server-commands/src/server/contact-form-command.ts new file: packages/server-commands/src/server/debug-command.ts new file: packages/server-commands/src/server/follows-command.ts new file: packages/server-commands/src/server/follows.ts new file: packages/server-commands/src/server/index.ts new file: packages/server-commands/src/server/jobs-command.ts new file: packages/server-commands/src/server/jobs.ts new file: packages/server-commands/src/server/metrics-command.ts new file: packages/server-commands/src/server/object-storage-command.ts new file: packages/server-commands/src/server/plugins-command.ts new file: packages/server-commands/src/server/redundancy-command.ts new file: packages/server-commands/src/server/server.ts new file: packages/server-commands/src/server/servers-command.ts new file: packages/server-commands/src/server/servers.ts new file: packages/server-commands/src/server/stats-command.ts new file: packages/server-commands/src/shared/abstract-command.ts new file: packages/server-commands/src/shared/index.ts new file: packages/server-commands/src/socket/index.ts new file: packages/server-commands/src/socket/socket-io-command.ts new file: packages/server-commands/src/users/accounts-command.ts new file: packages/server-commands/src/users/accounts.ts new file: packages/server-commands/src/users/blocklist-command.ts new file: packages/server-commands/src/users/index.ts new file: packages/server-commands/src/users/login-command.ts new file: packages/server-commands/src/users/login.ts new file: packages/server-commands/src/users/notifications-command.ts new file: packages/server-commands/src/users/registrations-command.ts new file: packages/server-commands/src/users/subscriptions-command.ts new file: packages/server-commands/src/users/two-factor-command.ts new file: packages/server-commands/src/users/user-exports-command.ts new file: packages/server-commands/src/users/user-imports-command.ts new file: packages/server-commands/src/users/users-command.ts new file: packages/server-commands/src/videos/blacklist-command.ts new file: packages/server-commands/src/videos/captions-command.ts new file: packages/server-commands/src/videos/change-ownership-command.ts new file: packages/server-commands/src/videos/channel-syncs-command.ts new file: packages/server-commands/src/videos/channels-command.ts new file: packages/server-commands/src/videos/channels.ts new file: packages/server-commands/src/videos/chapters-command.ts new file: packages/server-commands/src/videos/comments-command.ts new file: packages/server-commands/src/videos/history-command.ts new file: packages/server-commands/src/videos/index.ts new file: packages/server-commands/src/videos/live-command.ts new file: packages/server-commands/src/videos/live.ts new file: packages/server-commands/src/videos/playlists-command.ts new file: packages/server-commands/src/videos/services-command.ts new file: packages/server-commands/src/videos/storyboard-command.ts new file: packages/server-commands/src/videos/streaming-playlists-command.ts new file: packages/server-commands/src/videos/video-imports-command.ts new file: packages/server-commands/src/videos/video-passwords-command.ts new file: packages/server-commands/src/videos/video-stats-command.ts new file: packages/server-commands/src/videos/video-studio-command.ts new file: packages/server-commands/src/videos/video-token-command.ts new file: packages/server-commands/src/videos/videos-command.ts new file: packages/server-commands/src/videos/views-command.ts new file: packages/server-commands/tsconfig.json new file: packages/tests/fixtures/60fps_720p_small.mp4 new file: packages/tests/fixtures/ap-json/mastodon/bad-body-http-signature.json new file: packages/tests/fixtures/ap-json/mastodon/bad-http-signature.json new file: packages/tests/fixtures/ap-json/mastodon/bad-public-key.json new file: packages/tests/fixtures/ap-json/mastodon/create-bad-signature.json new file: packages/tests/fixtures/ap-json/mastodon/create.json new file: packages/tests/fixtures/ap-json/mastodon/http-signature.json new file: packages/tests/fixtures/ap-json/mastodon/public-key.json new file: packages/tests/fixtures/ap-json/peertube/announce-without-context.json new file: packages/tests/fixtures/ap-json/peertube/invalid-keys.json new file: packages/tests/fixtures/ap-json/peertube/keys.json new file: packages/tests/fixtures/avatar-big.png new file: packages/tests/fixtures/avatar-resized-120x120.gif new file: packages/tests/fixtures/avatar-resized-120x120.png new file: packages/tests/fixtures/avatar-resized-120x120.webp new file: packages/tests/fixtures/avatar-resized-1500x1500.png new file: packages/tests/fixtures/avatar-resized-1500x1500.webp new file: packages/tests/fixtures/avatar-resized-48x48.gif new file: packages/tests/fixtures/avatar-resized-48x48.png new file: packages/tests/fixtures/avatar-resized-48x48.webp new file: packages/tests/fixtures/avatar-resized-600x600.png new file: packages/tests/fixtures/avatar-resized-600x600.webp new file: packages/tests/fixtures/avatar.gif new file: packages/tests/fixtures/avatar.png new file: packages/tests/fixtures/avatar.webp new file: packages/tests/fixtures/avatar2-resized-120x120.png new file: packages/tests/fixtures/avatar2-resized-1500x1500.png new file: packages/tests/fixtures/avatar2-resized-48x48.png new file: packages/tests/fixtures/avatar2-resized-600x600.png new file: packages/tests/fixtures/avatar2.png new file: packages/tests/fixtures/banner-resized-1920.jpg new file: packages/tests/fixtures/banner-resized-600.jpg new file: packages/tests/fixtures/banner-user-import-resized-1920.jpg new file: packages/tests/fixtures/banner-user-import-resized-600.jpg new file: packages/tests/fixtures/banner.jpg new file: packages/tests/fixtures/custom-preview-big.png new file: packages/tests/fixtures/custom-preview.jpg new file: packages/tests/fixtures/custom-thumbnail-2.jpg new file: packages/tests/fixtures/custom-thumbnail-big.jpg new file: packages/tests/fixtures/custom-thumbnail-from-preview.jpg new file: packages/tests/fixtures/custom-thumbnail.jpg new file: packages/tests/fixtures/custom-thumbnail.png new file: packages/tests/fixtures/default-live-preview.jpg new file: packages/tests/fixtures/default-live-thumbnail.jpg new file: packages/tests/fixtures/exif.jpg new file: packages/tests/fixtures/exif.png new file: packages/tests/fixtures/export-bad-structure.zip new file: packages/tests/fixtures/export-bad-video-file.zip new file: packages/tests/fixtures/export-bad-video.zip new file: packages/tests/fixtures/export-with-files.zip new file: packages/tests/fixtures/export-without-files.zip new file: packages/tests/fixtures/export-without-videos.zip new file: packages/tests/fixtures/live/0-000067.ts new file: packages/tests/fixtures/live/0-000068.ts new file: packages/tests/fixtures/live/0-000069.ts new file: packages/tests/fixtures/live/0-000070.ts new file: packages/tests/fixtures/live/0.m3u8 new file: packages/tests/fixtures/live/1-000067.ts new file: packages/tests/fixtures/live/1-000068.ts new file: packages/tests/fixtures/live/1-000069.ts new file: packages/tests/fixtures/live/1-000070.ts new file: packages/tests/fixtures/live/1.m3u8 new file: packages/tests/fixtures/live/master.m3u8 new file: packages/tests/fixtures/low-bitrate.mp4 new file: packages/tests/fixtures/peertube-plugin-test-broken/main.js new file: packages/tests/fixtures/peertube-plugin-test-broken/package.json new file: packages/tests/fixtures/peertube-plugin-test-external-auth-one/main.js new file: packages/tests/fixtures/peertube-plugin-test-external-auth-one/package.json new file: packages/tests/fixtures/peertube-plugin-test-external-auth-three/main.js new file: packages/tests/fixtures/peertube-plugin-test-external-auth-three/package.json new file: packages/tests/fixtures/peertube-plugin-test-external-auth-two/main.js new file: packages/tests/fixtures/peertube-plugin-test-external-auth-two/package.json new file: packages/tests/fixtures/peertube-plugin-test-filter-translations/languages/fr.json new file: packages/tests/fixtures/peertube-plugin-test-filter-translations/languages/it.json new file: packages/tests/fixtures/peertube-plugin-test-filter-translations/main.js new file: packages/tests/fixtures/peertube-plugin-test-filter-translations/package.json new file: packages/tests/fixtures/peertube-plugin-test-five/main.js new file: packages/tests/fixtures/peertube-plugin-test-five/package.json new file: packages/tests/fixtures/peertube-plugin-test-four/main.js new file: packages/tests/fixtures/peertube-plugin-test-four/package.json new file: packages/tests/fixtures/peertube-plugin-test-id-pass-auth-one/main.js new file: packages/tests/fixtures/peertube-plugin-test-id-pass-auth-one/package.json new file: packages/tests/fixtures/peertube-plugin-test-id-pass-auth-three/main.js new file: packages/tests/fixtures/peertube-plugin-test-id-pass-auth-three/package.json new file: packages/tests/fixtures/peertube-plugin-test-id-pass-auth-two/main.js new file: packages/tests/fixtures/peertube-plugin-test-id-pass-auth-two/package.json new file: packages/tests/fixtures/peertube-plugin-test-native/main.js new file: packages/tests/fixtures/peertube-plugin-test-native/package.json new file: packages/tests/fixtures/peertube-plugin-test-podcast-custom-tags/main.js new file: packages/tests/fixtures/peertube-plugin-test-podcast-custom-tags/package.json new file: packages/tests/fixtures/peertube-plugin-test-six/main.js new file: packages/tests/fixtures/peertube-plugin-test-six/package.json new file: packages/tests/fixtures/peertube-plugin-test-transcoding-one/main.js new file: packages/tests/fixtures/peertube-plugin-test-transcoding-one/package.json new file: packages/tests/fixtures/peertube-plugin-test-transcoding-two/main.js new file: packages/tests/fixtures/peertube-plugin-test-transcoding-two/package.json new file: packages/tests/fixtures/peertube-plugin-test-unloading/lib.js new file: packages/tests/fixtures/peertube-plugin-test-unloading/main.js new file: packages/tests/fixtures/peertube-plugin-test-unloading/package.json new file: packages/tests/fixtures/peertube-plugin-test-video-constants/main.js new file: packages/tests/fixtures/peertube-plugin-test-video-constants/package.json new file: packages/tests/fixtures/peertube-plugin-test-websocket/main.js new file: packages/tests/fixtures/peertube-plugin-test-websocket/package.json new file: packages/tests/fixtures/peertube-plugin-test/languages/fr.json new file: packages/tests/fixtures/peertube-plugin-test/main.js new file: packages/tests/fixtures/peertube-plugin-test/package.json new file: packages/tests/fixtures/rtmps.cert new file: packages/tests/fixtures/rtmps.key new file: packages/tests/fixtures/sample.ogg new file: packages/tests/fixtures/subtitle-bad.txt new file: packages/tests/fixtures/subtitle-good.srt new file: packages/tests/fixtures/subtitle-good1.vtt new file: packages/tests/fixtures/subtitle-good2.vtt new file: packages/tests/fixtures/thumbnail-playlist.jpg new file: packages/tests/fixtures/transcription/hello_world.zip new file: packages/tests/fixtures/transcription/videos/README.md new file: packages/tests/fixtures/transcription/videos/communiquer-lors-dune-classe-transplantee.mp4 new file: packages/tests/fixtures/transcription/videos/communiquer-lors-dune-classe-transplantee.txt new file: packages/tests/fixtures/transcription/videos/derive_sectaire.mp4 new file: packages/tests/fixtures/transcription/videos/derive_sectaire.srt new file: packages/tests/fixtures/transcription/videos/derive_sectaire.txt new file: packages/tests/fixtures/transcription/videos/the_last_man_on_earth.mp4 new file: packages/tests/fixtures/transcription/videos/the_last_man_on_earth.srt new file: packages/tests/fixtures/transcription/videos/the_last_man_on_earth.txt new file: packages/tests/fixtures/transcription/videos/the_last_man_on_earth.vtt new file: packages/tests/fixtures/video-720p.torrent new file: packages/tests/fixtures/video_chapters.mp4 new file: packages/tests/fixtures/video_import_preview.jpg new file: packages/tests/fixtures/video_import_preview_yt_dlp.jpg new file: packages/tests/fixtures/video_import_thumbnail.jpg new file: packages/tests/fixtures/video_import_thumbnail_yt_dlp.jpg new file: packages/tests/fixtures/video_short.avi new file: packages/tests/fixtures/video_short.mkv new file: packages/tests/fixtures/video_short.mp4 new file: packages/tests/fixtures/video_short.mp4.jpg new file: packages/tests/fixtures/video_short.ogv new file: packages/tests/fixtures/video_short.ogv.jpg new file: packages/tests/fixtures/video_short.webm new file: packages/tests/fixtures/video_short.webm.jpg new file: packages/tests/fixtures/video_short1-preview.webm.jpg new file: packages/tests/fixtures/video_short1.webm new file: packages/tests/fixtures/video_short1.webm.jpg new file: packages/tests/fixtures/video_short2.webm new file: packages/tests/fixtures/video_short2.webm.jpg new file: packages/tests/fixtures/video_short3.webm new file: packages/tests/fixtures/video_short3.webm.jpg new file: packages/tests/fixtures/video_short_0p.mp4 new file: packages/tests/fixtures/video_short_144p.m3u8 new file: packages/tests/fixtures/video_short_144p.mp4 new file: packages/tests/fixtures/video_short_240p.m3u8 new file: packages/tests/fixtures/video_short_240p.mp4 new file: packages/tests/fixtures/video_short_360p.m3u8 new file: packages/tests/fixtures/video_short_360p.mp4 new file: packages/tests/fixtures/video_short_480.webm new file: packages/tests/fixtures/video_short_480p.m3u8 new file: packages/tests/fixtures/video_short_480p.mp4 new file: packages/tests/fixtures/video_short_4k.mp4 new file: packages/tests/fixtures/video_short_720p.m3u8 new file: packages/tests/fixtures/video_short_720p.mp4 new file: packages/tests/fixtures/video_short_fake.webm new file: packages/tests/fixtures/video_short_mp3_256k.mp4 new file: packages/tests/fixtures/video_short_no_audio.mp4 new file: packages/tests/fixtures/video_very_long_10p.mp4 new file: packages/tests/fixtures/video_very_short_240p.mp4 new file: packages/tests/package.json new file: packages/tests/requirements.txt new file: packages/tests/src/api/activitypub/cleaner.ts new file: packages/tests/src/api/activitypub/client.ts new file: packages/tests/src/api/activitypub/fetch.ts new file: packages/tests/src/api/activitypub/index.ts new file: packages/tests/src/api/activitypub/refresher.ts new file: packages/tests/src/api/activitypub/security.ts new file: packages/tests/src/api/check-params/abuses.ts new file: packages/tests/src/api/check-params/accounts.ts new file: packages/tests/src/api/check-params/auto-tags.ts new file: packages/tests/src/api/check-params/blocklist.ts new file: packages/tests/src/api/check-params/bulk.ts new file: packages/tests/src/api/check-params/channel-import-videos.ts new file: packages/tests/src/api/check-params/config.ts new file: packages/tests/src/api/check-params/contact-form.ts new file: packages/tests/src/api/check-params/custom-pages.ts new file: packages/tests/src/api/check-params/debug.ts new file: packages/tests/src/api/check-params/follows.ts new file: packages/tests/src/api/check-params/generate-download.ts new file: packages/tests/src/api/check-params/index.ts new file: packages/tests/src/api/check-params/jobs.ts new file: packages/tests/src/api/check-params/live.ts new file: packages/tests/src/api/check-params/logs.ts new file: packages/tests/src/api/check-params/metrics.ts new file: packages/tests/src/api/check-params/my-user.ts new file: packages/tests/src/api/check-params/plugins.ts new file: packages/tests/src/api/check-params/redundancy.ts new file: packages/tests/src/api/check-params/registrations.ts new file: packages/tests/src/api/check-params/runners.ts new file: packages/tests/src/api/check-params/search.ts new file: packages/tests/src/api/check-params/services.ts new file: packages/tests/src/api/check-params/transcoding.ts new file: packages/tests/src/api/check-params/two-factor.ts new file: packages/tests/src/api/check-params/upload-quota.ts new file: packages/tests/src/api/check-params/user-export.ts new file: packages/tests/src/api/check-params/user-import.ts new file: packages/tests/src/api/check-params/user-notifications.ts new file: packages/tests/src/api/check-params/user-subscriptions.ts new file: packages/tests/src/api/check-params/users-admin.ts new file: packages/tests/src/api/check-params/users-emails.ts new file: packages/tests/src/api/check-params/video-blacklist.ts new file: packages/tests/src/api/check-params/video-captions.ts new file: packages/tests/src/api/check-params/video-channel-syncs.ts new file: packages/tests/src/api/check-params/video-channels.ts new file: packages/tests/src/api/check-params/video-chapters.ts new file: packages/tests/src/api/check-params/video-comments.ts new file: packages/tests/src/api/check-params/video-files.ts new file: packages/tests/src/api/check-params/video-imports.ts new file: packages/tests/src/api/check-params/video-passwords.ts new file: packages/tests/src/api/check-params/video-playlists.ts new file: packages/tests/src/api/check-params/video-source.ts new file: packages/tests/src/api/check-params/video-storyboards.ts new file: packages/tests/src/api/check-params/video-studio.ts new file: packages/tests/src/api/check-params/video-token.ts new file: packages/tests/src/api/check-params/video-transcription.ts new file: packages/tests/src/api/check-params/videos-common-filters.ts new file: packages/tests/src/api/check-params/videos-history.ts new file: packages/tests/src/api/check-params/videos-overviews.ts new file: packages/tests/src/api/check-params/videos.ts new file: packages/tests/src/api/check-params/views.ts new file: packages/tests/src/api/check-params/watched-words.ts new file: packages/tests/src/api/live/index.ts new file: packages/tests/src/api/live/live-audio-or-video-only.ts new file: packages/tests/src/api/live/live-constraints.ts new file: packages/tests/src/api/live/live-fast-restream.ts new file: packages/tests/src/api/live/live-permanent.ts new file: packages/tests/src/api/live/live-privacy-update.ts new file: packages/tests/src/api/live/live-rtmps.ts new file: packages/tests/src/api/live/live-save-replay.ts new file: packages/tests/src/api/live/live-socket-messages.ts new file: packages/tests/src/api/live/live.ts new file: packages/tests/src/api/moderation/abuses.ts new file: packages/tests/src/api/moderation/automatic-tags.ts new file: packages/tests/src/api/moderation/blocklist-notification.ts new file: packages/tests/src/api/moderation/blocklist.ts new file: packages/tests/src/api/moderation/comment-approval.ts new file: packages/tests/src/api/moderation/index.ts new file: packages/tests/src/api/moderation/video-blacklist.ts new file: packages/tests/src/api/moderation/watched-words.ts new file: packages/tests/src/api/notifications/admin-notifications.ts new file: packages/tests/src/api/notifications/caption-notifications.ts new file: packages/tests/src/api/notifications/comments-notifications.ts new file: packages/tests/src/api/notifications/index.ts new file: packages/tests/src/api/notifications/moderation-notifications.ts new file: packages/tests/src/api/notifications/notifications-api.ts new file: packages/tests/src/api/notifications/registrations-notifications.ts new file: packages/tests/src/api/notifications/user-notifications.ts new file: packages/tests/src/api/object-storage/index.ts new file: packages/tests/src/api/object-storage/live.ts new file: packages/tests/src/api/object-storage/video-imports.ts new file: packages/tests/src/api/object-storage/video-static-file-privacy.ts new file: packages/tests/src/api/object-storage/videos.ts new file: packages/tests/src/api/redundancy/index.ts new file: packages/tests/src/api/redundancy/manage-redundancy.ts new file: packages/tests/src/api/redundancy/redundancy-constraints.ts new file: packages/tests/src/api/redundancy/redundancy.ts new file: packages/tests/src/api/runners/index.ts new file: packages/tests/src/api/runners/runner-common.ts new file: packages/tests/src/api/runners/runner-live-transcoding.ts new file: packages/tests/src/api/runners/runner-socket.ts new file: packages/tests/src/api/runners/runner-studio-transcoding.ts new file: packages/tests/src/api/runners/runner-transcription.ts new file: packages/tests/src/api/runners/runner-vod-transcoding.ts new file: packages/tests/src/api/search/index.ts new file: packages/tests/src/api/search/search-activitypub-video-channels.ts new file: packages/tests/src/api/search/search-activitypub-video-playlists.ts new file: packages/tests/src/api/search/search-activitypub-videos.ts new file: packages/tests/src/api/search/search-channels.ts new file: packages/tests/src/api/search/search-index.ts new file: packages/tests/src/api/search/search-playlists.ts new file: packages/tests/src/api/search/search-videos.ts new file: packages/tests/src/api/server/auto-follows.ts new file: packages/tests/src/api/server/bulk.ts new file: packages/tests/src/api/server/config-defaults.ts new file: packages/tests/src/api/server/config.ts new file: packages/tests/src/api/server/contact-form.ts new file: packages/tests/src/api/server/email.ts new file: packages/tests/src/api/server/follow-constraints.ts new file: packages/tests/src/api/server/follows-moderation.ts new file: packages/tests/src/api/server/follows.ts new file: packages/tests/src/api/server/handle-down.ts new file: packages/tests/src/api/server/homepage.ts new file: packages/tests/src/api/server/index.ts new file: packages/tests/src/api/server/jobs.ts new file: packages/tests/src/api/server/logs.ts new file: packages/tests/src/api/server/no-client.ts new file: packages/tests/src/api/server/open-telemetry.ts new file: packages/tests/src/api/server/plugins.ts new file: packages/tests/src/api/server/proxy.ts new file: packages/tests/src/api/server/reverse-proxy.ts new file: packages/tests/src/api/server/services.ts new file: packages/tests/src/api/server/slow-follows.ts new file: packages/tests/src/api/server/ssrf.ts new file: packages/tests/src/api/server/stats.ts new file: packages/tests/src/api/server/tracker.ts new file: packages/tests/src/api/transcoding/audio-only.ts new file: packages/tests/src/api/transcoding/create-transcoding.ts new file: packages/tests/src/api/transcoding/hls.ts new file: packages/tests/src/api/transcoding/index.ts new file: packages/tests/src/api/transcoding/split-audio-and-video.ts new file: packages/tests/src/api/transcoding/transcoder-limits.ts new file: packages/tests/src/api/transcoding/transcoder.ts new file: packages/tests/src/api/transcoding/update-while-transcoding.ts new file: packages/tests/src/api/transcoding/video-studio.ts new file: packages/tests/src/api/users/index.ts new file: packages/tests/src/api/users/oauth.ts new file: packages/tests/src/api/users/registrations.ts new file: packages/tests/src/api/users/two-factor.ts new file: packages/tests/src/api/users/user-export.ts new file: packages/tests/src/api/users/user-import.ts new file: packages/tests/src/api/users/user-subscriptions.ts new file: packages/tests/src/api/users/user-videos.ts new file: packages/tests/src/api/users/users-email-verification.ts new file: packages/tests/src/api/users/users-multiple-servers.ts new file: packages/tests/src/api/users/users.ts new file: packages/tests/src/api/videos/channel-import-videos.ts new file: packages/tests/src/api/videos/generate-download.ts new file: packages/tests/src/api/videos/index.ts new file: packages/tests/src/api/videos/multiple-servers.ts new file: packages/tests/src/api/videos/resumable-upload.ts new file: packages/tests/src/api/videos/single-server.ts new file: packages/tests/src/api/videos/video-captions.ts new file: packages/tests/src/api/videos/video-change-ownership.ts new file: packages/tests/src/api/videos/video-channel-syncs.ts new file: packages/tests/src/api/videos/video-channels.ts new file: packages/tests/src/api/videos/video-chapters.ts new file: packages/tests/src/api/videos/video-comments.ts new file: packages/tests/src/api/videos/video-description.ts new file: packages/tests/src/api/videos/video-files.ts new file: packages/tests/src/api/videos/video-imports.ts new file: packages/tests/src/api/videos/video-nsfw.ts new file: packages/tests/src/api/videos/video-passwords.ts new file: packages/tests/src/api/videos/video-playlist-thumbnails.ts new file: packages/tests/src/api/videos/video-playlists.ts new file: packages/tests/src/api/videos/video-privacy.ts new file: packages/tests/src/api/videos/video-schedule-update.ts new file: packages/tests/src/api/videos/video-source.ts new file: packages/tests/src/api/videos/video-static-file-privacy.ts new file: packages/tests/src/api/videos/video-storyboard.ts new file: packages/tests/src/api/videos/video-transcription.ts new file: packages/tests/src/api/videos/videos-common-filters.ts new file: packages/tests/src/api/videos/videos-history.ts new file: packages/tests/src/api/videos/videos-overview.ts new file: packages/tests/src/api/views/index.ts new file: packages/tests/src/api/views/video-views-counter.ts new file: packages/tests/src/api/views/video-views-overall-stats.ts new file: packages/tests/src/api/views/video-views-retention-stats.ts new file: packages/tests/src/api/views/video-views-timeserie-stats.ts new file: packages/tests/src/api/views/videos-views-cleaner.ts new file: packages/tests/src/cli/create-generate-storyboard-job.ts new file: packages/tests/src/cli/create-import-video-file-job.ts new file: packages/tests/src/cli/create-move-video-storage-job.ts new file: packages/tests/src/cli/house-keeping.ts new file: packages/tests/src/cli/index.ts new file: packages/tests/src/cli/peertube.ts new file: packages/tests/src/cli/plugins.ts new file: packages/tests/src/cli/prune-storage.ts new file: packages/tests/src/cli/regenerate-thumbnails.ts new file: packages/tests/src/cli/reset-password.ts new file: packages/tests/src/cli/update-host.ts new file: packages/tests/src/cli/update-object-storage-url.ts new file: packages/tests/src/client/embed-html.ts new file: packages/tests/src/client/index-html.ts new file: packages/tests/src/client/index.ts new file: packages/tests/src/client/oembed.ts new file: packages/tests/src/client/og-twitter-tags.ts new file: packages/tests/src/core-utils/date.ts new file: packages/tests/src/external-plugins/akismet.ts new file: packages/tests/src/external-plugins/auth-ldap.ts new file: packages/tests/src/external-plugins/auto-block-videos.ts new file: packages/tests/src/external-plugins/auto-mute.ts new file: packages/tests/src/external-plugins/index.ts new file: packages/tests/src/external-plugins/privacy-remover.ts new file: packages/tests/src/feeds/feeds.ts new file: packages/tests/src/feeds/index.ts new file: packages/tests/src/jiwer/jiwer-cli.spec.ts new file: packages/tests/src/misc-endpoints.ts new file: packages/tests/src/nginx.ts new file: packages/tests/src/peertube-runner/client-cli.ts new file: packages/tests/src/peertube-runner/index.ts new file: packages/tests/src/peertube-runner/live-transcoding.ts new file: packages/tests/src/peertube-runner/replace-file.ts new file: packages/tests/src/peertube-runner/studio-transcoding.ts new file: packages/tests/src/peertube-runner/video-transcription.ts new file: packages/tests/src/peertube-runner/vod-transcoding.ts new file: packages/tests/src/plugins/action-hooks.ts new file: packages/tests/src/plugins/external-auth.ts new file: packages/tests/src/plugins/filter-hooks.ts new file: packages/tests/src/plugins/html-injection.ts new file: packages/tests/src/plugins/id-and-pass-auth.ts new file: packages/tests/src/plugins/index.ts new file: packages/tests/src/plugins/plugin-helpers.ts new file: packages/tests/src/plugins/plugin-router.ts new file: packages/tests/src/plugins/plugin-settings.ts new file: packages/tests/src/plugins/plugin-storage.ts new file: packages/tests/src/plugins/plugin-transcoding.ts new file: packages/tests/src/plugins/plugin-unloading.ts new file: packages/tests/src/plugins/plugin-websocket.ts new file: packages/tests/src/plugins/translations.ts new file: packages/tests/src/plugins/video-constants.ts new file: packages/tests/src/server-helpers/activitypub.ts new file: packages/tests/src/server-helpers/core-utils.ts new file: packages/tests/src/server-helpers/crypto.ts new file: packages/tests/src/server-helpers/dns.ts new file: packages/tests/src/server-helpers/image.ts new file: packages/tests/src/server-helpers/index.ts new file: packages/tests/src/server-helpers/markdown.ts new file: packages/tests/src/server-helpers/mentions.ts new file: packages/tests/src/server-helpers/regexp.ts new file: packages/tests/src/server-helpers/request.ts new file: packages/tests/src/server-helpers/validator.ts new file: packages/tests/src/server-helpers/version.ts new file: packages/tests/src/server-lib/index.ts new file: packages/tests/src/server-lib/video-constant-registry-factory.ts new file: packages/tests/src/shared/actors.ts new file: packages/tests/src/shared/captions.ts new file: packages/tests/src/shared/checks.ts new file: packages/tests/src/shared/client.ts new file: packages/tests/src/shared/common.ts new file: packages/tests/src/shared/directories.ts new file: packages/tests/src/shared/fixture-urls.ts new file: packages/tests/src/shared/generate.ts new file: packages/tests/src/shared/import-export.ts new file: packages/tests/src/shared/live.ts new file: packages/tests/src/shared/mock-servers/index.ts new file: packages/tests/src/shared/mock-servers/mock-429.ts new file: packages/tests/src/shared/mock-servers/mock-email.ts new file: packages/tests/src/shared/mock-servers/mock-http.ts new file: packages/tests/src/shared/mock-servers/mock-instances-index.ts new file: packages/tests/src/shared/mock-servers/mock-joinpeertube-versions.ts new file: packages/tests/src/shared/mock-servers/mock-object-storage.ts new file: packages/tests/src/shared/mock-servers/mock-plugin-blocklist.ts new file: packages/tests/src/shared/mock-servers/mock-proxy.ts new file: packages/tests/src/shared/mock-servers/shared.ts new file: packages/tests/src/shared/notifications.ts new file: packages/tests/src/shared/peertube-runner-process.ts new file: packages/tests/src/shared/plugins.ts new file: packages/tests/src/shared/requests.ts new file: packages/tests/src/shared/sql-command.ts new file: packages/tests/src/shared/streaming-playlists.ts new file: packages/tests/src/shared/tracker.ts new file: packages/tests/src/shared/transcription.ts new file: packages/tests/src/shared/video-playlists.ts new file: packages/tests/src/shared/videos.ts new file: packages/tests/src/shared/views.ts new file: packages/tests/src/shared/webtorrent.ts new file: packages/tests/src/transcription/levenshtein-distance.spec.ts new file: packages/tests/src/transcription/subtitle.spec.ts new file: packages/tests/src/transcription/transcriber-factory.spec.ts new file: packages/tests/src/transcription/transcript/transcript-file-evaluator.spec.ts new file: packages/tests/src/transcription/transcript/transcript-file.spec.ts new file: packages/tests/src/transcription/utils.spec.ts new file: packages/tests/src/transcription/whisper/openai-transcriber.spec.ts new file: packages/tests/src/transcription/whisper/whisper-ctranslate2.spec.ts new file: packages/tests/tsconfig.json new file: packages/transcription-devtools/README.md new file: packages/transcription-devtools/package.json new file: packages/transcription-devtools/requirements.txt new file: packages/transcription-devtools/src/benchmark.ts new file: packages/transcription-devtools/src/index.ts new file: packages/transcription-devtools/src/jiwer-cli.ts new file: packages/transcription-devtools/src/levenshtein.ts new file: packages/transcription-devtools/src/transcript-file-evaluator-interface.ts new file: packages/transcription-devtools/src/transcript-file-evaluator.ts new file: packages/transcription-devtools/src/utils.ts new file: packages/transcription-devtools/tsconfig.json new file: packages/transcription/README.md new file: packages/transcription/package.json new file: packages/transcription/src/abstract-transcriber.ts new file: packages/transcription/src/index.ts new file: packages/transcription/src/subtitle.ts new file: packages/transcription/src/transcriber-factory.ts new file: packages/transcription/src/transcript-file.ts new file: packages/transcription/src/transcription-engine.ts new file: packages/transcription/src/transcription-model.ts new file: packages/transcription/src/transcription-run.ts new file: packages/transcription/src/whisper/engines.ts new file: packages/transcription/src/whisper/index.ts new file: packages/transcription/src/whisper/transcriber/ctranslate2-transcriber.ts new file: packages/transcription/src/whisper/transcriber/index.ts new file: packages/transcription/src/whisper/transcriber/openai-transcriber.ts new file: packages/transcription/src/whisper/whisper-builtin-model.ts new file: packages/transcription/tsconfig.json new file: packages/transcription/tsconfig.types.json new file: packages/types-generator/README.md new file: packages/types-generator/generate-package.ts new file: packages/types-generator/package.json new file: packages/types-generator/rollup.config.js new file: packages/types-generator/src/client/index.ts new file: packages/types-generator/src/client/tsconfig.types.json new file: packages/types-generator/src/index.ts new file: packages/types-generator/tests/test.ts new file: packages/types-generator/tsconfig.dist-tmp.json new file: packages/types-generator/tsconfig.json new file: packages/types-generator/tsconfig.types.json new file: packages/typescript-utils/package.json new file: packages/typescript-utils/src/index.ts new file: packages/typescript-utils/src/types.ts new file: packages/typescript-utils/tsconfig.json new file: packages/typescript-utils/tsconfig.types.json new file: scripts/benchmark.ts new file: scripts/build/client.sh new file: scripts/build/embed.sh new file: scripts/build/index.sh new file: scripts/build/peertube-cli.sh new file: scripts/build/peertube-runner.sh new file: scripts/build/server.sh new file: scripts/build/tests.sh new file: scripts/ci.sh new file: scripts/clean/client/index.sh new file: scripts/clean/server/test.sh new file: scripts/client-build-stats.ts new file: scripts/client-report.sh new file: scripts/dev/client.sh new file: scripts/dev/embed.sh new file: scripts/dev/index.sh new file: scripts/dev/peertube-cli.sh new file: scripts/dev/peertube-runner.sh new file: scripts/dev/server.sh new file: scripts/e2e/browserstack.sh new file: scripts/e2e/local.sh new file: scripts/generate-code-contributors.ts new file: scripts/i18n/create-custom-files.ts new file: scripts/i18n/update.sh new file: scripts/nightly.sh new file: scripts/openapi-clients.sh new file: scripts/openapi-peertube-version.sh new file: scripts/release-embed-api.sh new file: scripts/release.sh new file: scripts/simulate-many-viewers-worker.js new file: scripts/simulate-many-viewers-worker.ts new file: scripts/simulate-many-viewers.ts new file: scripts/test.sh new file: scripts/tsconfig.json new file: scripts/upgrade.sh new file: server/core/assets/default-audio-background.jpg new file: server/core/assets/email-templates/abuse-new-message/html.pug new file: server/core/assets/email-templates/abuse-state-change/html.pug new file: server/core/assets/email-templates/account-abuse-new/html.pug new file: server/core/assets/email-templates/common/base.pug new file: server/core/assets/email-templates/common/greetings.pug new file: server/core/assets/email-templates/common/html.pug new file: server/core/assets/email-templates/common/mixins.pug new file: server/core/assets/email-templates/contact-form/html.pug new file: server/core/assets/email-templates/follower-on-channel/html.pug new file: server/core/assets/email-templates/password-create/html.pug new file: server/core/assets/email-templates/password-reset/html.pug new file: server/core/assets/email-templates/peertube-version-new/html.pug new file: server/core/assets/email-templates/plugin-version-new/html.pug new file: server/core/assets/email-templates/user-export-completed/html.pug new file: server/core/assets/email-templates/user-export-errored/html.pug new file: server/core/assets/email-templates/user-import-completed/html.pug new file: server/core/assets/email-templates/user-import-errored/html.pug new file: server/core/assets/email-templates/user-registered/html.pug new file: server/core/assets/email-templates/user-registration-request-accepted/html.pug new file: server/core/assets/email-templates/user-registration-request-rejected/html.pug new file: server/core/assets/email-templates/user-registration-request/html.pug new file: server/core/assets/email-templates/verify-email/html.pug new file: server/core/assets/email-templates/video-abuse-new/html.pug new file: server/core/assets/email-templates/video-auto-blacklist-new/html.pug new file: server/core/assets/email-templates/video-comment-abuse-new/html.pug new file: server/core/assets/email-templates/video-comment-mention/html.pug new file: server/core/assets/email-templates/video-comment-new/html.pug new file: server/core/controllers/activitypub/client.ts new file: server/core/controllers/activitypub/inbox.ts new file: server/core/controllers/activitypub/index.ts new file: server/core/controllers/activitypub/outbox.ts new file: server/core/controllers/activitypub/utils.ts new file: server/core/controllers/api/abuse.ts new file: server/core/controllers/api/accounts.ts new file: server/core/controllers/api/automatic-tags.ts new file: server/core/controllers/api/blocklist.ts new file: server/core/controllers/api/bulk.ts new file: server/core/controllers/api/config.ts new file: server/core/controllers/api/custom-page.ts new file: server/core/controllers/api/index.ts new file: server/core/controllers/api/jobs.ts new file: server/core/controllers/api/metrics.ts new file: server/core/controllers/api/oauth-clients.ts new file: server/core/controllers/api/overviews.ts new file: server/core/controllers/api/plugins.ts new file: server/core/controllers/api/runners/index.ts new file: server/core/controllers/api/runners/jobs-files.ts new file: server/core/controllers/api/runners/jobs.ts new file: server/core/controllers/api/runners/manage-runners.ts new file: server/core/controllers/api/runners/registration-tokens.ts new file: server/core/controllers/api/search/index.ts new file: server/core/controllers/api/search/search-video-channels.ts new file: server/core/controllers/api/search/search-video-playlists.ts new file: server/core/controllers/api/search/search-videos.ts new file: server/core/controllers/api/search/shared/index.ts new file: server/core/controllers/api/search/shared/utils.ts new file: server/core/controllers/api/server/contact.ts new file: server/core/controllers/api/server/debug.ts new file: server/core/controllers/api/server/follows.ts new file: server/core/controllers/api/server/index.ts new file: server/core/controllers/api/server/logs.ts new file: server/core/controllers/api/server/redundancy.ts new file: server/core/controllers/api/server/server-blocklist.ts new file: server/core/controllers/api/server/stats.ts new file: server/core/controllers/api/users/email-verification.ts new file: server/core/controllers/api/users/index.ts new file: server/core/controllers/api/users/me.ts new file: server/core/controllers/api/users/my-abuses.ts new file: server/core/controllers/api/users/my-blocklist.ts new file: server/core/controllers/api/users/my-history.ts new file: server/core/controllers/api/users/my-notifications.ts new file: server/core/controllers/api/users/my-subscriptions.ts new file: server/core/controllers/api/users/my-video-playlists.ts new file: server/core/controllers/api/users/registrations.ts new file: server/core/controllers/api/users/token.ts new file: server/core/controllers/api/users/two-factor.ts new file: server/core/controllers/api/users/user-exports.ts new file: server/core/controllers/api/users/user-imports.ts new file: server/core/controllers/api/video-channel-sync.ts new file: server/core/controllers/api/video-channel.ts new file: server/core/controllers/api/video-playlist.ts new file: server/core/controllers/api/videos/blacklist.ts new file: server/core/controllers/api/videos/captions.ts new file: server/core/controllers/api/videos/chapters.ts new file: server/core/controllers/api/videos/comment.ts new file: server/core/controllers/api/videos/files.ts new file: server/core/controllers/api/videos/import.ts new file: server/core/controllers/api/videos/index.ts new file: server/core/controllers/api/videos/live.ts new file: server/core/controllers/api/videos/ownership.ts new file: server/core/controllers/api/videos/passwords.ts new file: server/core/controllers/api/videos/rate.ts new file: server/core/controllers/api/videos/source.ts new file: server/core/controllers/api/videos/stats.ts new file: server/core/controllers/api/videos/storyboard.ts new file: server/core/controllers/api/videos/studio.ts new file: server/core/controllers/api/videos/token.ts new file: server/core/controllers/api/videos/transcoding.ts new file: server/core/controllers/api/videos/update.ts new file: server/core/controllers/api/videos/upload.ts new file: server/core/controllers/api/videos/view.ts new file: server/core/controllers/api/watched-words.ts new file: server/core/controllers/client.ts new file: server/core/controllers/download.ts new file: server/core/controllers/feeds/comment-feeds.ts new file: server/core/controllers/feeds/index.ts new file: server/core/controllers/feeds/shared/common-feed-utils.ts new file: server/core/controllers/feeds/shared/index.ts new file: server/core/controllers/feeds/shared/video-feed-utils.ts new file: server/core/controllers/feeds/video-feeds.ts new file: server/core/controllers/feeds/video-podcast-feeds.ts new file: server/core/controllers/index.ts new file: server/core/controllers/lazy-static.ts new file: server/core/controllers/misc.ts new file: server/core/controllers/object-storage-proxy.ts new file: server/core/controllers/plugins.ts new file: server/core/controllers/services.ts new file: server/core/controllers/shared/m3u8-playlist.ts new file: server/core/controllers/sitemap.ts new file: server/core/controllers/static.ts new file: server/core/controllers/tracker.ts new file: server/core/controllers/well-known.ts new file: server/core/helpers/activity-pub-utils.ts new file: server/core/helpers/actors.ts new file: server/core/helpers/audit-logger.ts new file: server/core/helpers/captions-utils.ts new file: server/core/helpers/core-utils.ts new file: server/core/helpers/custom-jsonld-signature.ts new file: server/core/helpers/custom-validators/abuses.ts new file: server/core/helpers/custom-validators/accounts.ts new file: server/core/helpers/custom-validators/activitypub/activity.ts new file: server/core/helpers/custom-validators/activitypub/actor.ts new file: server/core/helpers/custom-validators/activitypub/cache-file.ts new file: server/core/helpers/custom-validators/activitypub/misc.ts new file: server/core/helpers/custom-validators/activitypub/playlist.ts new file: server/core/helpers/custom-validators/activitypub/signature.ts new file: server/core/helpers/custom-validators/activitypub/video-chapters.ts new file: server/core/helpers/custom-validators/activitypub/video-comments.ts new file: server/core/helpers/custom-validators/activitypub/videos.ts new file: server/core/helpers/custom-validators/activitypub/watch-action.ts new file: server/core/helpers/custom-validators/actor-images.ts new file: server/core/helpers/custom-validators/bulk.ts new file: server/core/helpers/custom-validators/feeds.ts new file: server/core/helpers/custom-validators/follows.ts new file: server/core/helpers/custom-validators/jobs.ts new file: server/core/helpers/custom-validators/logs.ts new file: server/core/helpers/custom-validators/metrics.ts new file: server/core/helpers/custom-validators/misc.ts new file: server/core/helpers/custom-validators/plugins.ts new file: server/core/helpers/custom-validators/runners/jobs.ts new file: server/core/helpers/custom-validators/runners/runners.ts new file: server/core/helpers/custom-validators/search.ts new file: server/core/helpers/custom-validators/servers.ts new file: server/core/helpers/custom-validators/user-notifications.ts new file: server/core/helpers/custom-validators/user-registration.ts new file: server/core/helpers/custom-validators/users.ts new file: server/core/helpers/custom-validators/video-blacklist.ts new file: server/core/helpers/custom-validators/video-captions.ts new file: server/core/helpers/custom-validators/video-channel-syncs.ts new file: server/core/helpers/custom-validators/video-channels.ts new file: server/core/helpers/custom-validators/video-chapters.ts new file: server/core/helpers/custom-validators/video-comments.ts new file: server/core/helpers/custom-validators/video-imports.ts new file: server/core/helpers/custom-validators/video-lives.ts new file: server/core/helpers/custom-validators/video-ownership.ts new file: server/core/helpers/custom-validators/video-playlists.ts new file: server/core/helpers/custom-validators/video-rates.ts new file: server/core/helpers/custom-validators/video-redundancies.ts new file: server/core/helpers/custom-validators/video-stats.ts new file: server/core/helpers/custom-validators/video-studio.ts new file: server/core/helpers/custom-validators/video-transcoding.ts new file: server/core/helpers/custom-validators/video-view.ts new file: server/core/helpers/custom-validators/videos.ts new file: server/core/helpers/custom-validators/watched-words.ts new file: server/core/helpers/custom-validators/webfinger.ts new file: server/core/helpers/database-utils.ts new file: server/core/helpers/debounce.ts new file: server/core/helpers/decache.ts new file: server/core/helpers/dns.ts new file: server/core/helpers/express-utils.ts new file: server/core/helpers/ffmpeg/codecs.ts new file: server/core/helpers/ffmpeg/ffmpeg-image.ts new file: server/core/helpers/ffmpeg/ffmpeg-options.ts new file: server/core/helpers/ffmpeg/framerate.ts new file: server/core/helpers/ffmpeg/index.ts new file: server/core/helpers/fs.ts new file: server/core/helpers/geo-ip.ts new file: server/core/helpers/hpagent.ts new file: server/core/helpers/image-utils.ts new file: server/core/helpers/logger.ts new file: server/core/helpers/markdown.ts new file: server/core/helpers/memoize.ts new file: server/core/helpers/mentions.ts new file: server/core/helpers/otp.ts new file: server/core/helpers/peertube-crypto.ts new file: server/core/helpers/peertube-jsonld.ts new file: server/core/helpers/promise-cache.ts new file: server/core/helpers/proxy.ts new file: server/core/helpers/query.ts new file: server/core/helpers/regexp.ts new file: server/core/helpers/requests.ts new file: server/core/helpers/stream-replacer.ts new file: server/core/helpers/threads.ts new file: server/core/helpers/token-generator.ts new file: server/core/helpers/unzip.ts new file: server/core/helpers/upload.ts new file: server/core/helpers/utils.ts new file: server/core/helpers/version.ts new file: server/core/helpers/video.ts new file: server/core/helpers/webtorrent.ts new file: server/core/initializers/checker-after-init.ts new file: server/core/initializers/checker-before-init.ts new file: server/core/initializers/config.ts new file: server/core/initializers/constants.ts new file: server/core/initializers/database.ts new file: server/core/initializers/installer.ts new file: server/core/initializers/migrations/0505-user-last-login-date.ts new file: server/core/initializers/migrations/0510-video-file-metadata.ts new file: server/core/initializers/migrations/0515-video-abuse-reason-timestamps.ts new file: server/core/initializers/migrations/0520-abuses-split.ts new file: server/core/initializers/migrations/0525-abuse-messages.ts new file: server/core/initializers/migrations/0530-playlist-multiple-video.ts new file: server/core/initializers/migrations/0535-video-live.ts new file: server/core/initializers/migrations/0540-video-file-infohash.ts new file: server/core/initializers/migrations/0545-video-live-save-replay.ts new file: server/core/initializers/migrations/0550-actor-follow-cleanup.ts new file: server/core/initializers/migrations/0555-actor-follow-url.ts new file: server/core/initializers/migrations/0560-user-feed-token.ts new file: server/core/initializers/migrations/0565-actor-follow-local-url.ts new file: server/core/initializers/migrations/0570-permanent-live.ts new file: server/core/initializers/migrations/0575-duplicate-thumbnail.ts new file: server/core/initializers/migrations/0580-caption-filename.ts new file: server/core/initializers/migrations/0585-video-file-names.ts new file: server/core/initializers/migrations/0590-trackers.ts new file: server/core/initializers/migrations/0595-remote-url.ts new file: server/core/initializers/migrations/0600-duplicate-video-files.ts new file: server/core/initializers/migrations/0605-actor-missing-keys.ts new file: server/core/initializers/migrations/0610-views-index copy.ts new file: server/core/initializers/migrations/0612-captions-unique.ts new file: server/core/initializers/migrations/0615-latest-versions-notification-settings.ts new file: server/core/initializers/migrations/0620-latest-versions-application.ts new file: server/core/initializers/migrations/0625-latest-versions-notification.ts new file: server/core/initializers/migrations/0630-banner.ts new file: server/core/initializers/migrations/0635-actor-image-size.ts new file: server/core/initializers/migrations/0640-unique-keys.ts new file: server/core/initializers/migrations/0645-actor-remote-creation-date.ts new file: server/core/initializers/migrations/0650-actor-custom-pages.ts new file: server/core/initializers/migrations/0655-streaming-playlist-filenames.ts new file: server/core/initializers/migrations/0660-object-storage.ts new file: server/core/initializers/migrations/0665-no-account-warning-modal.ts new file: server/core/initializers/migrations/0670-pending-job-default.ts new file: server/core/initializers/migrations/0675-p2p-enabled.ts new file: server/core/initializers/migrations/0680-files-storage-default.ts new file: server/core/initializers/migrations/0685-multiple-actor-images.ts new file: server/core/initializers/migrations/0690-live-latency-mode.ts new file: server/core/initializers/migrations/0695-remove-remote-rates.ts new file: server/core/initializers/migrations/0700-edition-finished-notification.ts new file: server/core/initializers/migrations/0705-local-video-viewers.ts new file: server/core/initializers/migrations/0710-live-sessions.ts new file: server/core/initializers/migrations/0715-video-source.ts new file: server/core/initializers/migrations/0720-session-ending-processed.ts new file: server/core/initializers/migrations/0725-node-version.ts new file: server/core/initializers/migrations/0730-video-channel-sync.ts new file: server/core/initializers/migrations/0735-video-channel-sync-import-foreign-key.ts new file: server/core/initializers/migrations/0740-fix-old-enums.ts new file: server/core/initializers/migrations/0745-user-otp.ts new file: server/core/initializers/migrations/0750-user-registration.ts new file: server/core/initializers/migrations/0755-unique-viewer-url.ts new file: server/core/initializers/migrations/0760-video-live-replay-setting.ts new file: server/core/initializers/migrations/0765-remote-transcoding.ts new file: server/core/initializers/migrations/0770-actor-preferred-username.ts new file: server/core/initializers/migrations/0775-add-user-is-email-public.ts new file: server/core/initializers/migrations/0780-notification-registration.ts new file: server/core/initializers/migrations/0785-video-password-protection.ts new file: server/core/initializers/migrations/0790-thumbnail-disk.ts new file: server/core/initializers/migrations/0795-duplicate-runner-name.ts new file: server/core/initializers/migrations/0800-video-replace-file.ts new file: server/core/initializers/migrations/0805-viewer-subdivision.ts new file: server/core/initializers/migrations/0810-user-export.ts new file: server/core/initializers/migrations/0815-user-import.ts new file: server/core/initializers/migrations/0820-abuse-registration-stats.ts new file: server/core/initializers/migrations/0825-video-ratio.ts new file: server/core/initializers/migrations/0830-keep-original-file.ts new file: server/core/initializers/migrations/0835-video-source-size.ts new file: server/core/initializers/migrations/0840-user-export-size.ts new file: server/core/initializers/migrations/0845-auto-tags.ts new file: server/core/initializers/migrations/0850-streaming-playlist-sha-nullable.ts new file: server/core/initializers/migrations/0855-transcription.ts new file: server/core/initializers/migrations/0860-caption-generated.ts new file: server/core/initializers/migrations/0865-video-file-streams.ts new file: server/core/initializers/migrator.ts new file: server/core/lib/activitypub/activity.ts new file: server/core/lib/activitypub/actors/get.ts new file: server/core/lib/activitypub/actors/image.ts new file: server/core/lib/activitypub/actors/index.ts new file: server/core/lib/activitypub/actors/keys.ts new file: server/core/lib/activitypub/actors/refresh.ts new file: server/core/lib/activitypub/actors/shared/creator.ts new file: server/core/lib/activitypub/actors/shared/index.ts new file: server/core/lib/activitypub/actors/shared/object-to-model-attributes.ts new file: server/core/lib/activitypub/actors/shared/url-to-object.ts new file: server/core/lib/activitypub/actors/updater.ts new file: server/core/lib/activitypub/actors/webfinger.ts new file: server/core/lib/activitypub/audience.ts new file: server/core/lib/activitypub/cache-file.ts new file: server/core/lib/activitypub/collection.ts new file: server/core/lib/activitypub/context.ts new file: server/core/lib/activitypub/crawl.ts new file: server/core/lib/activitypub/follow.ts new file: server/core/lib/activitypub/inbox-manager.ts new file: server/core/lib/activitypub/local-video-viewer.ts new file: server/core/lib/activitypub/outbox.ts new file: server/core/lib/activitypub/playlists/create-update.ts new file: server/core/lib/activitypub/playlists/get.ts new file: server/core/lib/activitypub/playlists/index.ts new file: server/core/lib/activitypub/playlists/refresh.ts new file: server/core/lib/activitypub/playlists/shared/index.ts new file: server/core/lib/activitypub/playlists/shared/object-to-model-attributes.ts new file: server/core/lib/activitypub/playlists/shared/url-to-object.ts new file: server/core/lib/activitypub/process/index.ts new file: server/core/lib/activitypub/process/process-accept.ts new file: server/core/lib/activitypub/process/process-announce.ts new file: server/core/lib/activitypub/process/process-create.ts new file: server/core/lib/activitypub/process/process-delete.ts new file: server/core/lib/activitypub/process/process-dislike.ts new file: server/core/lib/activitypub/process/process-flag.ts new file: server/core/lib/activitypub/process/process-follow.ts new file: server/core/lib/activitypub/process/process-like.ts new file: server/core/lib/activitypub/process/process-reject.ts new file: server/core/lib/activitypub/process/process-reply-approval.ts new file: server/core/lib/activitypub/process/process-undo.ts new file: server/core/lib/activitypub/process/process-update.ts new file: server/core/lib/activitypub/process/process-view.ts new file: server/core/lib/activitypub/process/process.ts new file: server/core/lib/activitypub/send/http.ts new file: server/core/lib/activitypub/send/index.ts new file: server/core/lib/activitypub/send/send-accept.ts new file: server/core/lib/activitypub/send/send-announce.ts new file: server/core/lib/activitypub/send/send-create.ts new file: server/core/lib/activitypub/send/send-delete.ts new file: server/core/lib/activitypub/send/send-dislike.ts new file: server/core/lib/activitypub/send/send-flag.ts new file: server/core/lib/activitypub/send/send-follow.ts new file: server/core/lib/activitypub/send/send-like.ts new file: server/core/lib/activitypub/send/send-reject.ts new file: server/core/lib/activitypub/send/send-reply-approval.ts new file: server/core/lib/activitypub/send/send-undo.ts new file: server/core/lib/activitypub/send/send-update.ts new file: server/core/lib/activitypub/send/send-view.ts new file: server/core/lib/activitypub/send/shared/audience-utils.ts new file: server/core/lib/activitypub/send/shared/index.ts new file: server/core/lib/activitypub/send/shared/send-utils.ts new file: server/core/lib/activitypub/share.ts new file: server/core/lib/activitypub/url.ts new file: server/core/lib/activitypub/video-chapters.ts new file: server/core/lib/activitypub/video-comments.ts new file: server/core/lib/activitypub/video-rates.ts new file: server/core/lib/activitypub/videos/federate.ts new file: server/core/lib/activitypub/videos/get.ts new file: server/core/lib/activitypub/videos/index.ts new file: server/core/lib/activitypub/videos/refresh.ts new file: server/core/lib/activitypub/videos/shared/abstract-builder.ts new file: server/core/lib/activitypub/videos/shared/creator.ts new file: server/core/lib/activitypub/videos/shared/index.ts new file: server/core/lib/activitypub/videos/shared/object-to-model-attributes.ts new file: server/core/lib/activitypub/videos/shared/trackers.ts new file: server/core/lib/activitypub/videos/shared/url-to-object.ts new file: server/core/lib/activitypub/videos/shared/video-sync-attributes.ts new file: server/core/lib/activitypub/videos/updater.ts new file: server/core/lib/actor-follow-health-cache.ts new file: server/core/lib/auth/external-auth.ts new file: server/core/lib/auth/oauth-model.ts new file: server/core/lib/auth/oauth.ts new file: server/core/lib/auth/tokens-cache.ts new file: server/core/lib/automatic-tags/automatic-tagger.ts new file: server/core/lib/automatic-tags/automatic-tags.ts new file: server/core/lib/blocklist.ts new file: server/core/lib/emailer.ts new file: server/core/lib/files-cache/avatar-permanent-file-cache.ts new file: server/core/lib/files-cache/index.ts new file: server/core/lib/files-cache/shared/abstract-permanent-file-cache.ts new file: server/core/lib/files-cache/shared/abstract-simple-file-cache.ts new file: server/core/lib/files-cache/shared/index.ts new file: server/core/lib/files-cache/video-captions-simple-file-cache.ts new file: server/core/lib/files-cache/video-miniature-permanent-file-cache.ts new file: server/core/lib/files-cache/video-previews-simple-file-cache.ts new file: server/core/lib/files-cache/video-storyboards-simple-file-cache.ts new file: server/core/lib/files-cache/video-torrents-simple-file-cache.ts new file: server/core/lib/hls.ts new file: server/core/lib/html/client-html.ts new file: server/core/lib/html/shared/actor-html.ts new file: server/core/lib/html/shared/common-embed-html.ts new file: server/core/lib/html/shared/index.ts new file: server/core/lib/html/shared/page-html.ts new file: server/core/lib/html/shared/playlist-html.ts new file: server/core/lib/html/shared/tags-html.ts new file: server/core/lib/html/shared/video-html.ts new file: server/core/lib/internal-event-emitter.ts new file: server/core/lib/job-queue/handlers/activitypub-cleaner.ts new file: server/core/lib/job-queue/handlers/activitypub-follow.ts new file: server/core/lib/job-queue/handlers/activitypub-http-broadcast.ts new file: server/core/lib/job-queue/handlers/activitypub-http-fetcher.ts new file: server/core/lib/job-queue/handlers/activitypub-http-unicast.ts new file: server/core/lib/job-queue/handlers/activitypub-refresher.ts new file: server/core/lib/job-queue/handlers/actor-keys.ts new file: server/core/lib/job-queue/handlers/after-video-channel-import.ts new file: server/core/lib/job-queue/handlers/create-user-export.ts new file: server/core/lib/job-queue/handlers/email.ts new file: server/core/lib/job-queue/handlers/federate-video.ts new file: server/core/lib/job-queue/handlers/generate-storyboard.ts new file: server/core/lib/job-queue/handlers/import-user-archive.ts new file: server/core/lib/job-queue/handlers/manage-video-torrent.ts new file: server/core/lib/job-queue/handlers/move-to-file-system.ts new file: server/core/lib/job-queue/handlers/move-to-object-storage.ts new file: server/core/lib/job-queue/handlers/notify.ts new file: server/core/lib/job-queue/handlers/shared/move-video.ts new file: server/core/lib/job-queue/handlers/transcoding-job-builder.ts new file: server/core/lib/job-queue/handlers/video-channel-import.ts new file: server/core/lib/job-queue/handlers/video-file-import.ts new file: server/core/lib/job-queue/handlers/video-import.ts new file: server/core/lib/job-queue/handlers/video-live-ending.ts new file: server/core/lib/job-queue/handlers/video-redundancy.ts new file: server/core/lib/job-queue/handlers/video-studio-edition.ts new file: server/core/lib/job-queue/handlers/video-transcoding.ts new file: server/core/lib/job-queue/handlers/video-transcription.ts new file: server/core/lib/job-queue/handlers/video-views-stats.ts new file: server/core/lib/job-queue/index.ts new file: server/core/lib/job-queue/job-queue.ts new file: server/core/lib/live/index.ts new file: server/core/lib/live/live-manager.ts new file: server/core/lib/live/live-quota-store.ts new file: server/core/lib/live/live-segment-sha-store.ts new file: server/core/lib/live/live-utils.ts new file: server/core/lib/live/shared/index.ts new file: server/core/lib/live/shared/muxing-session.ts new file: server/core/lib/live/shared/transcoding-wrapper/abstract-transcoding-wrapper.ts new file: server/core/lib/live/shared/transcoding-wrapper/ffmpeg-transcoding-wrapper.ts new file: server/core/lib/live/shared/transcoding-wrapper/index.ts new file: server/core/lib/live/shared/transcoding-wrapper/remote-transcoding-wrapper.ts new file: server/core/lib/local-actor.ts new file: server/core/lib/local-video-creator.ts new file: server/core/lib/model-loaders/actor.ts new file: server/core/lib/model-loaders/index.ts new file: server/core/lib/model-loaders/video.ts new file: server/core/lib/moderation.ts new file: server/core/lib/notifier/index.ts new file: server/core/lib/notifier/notifier.ts new file: server/core/lib/notifier/shared/abuse/abstract-new-abuse-message.ts new file: server/core/lib/notifier/shared/abuse/abuse-state-change-for-reporter.ts new file: server/core/lib/notifier/shared/abuse/index.ts new file: server/core/lib/notifier/shared/abuse/new-abuse-for-moderators.ts new file: server/core/lib/notifier/shared/abuse/new-abuse-message-for-moderators.ts new file: server/core/lib/notifier/shared/abuse/new-abuse-message-for-reporter.ts new file: server/core/lib/notifier/shared/blacklist/index.ts new file: server/core/lib/notifier/shared/blacklist/new-auto-blacklist-for-moderators.ts new file: server/core/lib/notifier/shared/blacklist/new-blacklist-for-owner.ts new file: server/core/lib/notifier/shared/blacklist/unblacklist-for-owner.ts new file: server/core/lib/notifier/shared/caption/index.ts new file: server/core/lib/notifier/shared/caption/video-transcription-generated-for-owner.ts new file: server/core/lib/notifier/shared/comment/comment-mention.ts new file: server/core/lib/notifier/shared/comment/index.ts new file: server/core/lib/notifier/shared/comment/new-comment-for-video-owner.ts new file: server/core/lib/notifier/shared/common/abstract-notification.ts new file: server/core/lib/notifier/shared/common/index.ts new file: server/core/lib/notifier/shared/follow/auto-follow-for-instance.ts new file: server/core/lib/notifier/shared/follow/follow-for-instance.ts new file: server/core/lib/notifier/shared/follow/follow-for-user.ts new file: server/core/lib/notifier/shared/follow/index.ts new file: server/core/lib/notifier/shared/index.ts new file: server/core/lib/notifier/shared/instance/direct-registration-for-moderators.ts new file: server/core/lib/notifier/shared/instance/index.ts new file: server/core/lib/notifier/shared/instance/new-peertube-version-for-admins.ts new file: server/core/lib/notifier/shared/instance/new-plugin-version-for-admins.ts new file: server/core/lib/notifier/shared/instance/registration-request-for-moderators.ts new file: server/core/lib/notifier/shared/video-publication/abstract-owned-video-publication.ts new file: server/core/lib/notifier/shared/video-publication/import-finished-for-owner.ts new file: server/core/lib/notifier/shared/video-publication/index.ts new file: server/core/lib/notifier/shared/video-publication/new-video-or-live-for-subscribers.ts new file: server/core/lib/notifier/shared/video-publication/owned-publication-after-auto-unblacklist.ts new file: server/core/lib/notifier/shared/video-publication/owned-publication-after-schedule-update.ts new file: server/core/lib/notifier/shared/video-publication/owned-publication-after-transcoding.ts new file: server/core/lib/notifier/shared/video-publication/studio-edition-finished-for-owner.ts new file: server/core/lib/object-storage/index.ts new file: server/core/lib/object-storage/keys.ts new file: server/core/lib/object-storage/object-storage-helpers.ts new file: server/core/lib/object-storage/pre-signed-urls.ts new file: server/core/lib/object-storage/proxy.ts new file: server/core/lib/object-storage/shared/client.ts new file: server/core/lib/object-storage/shared/index.ts new file: server/core/lib/object-storage/shared/logger.ts new file: server/core/lib/object-storage/urls.ts new file: server/core/lib/object-storage/user-export.ts new file: server/core/lib/object-storage/videos.ts new file: server/core/lib/opentelemetry/metric-helpers/bittorrent-tracker-observers-builder.ts new file: server/core/lib/opentelemetry/metric-helpers/index.ts new file: server/core/lib/opentelemetry/metric-helpers/job-queue-observers-builder.ts new file: server/core/lib/opentelemetry/metric-helpers/lives-observers-builder.ts new file: server/core/lib/opentelemetry/metric-helpers/nodejs-observers-builder.ts new file: server/core/lib/opentelemetry/metric-helpers/playback-metrics.ts new file: server/core/lib/opentelemetry/metric-helpers/stats-observers-builder.ts new file: server/core/lib/opentelemetry/metric-helpers/viewers-observers-builder.ts new file: server/core/lib/opentelemetry/metric-helpers/worker-threads-observers.ts new file: server/core/lib/opentelemetry/metrics.ts new file: server/core/lib/opentelemetry/tracing.ts new file: server/core/lib/paths.ts new file: server/core/lib/peertube-socket.ts new file: server/core/lib/plugins/hooks.ts new file: server/core/lib/plugins/plugin-helpers-builder.ts new file: server/core/lib/plugins/plugin-index.ts new file: server/core/lib/plugins/plugin-manager.ts new file: server/core/lib/plugins/register-helpers.ts new file: server/core/lib/plugins/theme-utils.ts new file: server/core/lib/plugins/video-constant-manager-factory.ts new file: server/core/lib/plugins/yarn.ts new file: server/core/lib/rate.ts new file: server/core/lib/redis.ts new file: server/core/lib/redundancy.ts new file: server/core/lib/runners/index.ts new file: server/core/lib/runners/job-handlers/abstract-job-handler.ts new file: server/core/lib/runners/job-handlers/abstract-vod-transcoding-job-handler.ts new file: server/core/lib/runners/job-handlers/index.ts new file: server/core/lib/runners/job-handlers/live-rtmp-hls-transcoding-job-handler.ts new file: server/core/lib/runners/job-handlers/runner-job-handlers.ts new file: server/core/lib/runners/job-handlers/shared/utils.ts new file: server/core/lib/runners/job-handlers/transcription-job-handler.ts new file: server/core/lib/runners/job-handlers/video-studio-transcoding-job-handler.ts new file: server/core/lib/runners/job-handlers/vod-audio-merge-transcoding-job-handler.ts new file: server/core/lib/runners/job-handlers/vod-hls-transcoding-job-handler.ts new file: server/core/lib/runners/job-handlers/vod-web-video-transcoding-job-handler.ts new file: server/core/lib/runners/runner-urls.ts new file: server/core/lib/runners/runner.ts new file: server/core/lib/schedulers/abstract-scheduler.ts new file: server/core/lib/schedulers/actor-follow-scheduler.ts new file: server/core/lib/schedulers/auto-follow-index-instances.ts new file: server/core/lib/schedulers/geo-ip-update-scheduler.ts new file: server/core/lib/schedulers/peertube-version-check-scheduler.ts new file: server/core/lib/schedulers/plugins-check-scheduler.ts new file: server/core/lib/schedulers/remove-dangling-resumable-uploads-scheduler.ts new file: server/core/lib/schedulers/remove-expired-user-exports-scheduler.ts new file: server/core/lib/schedulers/remove-old-history-scheduler.ts new file: server/core/lib/schedulers/remove-old-views-scheduler.ts new file: server/core/lib/schedulers/runner-job-watch-dog-scheduler.ts new file: server/core/lib/schedulers/update-videos-scheduler.ts new file: server/core/lib/schedulers/video-channel-sync-latest-scheduler.ts new file: server/core/lib/schedulers/video-views-buffer-scheduler.ts new file: server/core/lib/schedulers/videos-redundancy-scheduler.ts new file: server/core/lib/schedulers/youtube-dl-update-scheduler.ts new file: server/core/lib/search.ts new file: server/core/lib/server-config-manager.ts new file: server/core/lib/signup.ts new file: server/core/lib/stat-manager.ts new file: server/core/lib/sync-channel.ts new file: server/core/lib/thumbnail.ts new file: server/core/lib/timeserie.ts new file: server/core/lib/transcoding/create-transcoding-job.ts new file: server/core/lib/transcoding/default-transcoding-profiles.ts new file: server/core/lib/transcoding/ended-transcoding.ts new file: server/core/lib/transcoding/hls-transcoding.ts new file: server/core/lib/transcoding/shared/ffmpeg-builder.ts new file: server/core/lib/transcoding/shared/index.ts new file: server/core/lib/transcoding/shared/job-builders/abstract-job-builder.ts new file: server/core/lib/transcoding/shared/job-builders/index.ts new file: server/core/lib/transcoding/shared/job-builders/transcoding-job-queue-builder.ts new file: server/core/lib/transcoding/shared/job-builders/transcoding-runner-job-builder.ts new file: server/core/lib/transcoding/transcoding-priority.ts new file: server/core/lib/transcoding/transcoding-quick-transcode.ts new file: server/core/lib/transcoding/transcoding-resolutions.ts new file: server/core/lib/transcoding/web-transcoding.ts new file: server/core/lib/uploadx.ts new file: server/core/lib/user-import-export/exporters/abstract-user-exporter.ts new file: server/core/lib/user-import-export/exporters/account-exporter.ts new file: server/core/lib/user-import-export/exporters/actor-exporter.ts new file: server/core/lib/user-import-export/exporters/auto-tag-policies.ts new file: server/core/lib/user-import-export/exporters/blocklist-exporter.ts new file: server/core/lib/user-import-export/exporters/channels-exporter.ts new file: server/core/lib/user-import-export/exporters/comments-exporter.ts new file: server/core/lib/user-import-export/exporters/dislikes-exporter.ts new file: server/core/lib/user-import-export/exporters/followers-exporter.ts new file: server/core/lib/user-import-export/exporters/following-exporter.ts new file: server/core/lib/user-import-export/exporters/index.ts new file: server/core/lib/user-import-export/exporters/likes-exporter.ts new file: server/core/lib/user-import-export/exporters/user-settings-exporter.ts new file: server/core/lib/user-import-export/exporters/user-video-history-exporter.ts new file: server/core/lib/user-import-export/exporters/video-playlists-exporter.ts new file: server/core/lib/user-import-export/exporters/videos-exporter.ts new file: server/core/lib/user-import-export/exporters/watched-words-lists-exporter.ts new file: server/core/lib/user-import-export/importers/abstract-rates-importer.ts new file: server/core/lib/user-import-export/importers/abstract-user-importer.ts new file: server/core/lib/user-import-export/importers/account-blocklist-importer.ts new file: server/core/lib/user-import-export/importers/account-importer.ts new file: server/core/lib/user-import-export/importers/channels-importer.ts new file: server/core/lib/user-import-export/importers/dislikes-importer.ts new file: server/core/lib/user-import-export/importers/following-importer.ts new file: server/core/lib/user-import-export/importers/index.ts new file: server/core/lib/user-import-export/importers/likes-importer.ts new file: server/core/lib/user-import-export/importers/review-comments-tag-policies-importer.ts new file: server/core/lib/user-import-export/importers/user-settings-importer.ts new file: server/core/lib/user-import-export/importers/user-video-history-importer.ts new file: server/core/lib/user-import-export/importers/video-playlists-importer.ts new file: server/core/lib/user-import-export/importers/videos-importer.ts new file: server/core/lib/user-import-export/importers/watched-words-lists-importer.ts new file: server/core/lib/user-import-export/user-exporter.ts new file: server/core/lib/user-import-export/user-importer.ts new file: server/core/lib/user.ts new file: server/core/lib/video-blacklist.ts new file: server/core/lib/video-captions.ts new file: server/core/lib/video-channel.ts new file: server/core/lib/video-chapters.ts new file: server/core/lib/video-comment.ts new file: server/core/lib/video-file.ts new file: server/core/lib/video-jobs.ts new file: server/core/lib/video-path-manager.ts new file: server/core/lib/video-playlist.ts new file: server/core/lib/video-pre-import.ts new file: server/core/lib/video-privacy.ts new file: server/core/lib/video-state.ts new file: server/core/lib/video-studio.ts new file: server/core/lib/video-tokens-manager.ts new file: server/core/lib/video-urls.ts new file: server/core/lib/video.ts new file: server/core/lib/views/shared/index.ts new file: server/core/lib/views/shared/video-viewer-counters.ts new file: server/core/lib/views/shared/video-viewer-stats.ts new file: server/core/lib/views/shared/video-views.ts new file: server/core/lib/views/video-views-manager.ts new file: server/core/lib/worker/parent-process.ts new file: server/core/lib/worker/workers/build-digest.ts new file: server/core/lib/worker/workers/get-image-size.ts new file: server/core/lib/worker/workers/http-broadcast.ts new file: server/core/lib/worker/workers/http-unicast.ts new file: server/core/lib/worker/workers/image-downloader.ts new file: server/core/lib/worker/workers/image-processor.ts new file: server/core/lib/worker/workers/sign-json-ld-object.ts new file: server/core/middlewares/activitypub.ts new file: server/core/middlewares/async.ts new file: server/core/middlewares/auth.ts new file: server/core/middlewares/cache/cache.ts new file: server/core/middlewares/cache/index.ts new file: server/core/middlewares/cache/shared/api-cache.ts new file: server/core/middlewares/cache/shared/index.ts new file: server/core/middlewares/csp.ts new file: server/core/middlewares/dnt.ts new file: server/core/middlewares/doc.ts new file: server/core/middlewares/error.ts new file: server/core/middlewares/express.ts new file: server/core/middlewares/index.ts new file: server/core/middlewares/pagination.ts new file: server/core/middlewares/rate-limiter.ts new file: server/core/middlewares/servers.ts new file: server/core/middlewares/sort.ts new file: server/core/middlewares/user-right.ts new file: server/core/middlewares/validators/abuse.ts new file: server/core/middlewares/validators/account.ts new file: server/core/middlewares/validators/activitypub/activity.ts new file: server/core/middlewares/validators/activitypub/index.ts new file: server/core/middlewares/validators/activitypub/pagination.ts new file: server/core/middlewares/validators/activitypub/signature.ts new file: server/core/middlewares/validators/actor-image.ts new file: server/core/middlewares/validators/automatic-tags.ts new file: server/core/middlewares/validators/blocklist.ts new file: server/core/middlewares/validators/bulk.ts new file: server/core/middlewares/validators/config.ts new file: server/core/middlewares/validators/express.ts new file: server/core/middlewares/validators/feeds.ts new file: server/core/middlewares/validators/follows.ts new file: server/core/middlewares/validators/index.ts new file: server/core/middlewares/validators/jobs.ts new file: server/core/middlewares/validators/logs.ts new file: server/core/middlewares/validators/metrics.ts new file: server/core/middlewares/validators/object-storage-proxy.ts new file: server/core/middlewares/validators/oembed.ts new file: server/core/middlewares/validators/pagination.ts new file: server/core/middlewares/validators/plugins.ts new file: server/core/middlewares/validators/redundancy.ts new file: server/core/middlewares/validators/resumable-upload.ts new file: server/core/middlewares/validators/runners/index.ts new file: server/core/middlewares/validators/runners/job-files.ts new file: server/core/middlewares/validators/runners/jobs.ts new file: server/core/middlewares/validators/runners/registration-token.ts new file: server/core/middlewares/validators/runners/runners.ts new file: server/core/middlewares/validators/search.ts new file: server/core/middlewares/validators/server.ts new file: server/core/middlewares/validators/shared/abuses.ts new file: server/core/middlewares/validators/shared/accounts.ts new file: server/core/middlewares/validators/shared/index.ts new file: server/core/middlewares/validators/shared/users.ts new file: server/core/middlewares/validators/shared/utils.ts new file: server/core/middlewares/validators/shared/video-blacklists.ts new file: server/core/middlewares/validators/shared/video-captions.ts new file: server/core/middlewares/validators/shared/video-channel-syncs.ts new file: server/core/middlewares/validators/shared/video-channels.ts new file: server/core/middlewares/validators/shared/video-comments.ts new file: server/core/middlewares/validators/shared/video-imports.ts new file: server/core/middlewares/validators/shared/video-ownerships.ts new file: server/core/middlewares/validators/shared/video-passwords.ts new file: server/core/middlewares/validators/shared/video-playlists.ts new file: server/core/middlewares/validators/shared/videos.ts new file: server/core/middlewares/validators/sort.ts new file: server/core/middlewares/validators/static.ts new file: server/core/middlewares/validators/themes.ts new file: server/core/middlewares/validators/two-factor.ts new file: server/core/middlewares/validators/users/index.ts new file: server/core/middlewares/validators/users/shared/index.ts new file: server/core/middlewares/validators/users/shared/user-registrations.ts new file: server/core/middlewares/validators/users/user-email-verification.ts new file: server/core/middlewares/validators/users/user-exports.ts new file: server/core/middlewares/validators/users/user-history.ts new file: server/core/middlewares/validators/users/user-import.ts new file: server/core/middlewares/validators/users/user-notifications.ts new file: server/core/middlewares/validators/users/user-registrations.ts new file: server/core/middlewares/validators/users/user-subscriptions.ts new file: server/core/middlewares/validators/users/users.ts new file: server/core/middlewares/validators/videos/index.ts new file: server/core/middlewares/validators/videos/shared/index.ts new file: server/core/middlewares/validators/videos/shared/upload.ts new file: server/core/middlewares/validators/videos/shared/video-validators.ts new file: server/core/middlewares/validators/videos/video-blacklist.ts new file: server/core/middlewares/validators/videos/video-captions.ts new file: server/core/middlewares/validators/videos/video-channel-sync.ts new file: server/core/middlewares/validators/videos/video-channels.ts new file: server/core/middlewares/validators/videos/video-chapters.ts new file: server/core/middlewares/validators/videos/video-comments.ts new file: server/core/middlewares/validators/videos/video-files.ts new file: server/core/middlewares/validators/videos/video-imports.ts new file: server/core/middlewares/validators/videos/video-live.ts new file: server/core/middlewares/validators/videos/video-ownership-changes.ts new file: server/core/middlewares/validators/videos/video-passwords.ts new file: server/core/middlewares/validators/videos/video-playlists.ts new file: server/core/middlewares/validators/videos/video-rates.ts new file: server/core/middlewares/validators/videos/video-shares.ts new file: server/core/middlewares/validators/videos/video-source.ts new file: server/core/middlewares/validators/videos/video-stats.ts new file: server/core/middlewares/validators/videos/video-studio.ts new file: server/core/middlewares/validators/videos/video-token.ts new file: server/core/middlewares/validators/videos/video-transcoding.ts new file: server/core/middlewares/validators/videos/video-view.ts new file: server/core/middlewares/validators/videos/videos.ts new file: server/core/middlewares/validators/watched-words.ts new file: server/core/middlewares/validators/webfinger.ts new file: server/core/models/abuse/abuse-message.ts new file: server/core/models/abuse/abuse.ts new file: server/core/models/abuse/sql/abuse-query-builder.ts new file: server/core/models/abuse/video-abuse.ts new file: server/core/models/abuse/video-comment-abuse.ts new file: server/core/models/account/account-blocklist.ts new file: server/core/models/account/account-video-rate.ts new file: server/core/models/account/account.ts new file: server/core/models/account/actor-custom-page.ts new file: server/core/models/actor/actor-follow.ts new file: server/core/models/actor/actor-image.ts new file: server/core/models/actor/actor.ts new file: server/core/models/actor/sql/instance-list-followers-query-builder.ts new file: server/core/models/actor/sql/instance-list-following-query-builder.ts new file: server/core/models/actor/sql/shared/actor-follow-table-attributes.ts new file: server/core/models/actor/sql/shared/instance-list-follows-query-builder.ts new file: server/core/models/application/application.ts new file: server/core/models/automatic-tag/account-automatic-tag-policy.ts new file: server/core/models/automatic-tag/automatic-tag.ts new file: server/core/models/automatic-tag/comment-automatic-tag.ts new file: server/core/models/automatic-tag/video-automatic-tag.ts new file: server/core/models/oauth/oauth-client.ts new file: server/core/models/oauth/oauth-token.ts new file: server/core/models/redundancy/video-redundancy.ts new file: server/core/models/runner/runner-job.ts new file: server/core/models/runner/runner-registration-token.ts new file: server/core/models/runner/runner.ts new file: server/core/models/server/plugin.ts new file: server/core/models/server/server-blocklist.ts new file: server/core/models/server/server.ts new file: server/core/models/server/tracker.ts new file: server/core/models/server/video-tracker.ts new file: server/core/models/shared/abstract-run-query.ts new file: server/core/models/shared/index.ts new file: server/core/models/shared/model-builder.ts new file: server/core/models/shared/model-cache.ts new file: server/core/models/shared/query.ts new file: server/core/models/shared/sequelize-helpers.ts new file: server/core/models/shared/sequelize-type.ts new file: server/core/models/shared/sort.ts new file: server/core/models/shared/sql.ts new file: server/core/models/shared/update.ts new file: server/core/models/user/sql/user-notitication-list-query-builder.ts new file: server/core/models/user/user-export.ts new file: server/core/models/user/user-import.ts new file: server/core/models/user/user-notification-setting.ts new file: server/core/models/user/user-notification.ts new file: server/core/models/user/user-registration.ts new file: server/core/models/user/user-video-history.ts new file: server/core/models/user/user.ts new file: server/core/models/video/formatter/index.ts new file: server/core/models/video/formatter/shared/index.ts new file: server/core/models/video/formatter/shared/video-format-utils.ts new file: server/core/models/video/formatter/video-activity-pub-format.ts new file: server/core/models/video/formatter/video-api-format.ts new file: server/core/models/video/schedule-video-update.ts new file: server/core/models/video/sql/comment/video-comment-list-query-builder.ts new file: server/core/models/video/sql/comment/video-comment-table-attributes.ts new file: server/core/models/video/sql/video/index.ts new file: server/core/models/video/sql/video/shared/abstract-video-query-builder.ts new file: server/core/models/video/sql/video/shared/video-file-query-builder.ts new file: server/core/models/video/sql/video/shared/video-model-builder.ts new file: server/core/models/video/sql/video/shared/video-table-attributes.ts new file: server/core/models/video/sql/video/video-model-get-query-builder.ts new file: server/core/models/video/sql/video/videos-id-list-query-builder.ts new file: server/core/models/video/sql/video/videos-model-list-query-builder.ts new file: server/core/models/video/storyboard.ts new file: server/core/models/video/tag.ts new file: server/core/models/video/thumbnail.ts new file: server/core/models/video/video-blacklist.ts new file: server/core/models/video/video-caption.ts new file: server/core/models/video/video-change-ownership.ts new file: server/core/models/video/video-channel-sync.ts new file: server/core/models/video/video-channel.ts new file: server/core/models/video/video-chapter.ts new file: server/core/models/video/video-comment.ts new file: server/core/models/video/video-file.ts new file: server/core/models/video/video-import.ts new file: server/core/models/video/video-job-info.ts new file: server/core/models/video/video-live-replay-setting.ts new file: server/core/models/video/video-live-session.ts new file: server/core/models/video/video-live.ts new file: server/core/models/video/video-password.ts new file: server/core/models/video/video-playlist-element.ts new file: server/core/models/video/video-playlist.ts new file: server/core/models/video/video-share.ts new file: server/core/models/video/video-source.ts new file: server/core/models/video/video-streaming-playlist.ts new file: server/core/models/video/video-tag.ts new file: server/core/models/video/video.ts new file: server/core/models/view/local-video-viewer-watch-section.ts new file: server/core/models/view/local-video-viewer.ts new file: server/core/models/view/video-view.ts new file: server/core/models/watched-words/watched-words-list.ts new file: server/core/static/dnt-policy/dnt-policy-1.0.txt new file: server/core/types/activitypub-processor.model.ts new file: server/core/types/express-handler.ts new file: server/core/types/express.d.ts new file: server/core/types/index.ts new file: server/core/types/lib.d.ts new file: server/core/types/models/abuse/abuse-message.ts new file: server/core/types/models/abuse/abuse.ts new file: server/core/types/models/abuse/index.ts new file: server/core/types/models/account/account-blocklist.ts new file: server/core/types/models/account/account.ts new file: server/core/types/models/account/actor-custom-page.ts new file: server/core/types/models/account/index.ts new file: server/core/types/models/actor/actor-follow.ts new file: server/core/types/models/actor/actor-image.ts new file: server/core/types/models/actor/actor.ts new file: server/core/types/models/actor/index.ts new file: server/core/types/models/application/application.ts new file: server/core/types/models/application/index.ts new file: server/core/types/models/automatic-tag/account-automatic-tag-policy.ts new file: server/core/types/models/automatic-tag/automatic-tag.ts new file: server/core/types/models/automatic-tag/comment-automatic-tag.ts new file: server/core/types/models/automatic-tag/index.ts new file: server/core/types/models/automatic-tag/video-automatic-tag.ts new file: server/core/types/models/index.ts new file: server/core/types/models/oauth/index.ts new file: server/core/types/models/oauth/oauth-client.ts new file: server/core/types/models/oauth/oauth-token.ts new file: server/core/types/models/runners/index.ts new file: server/core/types/models/runners/runner-job.ts new file: server/core/types/models/runners/runner-registration-token.ts new file: server/core/types/models/runners/runner.ts new file: server/core/types/models/server/index.ts new file: server/core/types/models/server/plugin.ts new file: server/core/types/models/server/server-blocklist.ts new file: server/core/types/models/server/server.ts new file: server/core/types/models/server/tracker.ts new file: server/core/types/models/user/index.ts new file: server/core/types/models/user/user-export.ts new file: server/core/types/models/user/user-import.ts new file: server/core/types/models/user/user-notification-setting.ts new file: server/core/types/models/user/user-notification.ts new file: server/core/types/models/user/user-registration.ts new file: server/core/types/models/user/user-video-history.ts new file: server/core/types/models/user/user.ts new file: server/core/types/models/video/index.ts new file: server/core/types/models/video/local-video-viewer-watch-section.ts new file: server/core/types/models/video/local-video-viewer.ts new file: server/core/types/models/video/schedule-video-update.ts new file: server/core/types/models/video/storyboard.ts new file: server/core/types/models/video/tag.ts new file: server/core/types/models/video/thumbnail.ts new file: server/core/types/models/video/video-blacklist.ts new file: server/core/types/models/video/video-caption.ts new file: server/core/types/models/video/video-change-ownership.ts new file: server/core/types/models/video/video-channel-sync.ts new file: server/core/types/models/video/video-channel.ts new file: server/core/types/models/video/video-chapter.ts new file: server/core/types/models/video/video-comment.ts new file: server/core/types/models/video/video-file.ts new file: server/core/types/models/video/video-import.ts new file: server/core/types/models/video/video-password.ts new file: server/core/types/models/video/video-playlist-element.ts new file: server/core/types/models/video/video-playlist.ts new file: server/core/types/models/video/video-rate.ts new file: server/core/types/models/video/video-redundancy.ts new file: server/core/types/models/video/video-share.ts new file: server/core/types/models/video/video-source.ts new file: server/core/types/models/video/video-streaming-playlist.ts new file: server/core/types/models/video/video.ts new file: server/core/types/models/watched-words/index.ts new file: server/core/types/models/watched-words/watched-words-list.ts new file: server/core/types/plugins/index.ts new file: server/core/types/plugins/plugin-library.model.ts new file: server/core/types/plugins/register-server-auth.model.ts new file: server/core/types/plugins/register-server-option.model.ts new file: server/core/types/plugins/register-server-websocket-route.model.ts new file: server/core/types/sequelize.ts new file: server/package.json new file: server/scripts/create-generate-storyboard-job.ts new file: server/scripts/create-import-video-file-job.ts new file: server/scripts/create-move-video-storage-job.ts new file: server/scripts/house-keeping.ts new file: server/scripts/parse-log.ts new file: server/scripts/plugin/install.ts new file: server/scripts/plugin/uninstall.ts new file: server/scripts/prune-storage.ts new file: server/scripts/regenerate-thumbnails.ts new file: server/scripts/reset-password.ts new file: server/scripts/shared/common.ts new file: server/scripts/update-host.ts new file: server/scripts/update-object-storage-url.ts new file: server/scripts/upgrade.sh new file: server/server.ts new file: server/tsconfig.json new file: server/tsconfig.lib.json new file: server/tsconfig.types.json new file: support/doc/api/embeds.md new file: support/doc/api/openapi.yaml new file: support/doc/api/quickstart.md new file: support/doc/dependencies.md new file: support/doc/development/ci.md new file: support/doc/development/lib.md new file: support/doc/development/localization.md new file: support/doc/development/monitoring.md new file: support/doc/development/release.md new file: support/doc/development/server.md new file: support/doc/development/tests.md new file: support/doc/docker.md new file: support/doc/plugins/guide.md new file: support/doc/production.md new file: support/doc/tools.md new file: support/doc/translation.md new file: support/docker/gitpod/Dockerfile new file: support/docker/gitpod/setup_postgres.sql new file: support/docker/production/.env new file: support/docker/production/.gitignore new file: support/docker/production/Dockerfile.bookworm new file: support/docker/production/Dockerfile.nginx new file: support/docker/production/config/custom-environment-variables.yaml new file: support/docker/production/config/production.yaml new file: support/docker/production/docker-compose.yml new file: support/docker/production/entrypoint.nginx.sh new file: support/docker/production/entrypoint.sh new file: support/freebsd/peertube new file: support/init.d/peertube new file: support/nginx/peertube new file: support/openapi/go/README.mustache new file: support/openapi/go/def.yaml new file: support/openapi/kotlin/README.mustache new file: support/openapi/kotlin/def.yaml new file: support/openapi/python/README.mustache new file: support/openapi/python/def.yaml new file: support/sysctl.d/30-peertube-tcp.conf new file: support/systemd/peertube.service new file: tsconfig.base.json new file: tsconfig.eslint.json new file: yarn.lock
3 months ago
import { readJsonSync, writeJSON } from 'fs-extra/esm'
import { join } from 'path'
import { I18N_LOCALES, USER_ROLE_LABELS } from '@peertube/peertube-core-utils'
import { root } from '@peertube/peertube-node-utils'
import {
ABUSE_STATES,
buildLanguages,
RUNNER_JOB_STATES,
USER_EXPORT_STATES,
USER_REGISTRATION_STATES,
VIDEO_CATEGORIES,
VIDEO_CHANNEL_SYNC_STATE,
VIDEO_IMPORT_STATES,
VIDEO_LICENCES,
VIDEO_PLAYLIST_PRIVACIES,
VIDEO_PLAYLIST_TYPES,
VIDEO_PRIVACIES,
USER_IMPORT_STATES,
VIDEO_STATES
} from '@peertube/peertube-server/core/initializers/constants.js'
const videojs = readJsonSync(join(root(), 'client', 'src', 'locale', 'videojs.en-US.json'))
const playerKeys = {
'Quality': 'Quality',
'Auto': 'Auto',
'Speed': 'Speed',
'Subtitles/CC': 'Subtitles/CC',
'peers': 'peers',
'peer': 'peer',
'Go to the video page': 'Go to the video page',
'Settings': 'Settings',
'Watching this video may reveal your IP address to others.': 'Watching this video may reveal your IP address to others.',
'Copy the video URL': 'Copy the video URL',
'Copy the video URL at the current time': 'Copy the video URL at the current time',
'Copy embed code': 'Copy embed code',
'Copy magnet URI': 'Copy magnet URI',
'Total downloaded: ': 'Total downloaded: ',
'Total uploaded: ': 'Total uploaded: ',
'From servers: ': 'From servers: ',
'From peers: ': 'From peers: ',
'Normal mode': 'Normal mode',
'Stats for nerds': 'Stats for nerds',
'Theater mode': 'Theater mode',
'Video UUID': 'Video UUID',
'Viewport / Frames': 'Viewport / Frames',
'Resolution': 'Resolution',
'Volume': 'Volume',
'Codecs': 'Codecs',
'Color': 'Color',
'Go back to the live': 'Go back to the live',
'Connection Speed': 'Connection Speed',
'Network Activity': 'Network Activity',
'Total Transfered': 'Total Transfered',
'Download Breakdown': 'Download Breakdown',
'Buffer Progress': 'Buffer Progress',
'Buffer State': 'Buffer State',
'Live Latency': 'Live Latency',
'P2P': 'P2P',
'{1} seconds': '{1} seconds',
'enabled': 'enabled',
'Playlist: {1}': 'Playlist: {1}',
'disabled': 'disabled',
' off': ' off',
'Player mode': 'Player mode',
'Play in loop': 'Play in loop',
'This live is not currently streaming.': 'This live is not currently streaming.',
'This live has ended.': 'This live has ended.',
'The video failed to play, will try to fast forward.': 'The video failed to play, will try to fast forward.',
'{1} / {2} dropped of {3}': '{1} / {2} dropped of {3}',
' (muted)': ' (muted)',
'{1} from servers · {2} from peers': '{1} from servers · {2} from peers',
'Previous video': 'Previous video',
'Video page (new window)': 'Video page (new window)',
'Next video': 'Next video',
'This video is password protected': 'This video is password protected',
'You need a password to watch this video.': 'You need a password to watch this video.',
'Incorrect password, please enter a correct password': 'Incorrect password, please enter a correct password',
'Cancel': 'Cancel',
'Up Next': 'Up Next',
'Autoplay is suspended': 'Autoplay is suspended',
'{1} (from edge: {2})': '{1} (from edge: {2})',
'Disable subtitles': 'Disable subtitles',
'Enable {1} subtitle': 'Enable {1} subtitle',
'{1} (auto-generated)': '{1} (auto-generated)',
'Go back': 'Go back',
'Audio only': 'Audio only'
}
Object.assign(playerKeys, videojs)
// Server keys
const serverKeys: any = {}
Object.values(VIDEO_CATEGORIES)
.concat(Object.values(VIDEO_LICENCES))
.concat(Object.values(VIDEO_PRIVACIES))
.concat(Object.values(VIDEO_STATES))
.concat(Object.values(VIDEO_IMPORT_STATES))
.concat(Object.values(VIDEO_PLAYLIST_PRIVACIES))
.concat(Object.values(VIDEO_PLAYLIST_TYPES))
.concat(Object.values(USER_ROLE_LABELS))
.concat(Object.values(VIDEO_CHANNEL_SYNC_STATE))
.concat(Object.values(ABUSE_STATES))
.concat(Object.values(USER_REGISTRATION_STATES))
.concat(Object.values(RUNNER_JOB_STATES))
.concat(Object.values(USER_EXPORT_STATES))
.concat(Object.values(USER_IMPORT_STATES))
.concat([
'This video does not exist.',
'We cannot fetch the video. Please try again later.',
'Sorry',
'This video is not available because the remote instance is not responding.',
'This playlist does not exist',
'We cannot fetch the playlist. Please try again later.',
'Playlist: {1}',
'By {1}',
'Unavailable video'
])
.forEach(v => { serverKeys[v] = v })
// More keys
Object.assign(serverKeys, {
Unknown: 'Unknown'
})
// ISO 639 keys
const languageKeys: any = {}
const languages = buildLanguages()
Object.keys(languages).forEach(k => { languageKeys[languages[k]] = languages[k] })
Object.assign(serverKeys, languageKeys)
writeAll().catch(err => {
console.error(err)
process.exit(-1)
})
async function writeAll () {
const localePath = join(root(), 'client', 'src', 'locale')
await writeJSON(join(localePath, 'player.en-US.json'), playerKeys, { spaces: 4 })
await writeJSON(join(localePath, 'server.en-US.json'), serverKeys, { spaces: 4 })
for (const key of Object.keys(I18N_LOCALES)) {
const playerJsonPath = join(localePath, `player.${key}.json`)
const translatedPlayer = readJsonSync(playerJsonPath)
const newTranslatedPlayer = Object.assign({}, playerKeys, translatedPlayer)
await writeJSON(playerJsonPath, newTranslatedPlayer, { spaces: 4 })
const serverJsonPath = join(localePath, `server.${key}.json`)
const translatedServer = readJsonSync(serverJsonPath)
const newTranslatedServer = Object.assign({}, serverKeys, translatedServer)
await writeJSON(serverJsonPath, newTranslatedServer, { spaces: 4 })
}
}