MetaService,
Notifier,
PeerTubeSocket,
+ PluginService,
RestExtractor,
ScreenService,
ServerService,
import { VideoPlaylist, VideoPlaylistService } from '@app/shared/shared-video-playlist'
import { peertubeLocalStorage } from '@root-helpers/peertube-web-storage'
import { HttpStatusCode } from '@shared/core-utils/miscs/http-error-codes'
-import { ServerConfig, ServerErrorCode, UserVideoRateType, VideoCaption, VideoPrivacy, VideoState } from '@shared/models'
+import {
+ HTMLServerConfig,
+ PeerTubeProblemDocument,
+ ServerErrorCode,
+ UserVideoRateType,
+ VideoCaption,
+ VideoPrivacy,
+ VideoState
+} from '@shared/models'
import {
cleanupVideoWatch,
getStoredP2PEnabled,
private configSub: Subscription
private liveVideosSub: Subscription
- private serverConfig: ServerConfig
+ private serverConfig: HTMLServerConfig
constructor (
private elementRef: ElementRef,
private videoCaptionService: VideoCaptionService,
private hotkeysService: HotkeysService,
private hooks: HooksService,
+ private pluginService: PluginService,
private peertubeSocket: PeerTubeSocket,
private screenService: ScreenService,
private location: PlatformLocation,
PeertubePlayerManager.initState()
- this.serverConfig = this.serverService.getTmpConfig()
-
- this.configSub = this.serverService.getConfig()
- .subscribe(config => {
- this.serverConfig = config
-
- if (
- isWebRTCDisabled() ||
- this.serverConfig.tracker.enabled === false ||
- getStoredP2PEnabled() === false ||
- peertubeLocalStorage.getItem(VideoWatchComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY) === 'true'
- ) {
- this.hasAlreadyAcceptedPrivacyConcern = true
- }
- })
+ this.serverConfig = this.serverService.getHTMLConfig()
+ if (
+ isWebRTCDisabled() ||
+ this.serverConfig.tracker.enabled === false ||
+ getStoredP2PEnabled() === false ||
+ peertubeLocalStorage.getItem(VideoWatchComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY) === 'true'
+ ) {
+ this.hasAlreadyAcceptedPrivacyConcern = true
+ }
this.paramsSub = this.route.params.subscribe(routeParams => {
const videoId = routeParams[ 'videoId' ]
.pipe(
// If 400, 403 or 404, the video is private or blocked so redirect to 404
catchError(err => {
- if (err.body.errorCode === ServerErrorCode.DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS && err.body.originUrl) {
+ const errorBody = err.body as PeerTubeProblemDocument
+
+ if (errorBody.code === ServerErrorCode.DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS && errorBody.originUrl) {
const search = window.location.search
- let originUrl = err.body.originUrl
+ let originUrl = errorBody.originUrl
if (search) originUrl += search
this.confirmService.confirm(
webtorrent: {
videoFiles: video.files
- }
+ },
+
+ pluginsManager: this.pluginService.getPluginsManager()
}
// Only set this if we're in a playlist