From 35dfde838be2dd50ee37d420f87a0cac917e621c Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 25 May 2025 12:34:09 -0400 Subject: add function diffArraysSimple for more efficient change detection --- packages/backend/src/core/FederatedInstanceService.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'packages/backend/src/core/FederatedInstanceService.ts') diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts index eb634b1d68..34df10f0ff 100644 --- a/packages/backend/src/core/FederatedInstanceService.ts +++ b/packages/backend/src/core/FederatedInstanceService.ts @@ -14,7 +14,7 @@ import { UtilityService } from '@/core/UtilityService.js'; import { bindThis } from '@/decorators.js'; import type { GlobalEvents } from '@/core/GlobalEventService.js'; import { Serialized } from '@/types.js'; -import { diffArrays } from '@/misc/diff-arrays.js'; +import { diffArrays, diffArraysSimple } from '@/misc/diff-arrays.js'; @Injectable() export class FederatedInstanceService implements OnApplicationShutdown { @@ -99,11 +99,11 @@ export class FederatedInstanceService implements OnApplicationShutdown { private syncCache(before: Serialized, after: Serialized): void { const changed = - hasDiff(before?.blockedHosts, after.blockedHosts) || - hasDiff(before?.silencedHosts, after.silencedHosts) || - hasDiff(before?.mediaSilencedHosts, after.mediaSilencedHosts) || - hasDiff(before?.federationHosts, after.federationHosts) || - hasDiff(before?.bubbleInstances, after.bubbleInstances); + diffArraysSimple(before?.blockedHosts, after.blockedHosts) || + diffArraysSimple(before?.silencedHosts, after.silencedHosts) || + diffArraysSimple(before?.mediaSilencedHosts, after.mediaSilencedHosts) || + diffArraysSimple(before?.federationHosts, after.federationHosts) || + diffArraysSimple(before?.bubbleInstances, after.bubbleInstances); if (changed) { // We have to clear the whole thing, otherwise subdomains won't be synced. @@ -134,9 +134,3 @@ export class FederatedInstanceService implements OnApplicationShutdown { this.dispose(); } } - -function hasDiff(before: string[] | null | undefined, after: string[] | null | undefined): boolean { - const { added, removed } = diffArrays(before, after); - return added.length > 0 || removed.length > 0; -} - -- cgit v1.2.3-freya