mirror of https://github.com/Chocobozzz/PeerTube
Fix privacy concern for remote videos
parent
97b6428af7
commit
5196817c5d
|
@ -1,4 +1,4 @@
|
|||
<div class="privacy-concerns" *ngIf="hasAlreadyAcceptedPrivacyConcern === false">
|
||||
<div class="privacy-concerns" *ngIf="display">
|
||||
<div class="privacy-concerns-text">
|
||||
<span class="mr-2">
|
||||
<strong i18n>Friendly Reminder: </strong>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component, OnInit } from '@angular/core'
|
||||
import { Component, Input, OnInit } from '@angular/core'
|
||||
import { ServerService } from '@app/core'
|
||||
import { peertubeLocalStorage } from '@root-helpers/peertube-web-storage'
|
||||
import { HTMLServerConfig } from '@shared/models'
|
||||
import { HTMLServerConfig, Video } from '@shared/models'
|
||||
import { getStoredP2PEnabled } from '../../../../../assets/player/peertube-player-local-storage'
|
||||
import { isWebRTCDisabled } from '../../../../../assets/player/utils'
|
||||
|
||||
|
@ -13,7 +13,9 @@ import { isWebRTCDisabled } from '../../../../../assets/player/utils'
|
|||
export class PrivacyConcernsComponent implements OnInit {
|
||||
private static LOCAL_STORAGE_PRIVACY_CONCERN_KEY = 'video-watch-privacy-concern'
|
||||
|
||||
hasAlreadyAcceptedPrivacyConcern = false
|
||||
@Input() video: Video
|
||||
|
||||
display = true
|
||||
|
||||
private serverConfig: HTMLServerConfig
|
||||
|
||||
|
@ -24,23 +26,25 @@ export class PrivacyConcernsComponent implements OnInit {
|
|||
ngOnInit () {
|
||||
this.serverConfig = this.serverService.getHTMLConfig()
|
||||
|
||||
if (
|
||||
isWebRTCDisabled() ||
|
||||
this.serverConfig.tracker.enabled === false ||
|
||||
getStoredP2PEnabled() === false ||
|
||||
peertubeLocalStorage.getItem(PrivacyConcernsComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY) === 'true'
|
||||
) {
|
||||
this.hasAlreadyAcceptedPrivacyConcern = true
|
||||
if (isWebRTCDisabled() || this.isTrackerDisabled() || this.isP2PDisabled() || this.alreadyAccepted()) {
|
||||
this.display = false
|
||||
}
|
||||
}
|
||||
|
||||
declinedPrivacyConcern () {
|
||||
peertubeLocalStorage.setItem(PrivacyConcernsComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY, 'false')
|
||||
this.hasAlreadyAcceptedPrivacyConcern = false
|
||||
}
|
||||
|
||||
acceptedPrivacyConcern () {
|
||||
peertubeLocalStorage.setItem(PrivacyConcernsComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY, 'true')
|
||||
this.hasAlreadyAcceptedPrivacyConcern = true
|
||||
this.display = false
|
||||
}
|
||||
|
||||
private isTrackerDisabled () {
|
||||
return this.video.isLocal && this.serverConfig.tracker.enabled === false
|
||||
}
|
||||
|
||||
private isP2PDisabled () {
|
||||
return getStoredP2PEnabled() === false
|
||||
}
|
||||
|
||||
private alreadyAccepted () {
|
||||
return peertubeLocalStorage.getItem(PrivacyConcernsComponent.LOCAL_STORAGE_PRIVACY_CONCERN_KEY) === 'true'
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
></my-recommended-videos>
|
||||
</div>
|
||||
|
||||
<my-privacy-concerns></my-privacy-concerns>
|
||||
<my-privacy-concerns *ngIf="video" [video]="video"></my-privacy-concerns>
|
||||
</div>
|
||||
|
||||
<my-player-styles></my-player-styles>
|
||||
|
|
|
@ -361,8 +361,7 @@ export class PeertubePlayerManager {
|
|||
}
|
||||
|
||||
let consumeOnly = false
|
||||
// FIXME: typings
|
||||
if (navigator && (navigator as any).connection && (navigator as any).connection.type === 'cellular') {
|
||||
if ((navigator as any)?.connection?.type === 'cellular') {
|
||||
console.log('We are on a cellular connection: disabling seeding.')
|
||||
consumeOnly = true
|
||||
}
|
||||
|
|
|
@ -669,7 +669,7 @@ export class PeerTubeEmbed {
|
|||
|
||||
const title = this.title ? videoInfo.name : undefined
|
||||
|
||||
const description = this.config.tracker.enabled && this.warningTitle
|
||||
const description = this.warningTitle && (!videoInfo.isLocal || this.config.tracker.enabled)
|
||||
? '<span class="text">' + peertubeTranslate('Watching this video may reveal your IP address to others.') + '</span>'
|
||||
: undefined
|
||||
|
||||
|
|
Loading…
Reference in New Issue