From 13aae6933d65acfbbf2a1c7d6188894324fa4ed4 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Thu, 28 Nov 2024 00:40:17 -0800 Subject: [PATCH] Fixes #15470 --- src/bun.js/api/server.zig | 4 ++++ test/js/bun/websocket/websocket-server.test.ts | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig index ef38c02e8b..fcf5935338 100644 --- a/src/bun.js/api/server.zig +++ b/src/bun.js/api/server.zig @@ -5765,6 +5765,10 @@ pub fn NewServer(comptime NamespaceType: type, comptime ssl_enabled_: bool, comp return JSValue.jsNumber(0); } + if (this.config.websocket == null or this.app == null) { + return JSValue.jsNumber(0); + } + return JSValue.jsNumber((this.app.?.numSubscribers(topic.slice()))); } diff --git a/test/js/bun/websocket/websocket-server.test.ts b/test/js/bun/websocket/websocket-server.test.ts index 6bcb231747..53d2288b56 100644 --- a/test/js/bun/websocket/websocket-server.test.ts +++ b/test/js/bun/websocket/websocket-server.test.ts @@ -825,3 +825,13 @@ async function connect(server: Server): Promise { clients.push(client); await promise; } + +it("you can call server.subscriberCount() when its not a websocket server", async () => { + const server = serve({ + port: 0, + fetch(request, server) { + return new Response(); + }, + }); + expect(server.subscriberCount("boop")).toBe(0); +});