1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-04 02:09:37 +02:00

Don't forward view, send updates instead

To avoid inconsistencies in the federation, now the origin server will
tell other instances what is the correct number of views
This commit is contained in:
Chocobozzz 2018-11-15 16:18:12 +01:00
parent 650e3d5ce3
commit 030177d246
No known key found for this signature in database
GPG key ID: 583A612D890159BE
4 changed files with 17 additions and 17 deletions

View file

@ -13,7 +13,8 @@ import { forwardVideoRelatedActivity } from '../send/utils'
import { Redis } from '../../redis'
import { createOrUpdateCacheFile } from '../cache-file'
import { immutableAssign } from '../../../tests/utils'
import { getVideoDislikeActivityPubUrl, getVideoLikeActivityPubUrl } from '../url'
import { getVideoDislikeActivityPubUrl } from '../url'
import { VideoModel } from '../../../models/video/video'
async function processCreateActivity (activity: ActivityCreate, byActor: ActorModel) {
const activityObject = activity.object
@ -87,19 +88,10 @@ async function processCreateDislike (byActor: ActorModel, activity: ActivityCrea
async function processCreateView (byActor: ActorModel, activity: ActivityCreate) {
const view = activity.object as ViewObject
const options = {
videoObject: view.object,
fetchType: 'only-video' as 'only-video'
}
const { video } = await getOrCreateVideoAndAccountAndChannel(options)
const video = await VideoModel.loadByUrl(view.object)
if (!video || video.isOwned() === false) return
await Redis.Instance.addVideoView(video.id)
if (video.isOwned()) {
// Don't resend the activity to the sender
const exceptions = [ byActor ]
await forwardVideoRelatedActivity(activity, undefined, exceptions, video)
}
}
async function processCacheFile (byActor: ActorModel, activity: ActivityCreate) {