diff --git a/client/src/app/+about/about-instance/contact-admin-modal.component.ts b/client/src/app/+about/about-instance/contact-admin-modal.component.ts
index 2f707bd53..7d79c2215 100644
--- a/client/src/app/+about/about-instance/contact-admin-modal.component.ts
+++ b/client/src/app/+about/about-instance/contact-admin-modal.component.ts
@@ -1,5 +1,5 @@
import { Component, OnInit, ViewChild } from '@angular/core'
-import { Notifier } from '@app/core'
+import { Notifier, ServerService } from '@app/core'
import { I18n } from '@ngx-translate/i18n-polyfill'
import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
@@ -24,12 +24,17 @@ export class ContactAdminModalComponent extends FormReactive implements OnInit {
private modalService: NgbModal,
private instanceValidatorsService: InstanceValidatorsService,
private instanceService: InstanceService,
+ private serverService: ServerService,
private notifier: Notifier,
private i18n: I18n
) {
super()
}
+ get instanceName () {
+ return this.serverService.getConfig().instance.name
+ }
+
ngOnInit () {
this.buildForm({
fromName: this.instanceValidatorsService.FROM_NAME,
diff --git a/client/src/app/shared/forms/form-reactive.ts b/client/src/app/shared/forms/form-reactive.ts
index 2d0e8359f..b9873af2c 100644
--- a/client/src/app/shared/forms/form-reactive.ts
+++ b/client/src/app/shared/forms/form-reactive.ts
@@ -11,7 +11,7 @@ export abstract class FormReactive {
protected formChanged = false
form: FormGroup
- formErrors: FormReactiveErrors
+ formErrors: any // To avoid casting in template because of string | FormReactiveErrors
validationMessages: FormReactiveValidationMessages
buildForm (obj: BuildFormArgument, defaultValues: BuildFormDefaultValues = {}) {
diff --git a/client/src/locale/source/angular_en_US.xml b/client/src/locale/source/angular_en_US.xml
index 7ebdd8e07..d61d4f9f2 100644
--- a/client/src/locale/source/angular_en_US.xml
+++ b/client/src/locale/source/angular_en_US.xml
@@ -210,7 +210,7 @@
app/login/login.component.html
- 72
+ 77
app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html
@@ -226,6 +226,113 @@
app/shared/forms/reactive-file.component.html
11
+
+
+
+ app/shared/users/user-notifications.component.html
+ 1
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 7
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 11
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 15
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 19
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 23
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 27
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 31
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 35
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 39
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 43
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 52
+
+
+
+
+ app/shared/users/user-notifications.component.html
+ 57
+
@@ -256,7 +363,7 @@
app/videos/+video-edit/shared/video-edit.component.html
- 161
+ 162
app/videos/+video-watch/video-watch.component.html
@@ -412,7 +519,7 @@
app/videos/+video-watch/modal/video-report.component.html
- 11
+ 16
app/videos/+video-watch/modal/video-blacklist.component.html
@@ -432,6 +539,12 @@
app/shared/moderation/user-ban-modal.component.html
25
+
+
+
+ app/shared/menu/top-menu-dropdown.component.html
+ 11
+
@@ -536,7 +649,7 @@
app/menu/menu.component.html
- 38
+ 36
@@ -544,11 +657,19 @@
app/login/login.component.html
57
+
+
+
+ app/login/login.component.html
+ 63
+
app/login/login.component.html
- 63
+ 68
app/signup/signup.component.html
@@ -570,6 +691,10 @@
app/+admin/users/user-list/user-list.component.html
41
+
+ app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html
+ 4
+
app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html
8
@@ -578,7 +703,7 @@
app/login/login.component.html
- 65
+ 70
app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html
@@ -588,7 +713,7 @@
app/login/login.component.html
- 75
+ 80
@@ -721,7 +846,15 @@
app/menu/menu.component.html
- 88
+ 86
+
+
+
+
+ app/menu/language-chooser.component.html
+ 8
app/menu/menu.component.html
- 18
+ 16
app/menu/menu.component.html
- 22
+ 20
app/menu/menu.component.html
- 26
+ 24
app/menu/menu.component.html
- 30
+ 28
app/menu/menu.component.html
- 39
+ 37
app/menu/menu.component.html
- 43
+ 41
app/+accounts/accounts.component.html
@@ -779,49 +912,49 @@
app/menu/menu.component.html
- 47
+ 45
app/menu/menu.component.html
- 52
+ 50
app/menu/menu.component.html
- 57
+ 55
app/menu/menu.component.html
- 62
+ 60
app/menu/menu.component.html
- 67
+ 65
app/menu/menu.component.html
- 72
+ 70
app/menu/menu.component.html
- 76
+ 74
app/menu/menu.component.html
- 81
+ 79
app/+accounts/accounts.component.html
@@ -835,13 +968,41 @@
app/menu/menu.component.html
- 91
+ 89
app/menu/menu.component.html
- 94
+ 92
+
+
+
+
+ app/menu/avatar-notification.component.html
+ 3
+
+
+
+
+ app/menu/avatar-notification.component.html
+ 12
+
+
+ app/+my-account/my-account-settings/my-account-settings.component.html
+ 10
+
+
+
+
+ app/menu/avatar-notification.component.html
+ 15
+
+
+
+
+ app/menu/avatar-notification.component.html
+ 22
@@ -1067,19 +1228,85 @@
app/+about/about.component.html
7
-
+
+
+
+ app/+about/about-instance/contact-admin-modal.component.html
+ 3
+
+
+
+
+ app/+about/about-instance/contact-admin-modal.component.html
+ 11
+
+
+
+
+ app/+about/about-instance/contact-admin-modal.component.html
+ 20
+
+
+
+
+ app/+about/about-instance/contact-admin-modal.component.html
+ 29
+
+
+ Cancel
+
+
+ app/+about/about-instance/contact-admin-modal.component.html
+ 38
+
+
+ app/videos/+video-watch/modal/video-report.component.html
+ 24
+
+
+ app/videos/+video-watch/modal/video-blacklist.component.html
+ 19
+
+
+
+
+ app/+about/about-instance/contact-admin-modal.component.html
+ 43
+
+
+ app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html
+ 25
+
+
+ app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html
+ 28
+
+
+ app/videos/+video-watch/modal/video-report.component.html
+ 29
+
+
+ app/videos/+video-watch/modal/video-blacklist.component.html
+ 24
+
+
+
app/+about/about-instance/about-instance.component.html
- 1
+ 4
+
+
+
+
+ app/+about/about-instance/about-instance.component.html
+ 6
app/+about/about-instance/about-instance.component.html
- 10
+ 14
app/+accounts/account-about/account-about.component.html
@@ -1087,7 +1314,7 @@
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 33
+ 30
app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html
@@ -1113,41 +1340,41 @@
app/+about/about-instance/about-instance.component.html
- 16
+ 20
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 44
+ 39
app/+about/about-instance/about-instance.component.html
- 25
+ 29
-
+
-
- app/+about/about-instance/about-instance.component.html
- 27
-
-
-
+ this instance provides a baseline quota of <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> space for the videos of its users.
+
app/+about/about-instance/about-instance.component.html
31
-
+
+ this instance provides unlimited space for the videos of its users.
+
app/+about/about-instance/about-instance.component.html
- 36
+ 35
+
+
+
+
+ app/+about/about-instance/about-instance.component.html
+ 40
Default client route
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 55
+ 48
Videos Overview
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 58
+ 51
Videos Trending
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 59
+ 52
Videos Recently Added
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 60
+ 53
Local videos
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 61
+ 54
Policy on videos containing sensitive content
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 70
+ 61
With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video.
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 73
+ 64
app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html
@@ -1503,7 +1730,7 @@
Do not list
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 78
+ 69
app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html
@@ -1513,7 +1740,7 @@
Blur thumbnails
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 79
+ 70
app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html
@@ -1523,7 +1750,7 @@
Display
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 80
+ 71
app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html
@@ -1533,25 +1760,43 @@
Signup enabled
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 93
+ 84
Signup requires email verification
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 100
+ 91
Signup limit
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.html
+ 96
+
+
+ Users
app/+admin/config/edit-custom-config/edit-custom-config.component.html
105
+
+ User default video quota
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.html
+ 109
+
+
+ User default daily upload limit
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.html
+ 121
+
Import
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 115
+ 133
app/videos/+video-edit/video-add-components/video-import-url.component.html
@@ -1565,43 +1810,31 @@
Video import with HTTP URL (i.e. YouTube) enabled
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 120
+ 141
Video import with a torrent file or a magnet URI enabled
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 127
+ 148
Administrator
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 131
+ 155
Admin email
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 134
+ 158
-
- Users
+
+ Enable contact form
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 144
-
-
- User default video quota
-
- app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 147
-
-
- User default daily upload limit
-
- app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 161
+ 169
Basic configuration
@@ -1619,27 +1852,27 @@
Your Twitter username
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 181
+ 184
Indicates the Twitter account for the website or platform on which the content was published.
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 184
+ 187
Instance whitelisted by Twitter
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 198
+ 199
-
+
If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br />
- If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br />
- Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted.
+ If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br />
+ Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted.
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 199
+ 200
Services
@@ -1651,31 +1884,43 @@
Transcoding
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 210
+ 215
Transcoding enabled
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 215
+ 221
If you disable transcoding, many videos from your users will not work!
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 216
+ 222
+
+
+ Allow additional extensions
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.html
+ 231
+
+
+ Allow your users to upload .mkv, .mov, .avi, .flv videos
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.html
+ 232
Transcoding threads
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 223
+ 237
Resolution <x id="INTERPOLATION" equiv-text="{{resolution}}"/> enabled
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 239
+ 252
@@ -1685,81 +1930,81 @@
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 244
+ 260
Some files are not federated (previews, captions). We fetch them directly from the origin instance and cache them.
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 249
+ 265
Previews cache size
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 254
+ 271
Video captions cache size
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 265
+ 280
Customizations
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 275
+ 289
JavaScript
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 278
+ 294
Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre>
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 281
+ 297
-
+
- Write directly CSS code. Example:<br />
- <pre>
- body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/>
- background-color: red;
- <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
- </pre>
+ Write directly CSS code. Example:<br />
+ <pre>
+ body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/>
+ background-color: red;
+ <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
+ </pre>
- Prepend with <em>#custom-css</em> to override styles. Example:
- <pre>
- #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/>
- color: red;
- <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
- </pre>
-
+ Prepend with <em>#custom-css</em> to override styles. Example:
+ <pre>
+ #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/>
+ color: red;
+ <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/>
+ </pre>
+
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 297
+ 311
Advanced configuration
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 207
+ 212
Update configuration
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 325
+ 340
It seems the configuration is invalid. Please search potential errors in the different tabs.
app/+admin/config/edit-custom-config/edit-custom-config.component.html
- 326
+ 341
@@ -2256,10 +2501,6 @@
app/+admin/moderation/moderation.component.html
9
-
- app/+my-account/my-account.component.html
- 29
-
app/+my-account/my-account-blocklist/my-account-blocklist.component.html
2
@@ -2316,64 +2557,6 @@
app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html
23
-
- My settings
-
- app/+my-account/my-account.component.html
- 3
-
-
- My library
-
- app/+my-account/my-account.component.html
- 7
-
-
- My channels
-
- app/+my-account/my-account.component.html
- 12
-
-
- My videos
-
- app/+my-account/my-account.component.html
- 14
-
-
- My subscriptions
-
- app/+my-account/my-account.component.html
- 16
-
-
- My imports
-
- app/+my-account/my-account.component.html
- 18
-
-
- Misc
-
- app/+my-account/my-account.component.html
- 24
-
-
- Muted instances
-
- app/+my-account/my-account.component.html
- 31
-
-
- app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html
- 2
-
-
- Ownership changes
-
- app/+my-account/my-account.component.html
- 33
-
Video quota:
@@ -2384,19 +2567,19 @@
Profile
app/+my-account/my-account-settings/my-account-settings.component.html
- 8
+ 7
Video settings
app/+my-account/my-account-settings/my-account-settings.component.html
- 15
+ 16
Danger zone
app/+my-account/my-account-settings/my-account-settings.component.html
- 18
+ 19
Change ownership
@@ -2430,24 +2613,6 @@
app/videos/+video-edit/shared/video-caption-add-modal.component.html
35
-
- Submit
-
- app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html
- 25
-
-
- app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html
- 28
-
-
- app/videos/+video-watch/modal/video-report.component.html
- 24
-
-
- app/videos/+video-watch/modal/video-blacklist.component.html
- 24
-
<x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views
@@ -2612,6 +2777,48 @@ When you will upload a video in this channel, the video support field will be au
app/+my-account/my-account-ownership/my-account-ownership.component.html
47
+
+ Muted instances
+
+ app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html
+ 2
+
+
+ History enabled
+
+ app/+my-account/my-account-history/my-account-history.component.html
+ 4
+
+
+ Delete history
+
+ app/+my-account/my-account-history/my-account-history.component.html
+ 8
+
+
+ You don't have videos history yet.
+
+ app/+my-account/my-account-history/my-account-history.component.html
+ 13
+
+
+ <x id="INTERPOLATION" equiv-text="{{ video.views | myNumberFormatter }}"/> views
+
+ app/+my-account/my-account-history/my-account-history.component.html
+ 22
+
+
+ Notification preferences
+
+ app/+my-account/my-account-notifications/my-account-notifications.component.html
+ 2
+
+
+ Mark all as read
+
+ app/+my-account/my-account-notifications/my-account-notifications.component.html
+ 4
+
Change password
@@ -2700,6 +2907,18 @@ When you will upload a video in this channel, the video support field will be au
app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html
4
+
+ Activities
+
+ app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html
+ 2
+
+
+ Web
+
+ app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html
+ 3
+
Sorry, but we couldn't find the page you were looking for.
@@ -2874,13 +3093,13 @@ When you will upload a video in this channel, the video support field will be au
Publish will be available when upload is finished
app/videos/+video-edit/video-add-components/video-upload.component.html
- 53
+ 54
Publish
app/videos/+video-edit/video-add-components/video-upload.component.html
- 60
+ 61
Select the torrent to import
@@ -3038,13 +3257,13 @@ When you will upload a video in this channel, the video support field will be au
Wait transcoding before publishing the video
app/videos/+video-edit/shared/video-edit.component.html
- 130
+ 131
If you decide not to wait for transcoding before publishing the video, it could be unplayable until transcoding ends.
app/videos/+video-edit/shared/video-edit.component.html
- 131
+ 132
Basic info
@@ -3056,43 +3275,43 @@ When you will upload a video in this channel, the video support field will be au
Add another caption
app/videos/+video-edit/shared/video-edit.component.html
- 146
+ 147
See the subtitle file
app/videos/+video-edit/shared/video-edit.component.html
- 155
+ 156
Already uploaded ✔
app/videos/+video-edit/shared/video-edit.component.html
- 159
+ 160
Will be created on update
app/videos/+video-edit/shared/video-edit.component.html
- 167
+ 168
Cancel create
app/videos/+video-edit/shared/video-edit.component.html
- 169
+ 170
Will be deleted on update
app/videos/+video-edit/shared/video-edit.component.html
- 175
+ 176
Cancel deletion
app/videos/+video-edit/shared/video-edit.component.html
- 177
+ 178
@@ -3100,31 +3319,31 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-edit/shared/video-edit.component.html
- 182
+ 183
Captions
app/videos/+video-edit/shared/video-edit.component.html
- 139
+ 140
Upload thumbnail
app/videos/+video-edit/shared/video-edit.component.html
- 195
+ 196
Upload preview
app/videos/+video-edit/shared/video-edit.component.html
- 202
+ 203
Support
app/videos/+video-edit/shared/video-edit.component.html
- 208
+ 209
app/videos/+video-watch/modal/video-support.component.html
@@ -3138,13 +3357,13 @@ When you will upload a video in this channel, the video support field will be au
Short text to tell people how they can support you (membership platform...).
app/videos/+video-edit/shared/video-edit.component.html
- 209
+ 210
Advanced settings
app/videos/+video-edit/shared/video-edit.component.html
- 190
+ 191
@@ -3206,17 +3425,14 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/modal/video-report.component.html
3
-
+
- Cancel
-
+ Your report will be sent to moderators of <x id="INTERPOLATION" equiv-text="{{ currentHost }}"/>.
+ <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/> It will be forwarded to origin instance <x id="INTERPOLATION_1" equiv-text="{{ originHost }}"/> too.<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/>
+
app/videos/+video-watch/modal/video-report.component.html
- 19
-
-
- app/videos/+video-watch/modal/video-blacklist.component.html
- 19
+ 9
Share
@@ -3531,13 +3747,27 @@ When you will upload a video in this channel, the video support field will be au
14
-
- Error getting about from server
+
+ Cannot get about information from server
src/app/+about/about-instance/about-instance.component.ts
1
+
+ Your message has been sent.
+
+ src/app/+about/about-instance/contact-admin-modal.component.ts
+ 1
+
+
+
+ You already sent this form recently
+
+ src/app/+about/about-instance/contact-admin-modal.component.ts
+ 1
+
+
No description
@@ -3571,345 +3801,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Error
-
- src/app/+accounts/accounts.component.ts
- 1
-
-
- src/app/+accounts/accounts.component.ts
- 1
-
-
- src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 1
-
-
- src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 1
-
-
- src/app/+admin/follows/followers-list/followers-list.component.ts
- 1
-
-
- src/app/+admin/follows/following-add/following-add.component.ts
- 1
-
-
- src/app/+admin/follows/following-list/following-list.component.ts
- 1
-
-
- src/app/+admin/follows/following-list/following-list.component.ts
- 1
-
-
- src/app/+admin/follows/shared/redundancy-checkbox.component.ts
- 1
-
-
- src/app/+admin/jobs/jobs-list/jobs-list.component.ts
- 1
-
-
- src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts
- 1
-
-
- src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.ts
- 1
-
-
- src/app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.ts
- 1
-
-
- src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts
- 1
-
-
- src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts
- 1
-
-
- src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts
- 1
-
-
- src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts
- 1
-
-
- src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+my-account/my-account-blocklist/my-account-blocklist.component.ts
- 1
-
-
- src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.ts
- 1
-
-
- src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.ts
- 1
-
-
- src/app/+my-account/my-account-ownership/my-account-ownership.component.ts
- 1
-
-
- src/app/+my-account/my-account-ownership/my-account-ownership.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-settings.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts
- 1
-
-
- src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-imports/my-account-video-imports.component.ts
- 1
-
-
- src/app/+my-account/my-account-videos/my-account-videos.component.ts
- 1
-
-
- src/app/+my-account/my-account-videos/my-account-videos.component.ts
- 1
-
-
- src/app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.ts
- 1
-
-
- src/app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts
- 1
-
-
- src/app/+verify-account/verify-account-email/verify-account-email.component.ts
- 1
-
-
- src/app/+verify-account/verify-account-email/verify-account-email.component.ts
- 1
-
-
- src/app/core/auth/auth.service.ts
- 1
-
-
- src/app/login/login.component.ts
- 1
-
-
- src/app/reset-password/reset-password.component.ts
- 1
-
-
- src/app/search/search.component.ts
- 1
-
-
- src/app/shared/forms/reactive-file.component.ts
- 1
-
-
- src/app/shared/moderation/user-ban-modal.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/user-subscription/subscribe-button.component.ts
- 1
-
-
- src/app/shared/user-subscription/subscribe-button.component.ts
- 1
-
-
- src/app/shared/user-subscription/subscribe-button.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-import-torrent.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-import-url.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-update.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-update.component.ts
- 1
-
-
- src/app/videos/+video-watch/comment/video-comment-add.component.ts
- 1
-
-
- src/app/videos/+video-watch/comment/video-comments.component.ts
- 1
-
-
- src/app/videos/+video-watch/comment/video-comments.component.ts
- 1
-
-
- src/app/videos/+video-watch/comment/video-comments.component.ts
- 1
-
-
- src/app/videos/+video-watch/modal/video-blacklist.component.ts
- 1
-
-
- src/app/videos/+video-watch/modal/video-report.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
240p
@@ -3952,229 +3843,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Success
-
- src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 1
-
-
- src/app/+admin/follows/following-add/following-add.component.ts
- 1
-
-
- src/app/+admin/follows/following-list/following-list.component.ts
- 1
-
-
- src/app/+admin/follows/shared/redundancy-checkbox.component.ts
- 1
-
-
- src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts
- 1
-
-
- src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.ts
- 1
-
-
- src/app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.ts
- 1
-
-
- src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts
- 1
-
-
- src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts
- 1
-
-
- src/app/+admin/users/user-edit/user-create.component.ts
- 1
-
-
- src/app/+admin/users/user-edit/user-update.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+admin/users/user-list/user-list.component.ts
- 1
-
-
- src/app/+my-account/my-account-blocklist/my-account-blocklist.component.ts
- 1
-
-
- src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.ts
- 1
-
-
- src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-settings.component.ts
- 1
-
-
- src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts
- 1
-
-
- src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts
- 1
-
-
- src/app/+my-account/my-account-videos/my-account-videos.component.ts
- 1
-
-
- src/app/+my-account/my-account-videos/my-account-videos.component.ts
- 1
-
-
- src/app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.ts
- 1
-
-
- src/app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts
- 1
-
-
- src/app/login/login.component.ts
- 1
-
-
- src/app/reset-password/reset-password.component.ts
- 1
-
-
- src/app/shared/moderation/user-ban-modal.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/shared/moderation/user-moderation-dropdown.component.ts
- 1
-
-
- src/app/signup/signup.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-import-torrent.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-import-url.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
- src/app/videos/+video-edit/video-update.component.ts
- 1
-
-
- src/app/videos/+video-watch/modal/video-blacklist.component.ts
- 1
-
-
- src/app/videos/+video-watch/modal/video-download.component.ts
- 1
-
-
- src/app/videos/+video-watch/modal/video-report.component.ts
- 1
-
-
- src/app/videos/+video-watch/modal/video-share.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
Configuration updated.
@@ -4575,6 +4243,48 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ My videos history
+
+ src/app/+my-account/my-account-history/my-account-history.component.ts
+ 1
+
+
+
+ Videos history is enabled
+
+ src/app/+my-account/my-account-history/my-account-history.component.ts
+ 1
+
+
+
+ Videos history is disabled
+
+ src/app/+my-account/my-account-history/my-account-history.component.ts
+ 1
+
+
+
+ Delete videos history
+
+ src/app/+my-account/my-account-history/my-account-history.component.ts
+ 1
+
+
+
+ Are you sure you want to delete all your videos history?
+
+ src/app/+my-account/my-account-history/my-account-history.component.ts
+ 1
+
+
+
+ Videos history deleted
+
+ src/app/+my-account/my-account-history/my-account-history.component.ts
+ 1
+
+
Ownership accepted
@@ -4624,6 +4334,76 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ New video from your subscriptions
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ New comment on your video
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ New video abuse on local video
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ One of your video is blacklisted/unblacklisted
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ Video published (after transcoding/scheduled update)
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ Video import finished
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ A new user registered on your instance
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ You or your channel(s) has a new follower
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ Someone mentioned you in video comments
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
+
+ Preferences saved
+
+ src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts
+ 1
+
+
Profile updated.
@@ -4698,6 +4478,17 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ My videos
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos?
@@ -4772,15 +4563,57 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Channels
+
+ My library
src/app/+my-account/my-account.component.ts
1
-
- Video imports
+
+ My channels
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
+
+ My subscriptions
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
+
+ My history
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
+
+ Misc
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
+
+ Ownership changes
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
+
+ My settings
+
+ src/app/+my-account/my-account.component.ts
+ 1
+
+
+
+ My notifications
src/app/+my-account/my-account.component.ts
1
@@ -4914,6 +4747,17 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ Error
+
+ src/app/core/auth/auth.service.ts
+ 1
+
+
+ src/app/core/notification/notifier.service.ts
+ 1
+
+
You need to reconnect.
@@ -4935,6 +4779,20 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ Info
+
+ src/app/core/notification/notifier.service.ts
+ 1
+
+
+
+ Success
+
+ src/app/core/notification/notifier.service.ts
+ 1
+
+
Incorrect username or password.
@@ -5156,6 +5014,70 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ Email is required.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+ src/app/shared/forms/form-validators/user-validators.service.ts
+ 1
+
+
+
+ Email must be valid.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+ src/app/shared/forms/form-validators/user-validators.service.ts
+ 1
+
+
+
+ Your name is required.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+
+ Your name must be at least 1 character long.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+
+ Your name cannot be more than 120 characters long.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+
+ A message is required.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+
+ The message must be at least 3 characters long.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
+
+ The message cannot be more than 5000 characters long.
+
+ src/app/shared/forms/form-validators/instance-validators.service.ts
+ 1
+
+
Username is required.
@@ -5185,36 +5107,22 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Username must be at least 3 characters long.
+
+ Username must be at least 1 character long.
src/app/shared/forms/form-validators/user-validators.service.ts
1
-
- Username cannot be more than 20 characters long.
+
+ Username cannot be more than 50 characters long.
src/app/shared/forms/form-validators/user-validators.service.ts
1
-
- Username should be only lowercase alphanumeric characters.
-
- src/app/shared/forms/form-validators/user-validators.service.ts
- 1
-
-
-
- Email is required.
-
- src/app/shared/forms/form-validators/user-validators.service.ts
- 1
-
-
-
- Email must be valid.
+
+ Username should be lowercase alphanumeric; dots and underscores are allowed.
src/app/shared/forms/form-validators/user-validators.service.ts
1
@@ -5287,8 +5195,8 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Display name must be at least 3 characters long.
+
+ Display name must be at least 1 character long.
src/app/shared/forms/form-validators/user-validators.service.ts
1
@@ -5298,8 +5206,8 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Display name cannot be more than 120 characters long.
+
+ Display name cannot be more than 50 characters long.
src/app/shared/forms/form-validators/user-validators.service.ts
1
@@ -5450,22 +5358,22 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Name must be at least 3 characters long.
+
+ Name must be at least 1 character long.
src/app/shared/forms/form-validators/video-channel-validators.service.ts
1
-
- Name cannot be more than 20 characters long.
+
+ Name cannot be more than 50 characters long.
src/app/shared/forms/form-validators/video-channel-validators.service.ts
1
-
- Name should be only lowercase alphanumeric characters.
+
+ Name should be lowercase alphanumeric; dots and underscores are allowed.
src/app/shared/forms/form-validators/video-channel-validators.service.ts
1
@@ -6313,13 +6221,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Subscribed
-
- src/app/shared/user-subscription/subscribe-button.component.ts
- 1
-
-
Subscribed to <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/>
@@ -6327,8 +6228,8 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Unsubscribed
+
+ Subscribed
src/app/shared/user-subscription/subscribe-button.component.ts
1
@@ -6341,6 +6242,13 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ Unsubscribed
+
+ src/app/shared/user-subscription/subscribe-button.component.ts
+ 1
+
+
Moderator
@@ -6415,13 +6323,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Info
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
Upload cancelled
@@ -6429,13 +6330,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
- We are sorry but PeerTube cannot handle videos > 8GB
-
- src/app/videos/+video-edit/video-add-components/video-upload.component.ts
- 1
-
-
Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{videoQuotaUsed}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{videoQuota}}"/>)
diff --git a/server/tests/api/server/contact-form.ts b/server/tests/api/server/contact-form.ts
index 1a165331b..93221d0a3 100644
--- a/server/tests/api/server/contact-form.ts
+++ b/server/tests/api/server/contact-form.ts
@@ -30,6 +30,8 @@ describe('Test contact form', function () {
})
it('Should send a contact form', async function () {
+ this.timeout(10000)
+
await sendContactForm({
url: server.url,
fromEmail: 'toto@example.com',