From 35a259dd189e825431a6cbbd7eb425514d5616f0 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Wed, 7 Jan 2026 10:14:25 +0000 Subject: fix: guard meilisearch client init with mutex --- packages/plugins/search-meilisearch/src/index.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'packages/plugins') diff --git a/packages/plugins/search-meilisearch/src/index.ts b/packages/plugins/search-meilisearch/src/index.ts index 30da4a64..8ffd48cf 100644 --- a/packages/plugins/search-meilisearch/src/index.ts +++ b/packages/plugins/search-meilisearch/src/index.ts @@ -80,6 +80,7 @@ class MeiliSearchIndexClient implements SearchIndexClient { export class MeiliSearchProvider implements PluginProvider { private client: MeiliSearch | undefined; private indexClient: SearchIndexClient | undefined; + private initPromise: Promise | undefined; private readonly indexName = "bookmarks"; constructor() { @@ -100,6 +101,17 @@ export class MeiliSearchProvider implements PluginProvider { return this.indexClient; } + if (this.initPromise) { + return this.initPromise; + } + + this.initPromise = this.initClient(); + const client = await this.initPromise; + this.initPromise = undefined; + return client; + } + + private async initClient(): Promise { if (!this.client) { return null; } -- cgit v1.2.3-70-g09d2