From 67a16ce2d3ef3013fd084e1a698fcf7ffb97f85e Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Sun, 23 Nov 2025 18:12:32 +0100 Subject: [PATCH 1/2] feat(event-client): disable server events --- packages/event-bus-client/src/plugin.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/event-bus-client/src/plugin.ts b/packages/event-bus-client/src/plugin.ts index 6372ea1f..faf7d2de 100644 --- a/packages/event-bus-client/src/plugin.ts +++ b/packages/event-bus-client/src/plugin.ts @@ -44,6 +44,7 @@ export class EventClient< this.#onConnected, ) } + // fired off right away and then at intervals #retryConnection = () => { if (this.#retryCount < this.#maxRetries) { @@ -77,14 +78,18 @@ export class EventClient< debug = false, enabled = true, reconnectEveryMs = 300, + serverNoOp = false, }: { pluginId: TPluginId debug?: boolean reconnectEveryMs?: number enabled?: boolean + serverNoOp?: boolean }) { this.#pluginId = pluginId - this.#enabled = enabled + // disables events on server if serverNoOp is active, defaults to #enabled outside this environment + this.#enabled = + serverNoOp && typeof document === 'undefined' ? false : enabled this.#eventTarget = this.getGlobalTarget this.#debug = debug this.debugLog(' Initializing event subscription for plugin', this.#pluginId) From a1ad37076f9275157ce52a845acfc13ae3f63a5b Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Sun, 23 Nov 2025 18:13:35 +0100 Subject: [PATCH 2/2] chore: cleanup --- packages/event-bus-client/src/plugin.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/event-bus-client/src/plugin.ts b/packages/event-bus-client/src/plugin.ts index faf7d2de..9530ba7a 100644 --- a/packages/event-bus-client/src/plugin.ts +++ b/packages/event-bus-client/src/plugin.ts @@ -78,18 +78,19 @@ export class EventClient< debug = false, enabled = true, reconnectEveryMs = 300, - serverNoOp = false, + noServerEvents = false, }: { pluginId: TPluginId debug?: boolean reconnectEveryMs?: number enabled?: boolean - serverNoOp?: boolean + noServerEvents?: boolean }) { + const runningOnServer = typeof window === 'undefined' + this.#pluginId = pluginId - // disables events on server if serverNoOp is active, defaults to #enabled outside this environment - this.#enabled = - serverNoOp && typeof document === 'undefined' ? false : enabled + // disables events on server if noServerEvents is active, defaults to #enabled outside this environment + this.#enabled = enabled && !(noServerEvents && runningOnServer) this.#eventTarget = this.getGlobalTarget this.#debug = debug this.debugLog(' Initializing event subscription for plugin', this.#pluginId) @@ -99,6 +100,11 @@ export class EventClient< this.#connectEveryMs = reconnectEveryMs } + // for debugging purposes + get isEnabled() { + return this.#enabled + } + private startConnectLoop() { // if connected, trying to connect, or the internalId is already set, do nothing if (this.#connectIntervalId !== null || this.#connected) return