From 28aa440bcc967224964cadf141924f8960409c9a Mon Sep 17 00:00:00 2001 From: Johann150 Date: Fri, 18 Nov 2022 20:52:19 +0100 Subject: [PATCH] server: correctly await promises when updating server info When not awaiting promises, truncating the table and inserting again can sometimes not work due to race conditions. --- packages/backend/src/misc/fetch-meta.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/misc/fetch-meta.ts b/packages/backend/src/misc/fetch-meta.ts index 4938cd3ec..2b8966810 100644 --- a/packages/backend/src/misc/fetch-meta.ts +++ b/packages/backend/src/misc/fetch-meta.ts @@ -12,8 +12,8 @@ export async function setMeta(meta: Meta): Promise { const unlock = await getFetchInstanceMetadataLock('localhost'); // try to mitigate older bugs where multiple meta entries may have been created - db.manager.clear(Meta); - db.manager.insert(Meta, meta); + await db.manager.clear(Meta); + await db.manager.insert(Meta, meta); cache = meta; @@ -35,7 +35,7 @@ async function getMeta(): Promise { }, }); if (metas.length === 0) { - db.manager.insert(Meta, { + await db.manager.insert(Meta, { id: 'x', }); metas = await db.manager.find(Meta, {