X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fviews%2Fshared%2Fvideo-viewer-counters.ts;h=f851ce0505f90f9583185c9beb5157b0065ecad0;hb=9452d4fd3321148fb80b64a67bd9983fee6c208e;hp=941b62ed7c035cd5d8d1723b1ad8bbd432fa6a22;hpb=ac907dc7c158056e9b6a5cb58acd27df5c7c2670;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 941b62ed7..f851ce050 100644 --- a/server/lib/views/shared/video-viewer-counters.ts +++ b/server/lib/views/shared/video-viewer-counters.ts @@ -1,12 +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') @@ -34,7 +33,7 @@ export class VideoViewerCounters { // --------------------------------------------------------------------------- async addLocalViewer (options: { - video: MVideo + video: MVideoImmutable ip: string }) { const { video, ip } = options @@ -87,7 +86,7 @@ export class VideoViewerCounters { // --------------------------------------------------------------------------- private async addViewerToVideo (options: { - video: MVideo + video: MVideoImmutable viewerId: string viewerExpires?: Date }) { @@ -118,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()) { @@ -163,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