From 844d31f10c3e3aaef3d61b1ed44555ca913ae559 Mon Sep 17 00:00:00 2001 From: tamaina Date: Thu, 3 Aug 2023 10:39:29 +0000 Subject: [PATCH] :v: --- packages/frontend/src/components/MkNote.vue | 4 ++-- packages/frontend/src/scripts/entity-manager.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index d59ed58596..f0d318c408 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -476,7 +476,7 @@ function showReactions(): void { }, {}, 'closed'); } -const unuse = ref<() => void>(); +const unuse = ref<(x?: boolean) => void>(); unuse.value = noteManager.useNote(appearNote.value?.id ?? props.note.id, true).unuse; @@ -504,7 +504,7 @@ onDeactivated(() => { // 不要なキャッシュ消去や通信を防止するため遅延させる if (_unuse) { setTimeout(() => { - _unuse(); + _unuse(true); }, 1000); } }); diff --git a/packages/frontend/src/scripts/entity-manager.ts b/packages/frontend/src/scripts/entity-manager.ts index 0af9530e43..d3c413d8c4 100644 --- a/packages/frontend/src/scripts/entity-manager.ts +++ b/packages/frontend/src/scripts/entity-manager.ts @@ -335,7 +335,7 @@ export class NoteManager { this.captureing.set(id, 1); } - private decapture(id: string): void { + private decapture(id: string, noDeletion = false): void { if (!this.notesSource.has(id)) return; const captureingNumber = this.captureing.get(id); @@ -351,7 +351,7 @@ export class NoteManager { this.captureing.delete(id); // キャプチャが終わったらcomputedキャッシュも消してしまう - this.notesComputed.delete(id); + if (!noDeletion) this.notesComputed.delete(id); } /** @@ -373,10 +373,10 @@ export class NoteManager { using = true; }); - const unuse = () => { + const unuse = (noDeletion = false) => { CapturePromise.then(() => { if (!using) return; - this.decapture(id); + this.decapture(id, noDeletion); using = false; }); };