From a9b14788fc038d4d0e039708b67b1fc8b6460b3a Mon Sep 17 00:00:00 2001 From: Zoltan Erdos Date: Sun, 2 Feb 2025 18:52:02 +0000 Subject: [PATCH] fix: improve polyfill for addEventListener in WebSocketHandler; use Object.defineProperty for better compatibility --- packages/spike.land/src/websocketHandler.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/spike.land/src/websocketHandler.ts b/packages/spike.land/src/websocketHandler.ts index 7587f565e7..7be0a9fa24 100755 --- a/packages/spike.land/src/websocketHandler.ts +++ b/packages/spike.land/src/websocketHandler.ts @@ -78,8 +78,9 @@ export class WebSocketHandler { public handleWebsocketSession(webSocket: WebSocket): void { // Polyfill addEventListener if not available if (typeof webSocket.addEventListener !== "function") { - (webSocket as any).addEventListener = function(type: string, listener: any) { - this["on" + type] = listener; + webSocket.addEventListener = function(type, listener) { + const handlerName = "on" + type; + Object.defineProperty(webSocket, handlerName, ()=>listener); }; } try {