import { AuthUser, Notifier, ServerService } from '@app/core'
import { forkJoin, Observable, Subscription } from 'rxjs'
import { Hotkey, HotkeysService } from 'angular2-hotkeys'
-import { UserVideoRateType, VideoCaption, VideoPrivacy, VideoState } from '../../../../../shared'
+import { ServerConfig, UserVideoRateType, VideoCaption, VideoPrivacy, VideoState } from '../../../../../shared'
import { AuthService, ConfirmService } from '../../core'
import { RestExtractor, VideoBlacklistService } from '../../shared'
import { VideoDetails } from '../../shared/video/video-details.model'
private queryParamsSub: Subscription
private configSub: Subscription
+ private serverConfig: ServerConfig
+
constructor (
private elementRef: ElementRef,
private changeDetector: ChangeDetectorRef,
}
async ngOnInit () {
- this.configSub = this.serverService.configLoaded
- .subscribe(() => {
+ this.serverConfig = this.serverService.getTmpConfig()
+
+ this.configSub = this.serverService.getConfig()
+ .subscribe(config => {
+ this.serverConfig = config
+
if (
isWebRTCDisabled() ||
- this.serverService.getConfig().tracker.enabled === false ||
+ this.serverConfig.tracker.enabled === false ||
peertubeLocalStorage.getItem(VideoWatchComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY) === 'true'
) {
this.hasAlreadyAcceptedPrivacyConcern = true
this.queryParamsSub = this.route.queryParams.subscribe(async queryParams => {
const videoId = queryParams[ 'videoId' ]
- if (videoId) await this.loadVideo(videoId)
+ if (videoId) this.loadVideo(videoId)
const start = queryParams[ 'start' ]
if (this.player && start) this.player.currentTime(parseInt(start, 10))
}
isVideoBlur (video: Video) {
- return video.isVideoNSFWForUser(this.user, this.serverService.getConfig())
+ return video.isVideoNSFWForUser(this.user, this.serverConfig)
}
isAutoPlayEnabled () {
const { video, videoCaptions, urlOptions, user } = params
const getStartTime = () => {
const byUrl = urlOptions.startTime !== undefined
- const byHistory = video.userHistory && !this.playlist
+ const byHistory = video.userHistory && (!this.playlist || urlOptions.resume !== undefined)
if (byUrl) {
return timeToInt(urlOptions.startTime)
const options: PeertubePlayerManagerOptions = {
common: {
autoplay: this.isAutoplay(),
+ nextVideo: () => this.zone.run(() => this.autoplayNext()),
playerElement: this.playerElement,
onPlayerElementChange: (element: HTMLVideoElement) => this.playerElement = element,