From be75cf20de77372162f62918f2a852f4e2389c5a Mon Sep 17 00:00:00 2001 From: tamaina Date: Fri, 11 Aug 2023 15:45:20 +0000 Subject: [PATCH] =?UTF-8?q?Revert=20"notesComputed.delete=E3=82=92?= =?UTF-8?q?=E3=82=84=E3=82=81=E3=82=8B"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e238ffb43162b52c2d26b8cc6f9aab5486392a5a. --- packages/frontend/src/scripts/entity-manager.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/frontend/src/scripts/entity-manager.ts b/packages/frontend/src/scripts/entity-manager.ts index c63628761c..21ce3b4a59 100644 --- a/packages/frontend/src/scripts/entity-manager.ts +++ b/packages/frontend/src/scripts/entity-manager.ts @@ -107,6 +107,14 @@ export class NoteManager { } public set(_note: Note): void { + if (this.updatedAt.has(_note.id)) { + if (this.updatedAt.get(_note.id)! + 100 > Date.now()) { + if (this.isDebuggerEnabled) console.log('NoteManager: set ignore', _note.id); + // 100ms以内に更新されたノートは無視(computedが壊れるので) + return; + } + } + const note: Note = { ..._note }; userLiteManager.set(note.user); @@ -435,11 +443,10 @@ export class NoteManager { this.captureing.delete(id); // キャプチャが終わったらcomputedキャッシュも消してしまう - //if (!noDeletion) { - // this.notesComputed.delete(id); - // if (this.isDebuggerEnabled) console.log('NoteManager: decapture (delete computed)', id); - //} - // と思ったが、computedキャッシュを消すと壊れるのでやめる + if (!noDeletion) { + this.notesComputed.delete(id); + if (this.isDebuggerEnabled) console.log('NoteManager: decapture (delete computed)', id); + } } /**