mirror of https://github.com/Chocobozzz/PeerTube
Provide origin URL to client and fix remote share
parent
de7f11143f
commit
ab4001aade
|
@ -12,7 +12,7 @@
|
|||
|
||||
<a
|
||||
i18n-title title="Open the video on the origin instance" class="glyphicon glyphicon-new-window"
|
||||
target="_blank" rel="noopener noreferrer" [href]="getVideoUrl()"
|
||||
target="_blank" rel="noopener noreferrer" [href]="video.url"
|
||||
></a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -9,14 +9,6 @@ import { VideoDetails } from '@app/shared/shared-main'
|
|||
export class VideoAttributesComponent {
|
||||
@Input() video: VideoDetails
|
||||
|
||||
getVideoUrl () {
|
||||
if (!this.video.url) {
|
||||
return this.video.originInstanceUrl + VideoDetails.buildWatchUrl(this.video)
|
||||
}
|
||||
|
||||
return this.video.url
|
||||
}
|
||||
|
||||
getVideoHost () {
|
||||
return this.video.channel.host
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ export class Video implements VideoServerModel {
|
|||
embedPath: string
|
||||
embedUrl: string
|
||||
|
||||
url?: string
|
||||
url: string
|
||||
|
||||
views: number
|
||||
likes: number
|
||||
|
|
|
@ -96,12 +96,12 @@ export class VideoShareComponent {
|
|||
}
|
||||
|
||||
getVideoUrl () {
|
||||
const baseUrl = this.customizations.originUrl
|
||||
? this.video.originInstanceUrl
|
||||
: window.location.origin
|
||||
const url = this.customizations.originUrl
|
||||
? this.video.url
|
||||
: buildVideoLink(this.video, window.location.origin)
|
||||
|
||||
return decorateVideoLink({
|
||||
url: buildVideoLink(this.video, baseUrl),
|
||||
url,
|
||||
|
||||
...this.getVideoOptions()
|
||||
})
|
||||
|
|
|
@ -50,6 +50,8 @@ function videoModelToFormattedJSON (video: MVideoFormattable, options?: VideoFor
|
|||
uuid: video.uuid,
|
||||
shortUUID: uuidToShort(video.uuid),
|
||||
|
||||
url: video.url,
|
||||
|
||||
name: video.name,
|
||||
category: {
|
||||
id: video.category,
|
||||
|
|
|
@ -113,7 +113,7 @@ async function completeVideoCheck (
|
|||
channel: {
|
||||
displayName: string
|
||||
name: string
|
||||
description
|
||||
description: string
|
||||
isLocal: boolean
|
||||
}
|
||||
fixture: string
|
||||
|
@ -151,6 +151,7 @@ async function completeVideoCheck (
|
|||
expect(video.dislikes).to.equal(attributes.dislikes)
|
||||
expect(video.isLocal).to.equal(attributes.isLocal)
|
||||
expect(video.duration).to.equal(attributes.duration)
|
||||
expect(video.url).to.contain(originHost)
|
||||
expect(dateIsValid(video.createdAt)).to.be.true
|
||||
expect(dateIsValid(video.publishedAt)).to.be.true
|
||||
expect(dateIsValid(video.updatedAt)).to.be.true
|
||||
|
|
|
@ -36,8 +36,7 @@ export interface Video {
|
|||
embedPath: string
|
||||
embedUrl?: string
|
||||
|
||||
// When using the search index
|
||||
url?: string
|
||||
url: string
|
||||
|
||||
views: number
|
||||
likes: number
|
||||
|
|
Loading…
Reference in New Issue