]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/views/shared/video-viewer-counters.ts
Merge branch 'release/4.2.0' into develop
[github/Chocobozzz/PeerTube.git] / server / lib / views / shared / video-viewer-counters.ts
index 999ab7d8d7b63179a1fed332150d136291460442..cf3fa5882ee49542ad0d39a5a1349979a11f1966 100644 (file)
@@ -5,7 +5,7 @@ import { sendView } from '@server/lib/activitypub/send/send-view'
 import { PeerTubeSocket } from '@server/lib/peertube-socket'
 import { getServerActor } from '@server/models/application/application'
 import { VideoModel } from '@server/models/video/video'
-import { MVideo } from '@server/types/models'
+import { MVideo, MVideoImmutable } from '@server/types/models'
 import { buildUUID, sha256 } from '@shared/extra-utils'
 
 const lTags = loggerTagsFactory('views')
@@ -33,7 +33,7 @@ export class VideoViewerCounters {
   // ---------------------------------------------------------------------------
 
   async addLocalViewer (options: {
-    video: MVideo
+    video: MVideoImmutable
     ip: string
   }) {
     const { video, ip } = options
@@ -86,7 +86,7 @@ export class VideoViewerCounters {
   // ---------------------------------------------------------------------------
 
   private async addViewerToVideo (options: {
-    video: MVideo
+    video: MVideoImmutable
     viewerId: string
     viewerExpires?: Date
   }) {
@@ -162,10 +162,10 @@ export class VideoViewerCounters {
     return sha256(this.salt + '-' + ip + '-' + videoUUID)
   }
 
-  private async federateViewerIfNeeded (video: MVideo, viewer: Viewer) {
+  private async federateViewerIfNeeded (video: MVideoImmutable, viewer: Viewer) {
     // Federate the viewer if it's been a "long" time we did not
     const now = new Date().getTime()
-    const federationLimit = now - (VIEW_LIFETIME.VIEWER_COUNTER / 2)
+    const federationLimit = now - (VIEW_LIFETIME.VIEWER_COUNTER * 0.75)
 
     if (viewer.lastFederation && viewer.lastFederation > federationLimit) return