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; + }, }), ], });