Provide origin URL to client and fix remote share

pull/4483/head
Chocobozzz 2021-10-22 14:11:58 +02:00
parent de7f11143f
commit ab4001aade
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
7 changed files with 11 additions and 17 deletions

View File

@ -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>

View File

@ -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
}

View File

@ -52,7 +52,7 @@ export class Video implements VideoServerModel {
embedPath: string
embedUrl: string
url?: string
url: string
views: number
likes: number

View File

@ -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()
})

View File

@ -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,

View File

@ -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

View File

@ -36,8 +36,7 @@ export interface Video {
embedPath: string
embedUrl?: string
// When using the search index
url?: string
url: string
views: number
likes: number