Found via `codespell -q 3 -S ./CREDITS.md,./CHANGELOG.md,./client/src/locale,./yarn.lock,./client/yarn.lock -L doubleclick,followings,nd,ot,ro,serie,splitted,tread,truthy`
<button cdkStepperNext [disabled]="!formStepTerms || !formStepTerms.valid">{{ defaultNextStepButtonLabel }}</button>
</cdk-step>
- <cdk-step [stepControl]="formStepUser" i18n-label="Stepper label for the registration page asking user informations" label="User">
+ <cdk-step [stepControl]="formStepUser" i18n-label="Stepper label for the registration page asking user information" label="User">
<my-register-step-user (formBuilt)="onUserFormBuilt($event)" [videoUploadDisabled]="videoUploadDisabled"></my-register-step-user>
<button cdkStepperPrevious>{{ defaultPreviousStepButtonLabel }}</button>
import { CustomMarkupComponent } from './shared'
/*
- * Markup component list videos depending on criterias
+ * Markup component list videos depending on criteria
*/
@Component({
@include padding-left(15px !important);
@include padding-right(15px !important);
- // set again properties of peertube-input-text that are overriden by .input-group
+ // set again properties of peertube-input-text that are overridden by .input-group
font-size: 15px !important;
}
this.settingsSubMenuValueEl_.innerHTML = html
}, 250)
} else {
- // Loop trough the submenu items to find the selected child
+ // Loop through the submenu items to find the selected child
for (const subMenuItem of this.subMenu.menu.children_) {
if (!(subMenuItem instanceof component)) {
continue
--videosHorizontalMarginContent: #{pvar(--horizontalMarginContent)};
}
- /* the following applies from 500px to 900px and is partially overriden from 500px to 800px by changes below to $small-view */
+ /* the following applies from 500px to 900px and is partially overridden from 500px to 800px by changes below to $small-view */
.main-col,
.main-col.expanded {
--horizontalMarginContent: #{math.div($expanded-horizontal-margins, 3)};
}) {
const { sourceImage, newSize, destination } = options
- // Portrait mode targetting a landscape, apply some effect on the image
+ // Portrait mode targeting a landscape, apply some effect on the image
const sourceIsPortrait = sourceImage.getWidth() < sourceImage.getHeight()
const destIsPortraitOrSquare = newSize.width <= newSize.height
const AP_CLEANER = {
CONCURRENCY: 10, // How many requests in parallel we do in activitypub-cleaner job
- UNAVAILABLE_TRESHOLD: 3, // How many attemps we do before removing an unavailable remote resource
+ UNAVAILABLE_TRESHOLD: 3, // How many attempts we do before removing an unavailable remote resource
PERIOD: parseDurationToMs('1 week') // /!\ Has to be sync with REPEAT_JOBS
}
return
}
- // Try to not forward unwanted commments on our videos
+ // Try to not forward unwanted comments on our videos
if (video.isOwned()) {
if (await isBlockedByServerOrAccount(comment.Account, video.VideoChannel.Account)) {
logger.info('Skip comment forward from blocked account or server %s.', comment.Account.Actor.url)
}
}
- // overriden/new variables given for a specific template in the payload
+ // overridden/new variables given for a specific template in the payload
const sendOptions = merge(baseOptions, options)
await email.send(sendOptions)
return this.deleteKey('resumable-upload-' + uploadId)
}
- /* ************ AP ressource unavailability ************ */
+ /* ************ AP resource unavailability ************ */
async addAPUnavailability (url: string) {
const key = this.generateAPUnavailabilityKey(url)
const excludeList = [ 'blacklist' ]
let matched = ''
- // if there is a valid, non-empty whitelist, we exclude all unknown adresses too
+ // if there is a valid, non-empty whitelist, we exclude all unknown addresses too
if (CONFIG.SIGNUP.FILTERS.CIDR.WHITELIST.filter(cidr => isCidr(cidr)).length > 0) {
excludeList.push('unknown')
}
if (res.locals.account.id !== user.Account.id) {
return res.fail({
status: HttpStatusCode.FORBIDDEN_403,
- message: 'Only owner of this account can access this ressource.'
+ message: 'Only owner of this account can access this resource.'
})
}
searchReporter?: string
searchReportee?: string
- // video releated
+ // video related
searchVideo?: string
searchVideoChannel?: string
videoIs?: AbuseVideoIs
/**
*
- * Abstact builder to run video SQL queries
+ * Abstract builder to run video SQL queries
*
*/
function isOutdated (model: { createdAt: Date, updatedAt: Date }, refreshInterval: number) {
if (!model.createdAt || !model.updatedAt) {
- throw new Error('Miss createdAt & updatedAt attribuets to model')
+ throw new Error('Miss createdAt & updatedAt attributes to model')
}
const now = Date.now()
await makePostBodyRequest({ url: server.url, path, token: userToken, fields })
})
- it('Should succeed with the corret parameters (advanced)', async function () {
+ it('Should succeed with the correct parameters (advanced)', async function () {
const fields: AbuseCreate = {
video: {
id: server.store.videoCreated.id,
await command.addMessage({ token: userToken, abuseId, message: 'a'.repeat(5000), expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
})
- it('Should suceed with the correct params', async function () {
+ it('Should succeed with the correct params', async function () {
const res = await command.addMessage({ token: userToken, abuseId, message })
messageId = res.body.abuseMessage.id
})
await servers[1].subscriptions.remove({ uri: 'user_1_channel@localhost:' + servers[0].port })
})
- // PeerTube does not support accout -> account follows
+ // PeerTube does not support account -> account follows
// it('Should notify when a local account is following one of our channel', async function () {
// this.timeout(50000)
//
expect(email['text']).contains('my super message')
})
- it('Should not have duplicated email adress in text message', async function () {
+ it('Should not have duplicated email address in text message', async function () {
const text = emails[0]['text'] as string
const matches = text.match(/toto@example.com/g)
// Fired when the admin plugin settings page is being initialized
'action:admin-plugin-settings.init': true,
- // Fired when the video upload page is being initalized
+ // Fired when the video upload page is being initialized
'action:video-upload.init': true,
- // Fired when the video import by URL page is being initalized
+ // Fired when the video import by URL page is being initialized
'action:video-url-import.init': true,
- // Fired when the video import by torrent/magnet URI page is being initalized
+ // Fired when the video import by torrent/magnet URI page is being initialized
'action:video-torrent-import.init': true,
- // Fired when the "Go Live" page is being initalized
+ // Fired when the "Go Live" page is being initialized
'action:go-live.init': true,
- // Fired when the user explicitely logged in/logged out
+ // Fired when the user explicitly logged in/logged out
'action:auth-user.logged-in': true,
'action:auth-user.logged-out': true,
// Fired when the application loaded user information (using tokens from the local storage or after a successful login)
### Import
- _URL_-based: where the URL points to any service supported by [youtube-dl](https://ytdl-org.github.io/youtube-dl/)
- - _magnet_-based: where the URI resolves to a BitTorrent ressource containing a single supported video file
- - _torrent_-based: where the metainfo file resolves to a BitTorrent ressource containing a single supported video file
+ - _magnet_-based: where the URI resolves to a BitTorrent resource containing a single supported video file
+ - _torrent_-based: where the metainfo file resolves to a BitTorrent resource containing a single supported video file
The import function is practical when the desired video/audio is available online. It makes PeerTube
download it for you, saving you as much bandwidth and avoiding any instability or limitation your network might have.
x-summary: video file too large, due to quota or max body size limit set by the reverse-proxy
description: |
If the response has no body, it means the reverse-proxy didn't let it through. Otherwise disambiguate via `type`:
- - `quota_reached` for quota limits wether daily or global
+ - `quota_reached` for quota limits whether daily or global
headers:
X-File-Maximum-Size:
schema:
moderator: Moderator scope
user: User scope
schemas:
- # Resuable core properties
+ # Reusable core properties
id:
type: integer
minimum: 1
- 1
- 2
- 3
- description: 'The live latency mode (Default = `1`, HIght latency = `2`, Small Latency = `3`)'
+ description: 'The live latency mode (Default = `1`, High latency = `2`, Small Latency = `3`)'
VideoStateConstant:
properties:
- 5
nullable: true
description: >
- Error type if an error occured during the live session:
+ Error type if an error occurred during the live session:
- `1`: Bad socket health (transcoding is too slow)
- `2`: Max duration exceeded
- `3`: Quota exceeded
```
net-libs/nodejs
sys-apps/yarn
-media-video/ffmpeg[x264] # Optionnally add vorbis,vpx
+media-video/ffmpeg[x264] # Optionally add vorbis,vpx
dev-db/postgresql
dev-db/redis
dev-vcs/git
<a name="documentation-for-api-endpoints"></a>
## Documentation for API Endpoints
-All URIs are relative to *{{{basePath}}}*. Change it when instanciating `ApiClient(basePath)`.
+All URIs are relative to *{{{basePath}}}*. Change it when instantiating `ApiClient(basePath)`.
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------