NathanaelA / nativescript-websockets

Websockets for NativeScript
83 stars 43 forks source link

events are undefined in angular 12 & 13 #99

Closed seros00 closed 2 years ago

seros00 commented 2 years ago

In angular 12 and 13, events return "undefined" The code for testing is:

let webSocket: any = new WebSocket('ws://nativescript.rocks:3000', []);

webSocket.addEventListener('open', event => {
  this.zone.run(() => {
    console.log('WebSocket isOpen', webSocket.isOpen());
    console.log('WebSocket url', webSocket.url);
    console.log('WebSocket open event:', event);
  });
});

webSocket.addEventListener('message', event => {
  this.zone.run(() => {
    try {
      console.log('WebSocket message event:', event);
      console.log('WebSocket message received:', event.data);

    } catch (error) {
      console.error('webSocket message error:', error);
    }
  });
});

webSocket.addEventListener('close', event => {
  this.zone.run(() => {
    console.log('WebSocket closed');
    webSocket = undefined;
  });
});

webSocket.addEventListener('error', event => {
  console.error('WebSocket:', event.error);
});

The websocket is opened successfully and the URL is right. But all events are undefined. See next logs:

System.err: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". System.err: SLF4J: Defaulting to no-operation (NOP) logger implementation System.err: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. JS: WebSocket isOpen true JS: WebSocket url ws://nativescript.rocks:3000 JS: WebSocket open event: undefined JS: WebSocket message event: undefined JS: webSocket message error: TypeError: Cannot read property 'data' of undefined JS: WebSocket message event: undefined JS: webSocket message error: TypeError: Cannot read property 'data' of undefined JS: WebSocket message event: undefined JS: webSocket message error: TypeError: Cannot read property 'data' of undefined

NOTE: The code above works with the old version 1.5.4 of "nativescript-websockets".

NathanaelA commented 2 years ago

Can you provide me with a Angular app demo that I can clone from where this fails. The code above looks correct, but I need a test app to test.

jakoguta commented 2 years ago

I have experienced the same. event is undefined. Please try the uploaded project. WebsocketProject.zip

sulymkaa commented 2 years ago

is there any update on this issue? facing it on NS8 + Angular13

sulymkaa commented 2 years ago

@seros00 @jakoguta if this is still a concern for you please check my PR

NathanaelA commented 2 years ago

I believe this is fixed in 2.0.5