X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fviews%2Fshared%2Fvideo-viewer-counters.ts;h=f851ce0505f90f9583185c9beb5157b0065ecad0;hb=9452d4fd3321148fb80b64a67bd9983fee6c208e;hp=999ab7d8d7b63179a1fed332150d136291460442;hpb=fba911e2c89708a166636e3a93fcd8fcbc3de7e1;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/views/shared/video-viewer-counters.ts b/server/lib/views/shared/video-viewer-counters.ts index 999ab7d8d..f851ce050 100644 --- a/server/lib/views/shared/video-viewer-counters.ts +++ b/server/lib/views/shared/video-viewer-counters.ts @@ -1,11 +1,11 @@ -import { isTestInstance } from '@server/helpers/core-utils' +import { isTestOrDevInstance } from '@server/helpers/core-utils' import { logger, loggerTagsFactory } from '@server/helpers/logger' import { VIEW_LIFETIME } from '@server/initializers/constants' 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 }) { @@ -117,7 +117,7 @@ export class VideoViewerCounters { if (this.processingViewerCounters) return this.processingViewerCounters = true - if (!isTestInstance()) logger.info('Cleaning video viewers.', lTags()) + if (!isTestOrDevInstance()) logger.info('Cleaning video viewers.', lTags()) try { for (const videoId of this.viewersPerVideo.keys()) { @@ -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