summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorzyoshoka <107108195+zyoshoka@users.noreply.github.com>2025-06-04 19:14:11 +0900
committerGitHub <noreply@github.com>2025-06-04 19:14:11 +0900
commit65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1 (patch)
tree11b9b940bc57211b25882db3bab35efff9195482 /packages
parentNew Crowdin updates (#16155) (diff)
downloadmisskey-65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1.tar.gz
misskey-65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1.tar.bz2
misskey-65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1.zip
fix(backend): avoid deadlock when deleting account (#16162)
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/src/core/DriveService.ts6
-rw-r--r--packages/backend/test-federation/test/user.test.ts8
2 files changed, 5 insertions, 9 deletions
diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts
index 1945c58e5b..567bad2a2d 100644
--- a/packages/backend/src/core/DriveService.ts
+++ b/packages/backend/src/core/DriveService.ts
@@ -803,14 +803,14 @@ export class DriveService {
await Promise.all(promises);
}
- this.deletePostProcess(file, isExpired, deleter);
+ await this.deletePostProcess(file, isExpired, deleter);
}
@bindThis
private async deletePostProcess(file: MiDriveFile, isExpired = false, deleter?: MiUser) {
// リモートファイル期限切れ削除後は直リンクにする
if (isExpired && file.userHost !== null && file.uri != null) {
- this.driveFilesRepository.update(file.id, {
+ await this.driveFilesRepository.update(file.id, {
isLink: true,
url: file.uri,
thumbnailUrl: null,
@@ -822,7 +822,7 @@ export class DriveService {
webpublicAccessKey: 'webpublic-' + randomUUID(),
});
} else {
- this.driveFilesRepository.delete(file.id);
+ await this.driveFilesRepository.delete(file.id);
}
this.driveChart.update(file, false);
diff --git a/packages/backend/test-federation/test/user.test.ts b/packages/backend/test-federation/test/user.test.ts
index ee69e857bc..ebbe9ff5ba 100644
--- a/packages/backend/test-federation/test/user.test.ts
+++ b/packages/backend/test-federation/test/user.test.ts
@@ -380,9 +380,7 @@ describe('User', () => {
strictEqual(followers.length, 1); // followed by Bob
await alice.client.request('i/delete-account', { password: alice.password });
- // NOTE: user deletion query is slow
- // FIXME: ensure user is removed successfully
- await sleep(10000);
+ await sleep();
const following = await bob.client.request('users/following', { userId: bob.id });
strictEqual(following.length, 0); // no following relation
@@ -480,9 +478,7 @@ describe('User', () => {
strictEqual(followers.length, 1); // followed by Bob
await aAdmin.client.request('admin/suspend-user', { userId: alice.id });
- // NOTE: user deletion query is slow
- // FIXME: ensure user is removed successfully
- await sleep(10000);
+ await sleep();
const following = await bob.client.request('users/following', { userId: bob.id });
strictEqual(following.length, 0); // no following relation