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 {