summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/UserService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-06-12 15:42:39 +0000
committerHazelnoot <acomputerdog@gmail.com>2025-06-12 15:42:39 +0000
commit55551a5a8a3a218b9f56491f2dbe3f70e3ef3556 (patch)
tree927f789e18162a91da0144356d040995864613ee /packages/backend/src/core/UserService.ts
parentmerge: Enforce DM visibility in generateVisibilityQuery (!1108) (diff)
parentfix relations in MastodonDataService.ts (diff)
downloadsharkey-55551a5a8a3a218b9f56491f2dbe3f70e3ef3556.tar.gz
sharkey-55551a5a8a3a218b9f56491f2dbe3f70e3ef3556.tar.bz2
sharkey-55551a5a8a3a218b9f56491f2dbe3f70e3ef3556.zip
merge: Avoid more N+1 queries in NoteEntityService and UserEntityService (!1099)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1099 Approved-by: dakkar <dakkar@thenautilus.net> Approved-by: Marie <github@yuugi.dev>
Diffstat (limited to 'packages/backend/src/core/UserService.ts')
-rw-r--r--packages/backend/src/core/UserService.ts21
1 files changed, 13 insertions, 8 deletions
diff --git a/packages/backend/src/core/UserService.ts b/packages/backend/src/core/UserService.ts
index 1f471513f3..4a04910105 100644
--- a/packages/backend/src/core/UserService.ts
+++ b/packages/backend/src/core/UserService.ts
@@ -10,6 +10,7 @@ import { DI } from '@/di-symbols.js';
import { bindThis } from '@/decorators.js';
import { SystemWebhookService } from '@/core/SystemWebhookService.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { CacheService } from '@/core/CacheService.js';
@Injectable()
export class UserService {
@@ -20,6 +21,7 @@ export class UserService {
private followingsRepository: FollowingsRepository,
private systemWebhookService: SystemWebhookService,
private userEntityService: UserEntityService,
+ private readonly cacheService: CacheService,
) {
}
@@ -38,14 +40,17 @@ export class UserService {
});
const wokeUp = result.isHibernated;
if (wokeUp) {
- this.usersRepository.update(user.id, {
- isHibernated: false,
- });
- this.followingsRepository.update({
- followerId: user.id,
- }, {
- isFollowerHibernated: false,
- });
+ await Promise.all([
+ this.usersRepository.update(user.id, {
+ isHibernated: false,
+ }),
+ this.followingsRepository.update({
+ followerId: user.id,
+ }, {
+ isFollowerHibernated: false,
+ }),
+ this.cacheService.hibernatedUserCache.set(user.id, false),
+ ]);
}
} else {
this.usersRepository.update(user.id, {