From 3c64fbc9a52368c93c54278c805ca477154b3b88 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Wed, 17 Sep 2025 11:55:08 -0400 Subject: [PATCH] fix cache sync after populating user's banner --- .../backend/src/core/activitypub/models/ApPersonService.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/core/activitypub/models/ApPersonService.ts b/packages/backend/src/core/activitypub/models/ApPersonService.ts index fd56a7f231..7316dfa30a 100644 --- a/packages/backend/src/core/activitypub/models/ApPersonService.ts +++ b/packages/backend/src/core/activitypub/models/ApPersonService.ts @@ -594,10 +594,8 @@ export class ApPersonService implements OnModuleInit { try { const updates = await this.resolveAvatarAndBanner(user, person.icon, person.image, person.backgroundUrl); await this.usersRepository.update(user.id, updates); + await this.internalEventService.emit('remoteUserUpdated', { id: user.id }); user = { ...user, ...updates }; - - // Register to the cache - await this.uriPersonCache.set(user.uri, user.id); } catch (err) { // Permanent error implies hidden or inaccessible, which is a normal thing. if (isRetryableError(err)) { @@ -1013,6 +1011,7 @@ export class ApPersonService implements OnModuleInit { let dst = await this.fetchPerson(src.movedToUri); if (dst && isLocalUser(dst)) { + // TODO this branch should not be possible // targetがローカルユーザーだった場合データベースから引っ張ってくる dst = await this.usersRepository.findOneByOrFail({ uri: src.movedToUri }) as MiLocalUser; } else if (dst) {