I am building a web app with react, nodejs, and socket io. I am using socket io so that the client can communicate with a node server. Currently, when a client closes the tab, a message is emitted to the server with the user's information so they server can do something with it. Currently, I am using onPageHide and onBeforeUnload to emit the message to the server. This works fine on desktop but on a mobile browser, these events aren't firing, so the message is not emitted to the server. Does anyone know how to solve this? Thank you in advance for all your help!
window.addEventListener("pagehide", () => {
socket.emit("leftRoom", {
lastTimeOnline: Date.now(),
});
socket.off();
});
window.addEventListener("beforeunload", () => {
socket.emit("leftRoom", {
lastTimeOnline: Date.now(),
});
socket.off();
});