// ---------------------------------------------------------------------------
-const LAST_MIGRATION_VERSION = 420
+const LAST_MIGRATION_VERSION = 450
// ---------------------------------------------------------------------------
VIDEO_COMMENT_THREADS: [ 'createdAt' ],
VIDEO_RATES: [ 'createdAt' ],
BLACKLISTS: [ 'id', 'name', 'duration', 'views', 'likes', 'dislikes', 'uuid', 'createdAt' ],
- FOLLOWERS: [ 'createdAt' ],
- FOLLOWING: [ 'createdAt' ],
+ FOLLOWERS: [ 'createdAt', 'state', 'score' ],
+ FOLLOWING: [ 'createdAt', 'redundancyAllowed', 'state' ],
VIDEOS: [ 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes', 'trending' ],
updateVideos: 60000, // 1 minute
youtubeDLUpdate: 60000 * 60 * 24, // 1 day
checkPlugins: CONFIG.PLUGINS.INDEX.CHECK_LATEST_VERSIONS_INTERVAL,
+ autoFollowIndexInstances: 60000 * 60 * 24, // 1 day
removeOldViews: 60000 * 60 * 24, // 1 day
removeOldHistory: 60000 * 60 * 24 // 1 day
}
+const INSTANCES_INDEX = {
+ HOSTS_PATH: '/api/v1/instances/hosts'
+}
+
// ---------------------------------------------------------------------------
const CONSTRAINTS_FIELDS = {
VIDEO_CAPTIONS: {
MIMETYPE_EXT: {
'text/vtt': '.vtt',
- 'application/x-subrip': '.srt'
+ 'application/x-subrip': '.srt',
+ 'text/plain': '.srt'
}
},
TORRENT: {
}
}
+const VIDEO_CHANNELS = {
+ MAX_PER_USER: 20
+}
+
// ---------------------------------------------------------------------------
const SERVER_ACTOR_NAME = 'peertube'
const ACTIVITY_PUB_ACTOR_TYPES: { [ id: string ]: ActivityPubActorType } = {
GROUP: 'Group',
PERSON: 'Person',
- APPLICATION: 'Application'
+ APPLICATION: 'Application',
+ ORGANIZATION: 'Organization',
+ SERVICE: 'Service'
}
const HTTP_SIGNATURE = {
HEADER_NAME: 'signature',
ALGORITHM: 'rsa-sha256',
- HEADERS_TO_SIGN: [ '(request-target)', 'host', 'date', 'digest' ]
+ HEADERS_TO_SIGN: [ '(request-target)', 'host', 'date', 'digest' ],
+ CLOCK_SKEW_SECONDS: 1800
}
// ---------------------------------------------------------------------------
}
const STATIC_DOWNLOAD_PATHS = {
TORRENTS: '/download/torrents/',
- VIDEOS: '/download/videos/'
+ VIDEOS: '/download/videos/',
+ HLS_VIDEOS: '/download/streaming-playlists/hls/videos/'
}
const LAZY_STATIC_PATHS = {
AVATARS: '/lazy-static/avatars/',
const ACCEPT_HEADERS = [ 'html', 'application/json' ].concat(ACTIVITY_PUB.POTENTIAL_ACCEPT_HEADERS)
const ASSETS_PATH = {
- DEFAULT_AUDIO_BACKGROUND: join(root(), 'server', 'assets', 'default-audio-background.jpg')
+ DEFAULT_AUDIO_BACKGROUND: join(root(), 'dist', 'server', 'assets', 'default-audio-background.jpg')
}
// ---------------------------------------------------------------------------
SCHEDULER_INTERVALS_MS.removeOldHistory = 5000
SCHEDULER_INTERVALS_MS.removeOldViews = 5000
SCHEDULER_INTERVALS_MS.updateVideos = 5000
+ SCHEDULER_INTERVALS_MS.autoFollowIndexInstances = 5000
REPEAT_JOBS[ 'videos-views' ] = { every: 5000 }
REDUNDANCY.VIDEOS.RANDOMIZED_FACTOR = 1
PREVIEWS_SIZE,
REMOTE_SCHEME,
FOLLOW_STATES,
+ INSTANCES_INDEX,
DEFAULT_USER_THEME_NAME,
SERVER_ACTOR_NAME,
PLUGIN_GLOBAL_CSS_FILE_NAME,
VIDEO_TRANSCODING_FPS,
FFMPEG_NICE,
VIDEO_ABUSE_STATES,
+ VIDEO_CHANNELS,
LRU_CACHE,
JOB_REQUEST_TIMEOUT,
USER_PASSWORD_RESET_LIFETIME,