From ec8c5fcb707164b6269d221beee09a321b023273 Mon Sep 17 00:00:00 2001 From: Heikki Hellgren Date: Fri, 8 Dec 2023 14:38:34 +0200 Subject: [PATCH] fix: only allow one signal client instance at once Signed-off-by: Heikki Hellgren --- plugins/signals/src/plugin.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/signals/src/plugin.ts b/plugins/signals/src/plugin.ts index 946e9aaa71..1482d7dae1 100644 --- a/plugins/signals/src/plugin.ts +++ b/plugins/signals/src/plugin.ts @@ -22,6 +22,8 @@ import { import { signalApiRef } from '@backstage/plugin-signals-react'; import { SignalClient } from './api/SignalClient'; +let clientInstance: SignalClient | undefined = undefined; + /** @public */ export const signalsPlugin = createPlugin({ id: 'signals', @@ -32,11 +34,15 @@ export const signalsPlugin = createPlugin({ identity: identityApiRef, discoveryApi: discoveryApiRef, }, - factory: ({ identity, discoveryApi }) => - SignalClient.create({ - identity, - discoveryApi, - }), + factory: ({ identity, discoveryApi }) => { + if (!clientInstance) { + clientInstance = SignalClient.create({ + identity, + discoveryApi, + }); + } + return clientInstance; + }, }), ], });