heroiclabs / nakama-js

JavaScript client for Nakama server written in TypeScript.
https://heroiclabs.com/docs/nakama/client-libraries/javascript/
Apache License 2.0
182 stars 54 forks source link

Socket - rejectAfterPromiseResolved #190

Open robinmaree opened 3 months ago

robinmaree commented 3 months ago

It seems like this timeout is never cleared/cancelled, it's executed for every socket message being send. This is resulting in a rejectAfterPromiseResolved error because the promise is already resolved/rejected somewhere.

Timeout: https://github.com/heroiclabs/nakama-js/blob/eac3ac88b24e3b77e082d7a5fe9cae38bc70d236/packages/nakama-js/socket.ts#L1029

Where it's resolved/rejected (not confirmed): https://github.com/heroiclabs/nakama-js/blob/eac3ac88b24e3b77e082d7a5fe9cae38bc70d236/packages/nakama-js/socket.ts#L831

Not sure what the best fix is yet, but can investigate more if needed.

lugehorsam commented 3 months ago

Hey @robinmaree we'd definitely appreciate any contributions!