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.

64 lines
2.5 KiB
Markdown

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
# Translation
We use [Weblate](https://weblate.org) as translation platform.
Please do not edit translation files directly from Git, you have to use Weblate!
If you don't see your locale in the platform you can add it directly in the Weblate interface.
Then, if you think there are enough translated strings, please [create an issue](https://github.com/Chocobozzz/PeerTube/issues) so we add the new locale in PeerTube!
Translations are manually pulled and merged in PeerTube software and are publicly available in the next official release.
You can get a chance to see translations before the official release by going to https://peertube2.cpy.re which is updated every night with the latest PeerTube changes.
## How to
* Create an account: https://weblate.framasoft.org/accounts/register/
* Validate your email and follow the link sent
* Create your password (keep the `Current password` field empty) and setup your account
* Go to the PeerTube page https://weblate.framasoft.org/projects/peertube/
* Choose the file and the locale you want to translate
## Files
There are 4 files:
* **angular**: contains client strings
* **player**: contains player strings.
Most of the strings come from VideoJS, so you can help yourself by using [video.js JSON files](https://github.com/videojs/video.js/tree/master/lang)
* **server**: contains server strings (privacies, licences...) and iso639 (languages) strings used by PeerTube to describe the audio language of a particular video.
It's the reason why these strings should be translated too. There are many strings so do not hesitate to translate only main audio languages.
## Tips
### Special tags
You must not translate special tags like `<x id="INTERPOLATION" ... />`.
For example:
```
<x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views
```
should be in french
```
<x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues
```
### Singular/plural
For singular/plural translations, you must translate values inside `{` and `}`. **Please don't translate the word *other***
For example:
```
{VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other {<x id="INTERPOLATION" equiv-text="{{ playlist.videosLength }}"/> videos} }
```
should be in french
```
{VAR_PLURAL, plural, =0 {Aucune vidéo} =1 {1 vidéo} other {<x id="INTERPOLATION" equiv-text="{{ playlist.videosLength }}"/> vidéos} }
```