From 46afd6a101c19046119ad9137fda29557f042552 Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 30 Nov 2025 13:01:12 -0600 Subject: [PATCH] fix: only generate memory based on users assets (#24151) --- server/src/services/memory.service.ts | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/server/src/services/memory.service.ts b/server/src/services/memory.service.ts index 1d39169f3e..8e91c232f7 100644 --- a/server/src/services/memory.service.ts +++ b/server/src/services/memory.service.ts @@ -6,7 +6,7 @@ import { AuthDto } from 'src/dtos/auth.dto'; import { MemoryCreateDto, MemoryResponseDto, MemorySearchDto, MemoryUpdateDto, mapMemory } from 'src/dtos/memory.dto'; import { DatabaseLock, JobName, MemoryType, Permission, QueueName, SystemMetadataKey } from 'src/enum'; import { BaseService } from 'src/services/base.service'; -import { addAssets, getMyPartnerIds, removeAssets } from 'src/utils/asset.util'; +import { addAssets, removeAssets } from 'src/utils/asset.util'; const DAYS = 3; @@ -15,15 +15,6 @@ export class MemoryService extends BaseService { @OnJob({ name: JobName.MemoryGenerate, queue: QueueName.BackgroundTask }) async onMemoriesCreate() { const users = await this.userRepository.getList({ withDeleted: false }); - const usersIds = await Promise.all( - users.map((user) => - getMyPartnerIds({ - userId: user.id, - repository: this.partnerRepository, - timelineEnabled: true, - }), - ), - ); await this.databaseRepository.withLock(DatabaseLock.MemoryCreation, async () => { const state = await this.systemMetadataRepository.get(SystemMetadataKey.MemoriesState); @@ -38,7 +29,7 @@ export class MemoryService extends BaseService { } try { - await Promise.all(users.map((owner, i) => this.createOnThisDayMemories(owner.id, usersIds[i], target))); + await Promise.all(users.map((owner) => this.createOnThisDayMemories(owner.id, target))); } catch (error) { this.logger.error(`Failed to create memories for ${target.toISO()}: ${error}`); } @@ -51,10 +42,10 @@ export class MemoryService extends BaseService { }); } - private async createOnThisDayMemories(ownerId: string, userIds: string[], target: DateTime) { + private async createOnThisDayMemories(ownerId: string, target: DateTime) { const showAt = target.startOf('day').toISO(); const hideAt = target.endOf('day').toISO(); - const memories = await this.assetRepository.getByDayOfYear([ownerId, ...userIds], target); + const memories = await this.assetRepository.getByDayOfYear([ownerId], target); await Promise.all( memories.map(({ year, assets }) => this.memoryRepository.create(