v0.11.26 FCM bugs fixes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "rosterchirp-frontend",
|
||||
"version": "0.11.25",
|
||||
"version": "0.11.26",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -47,12 +47,15 @@ export function SocketProvider({ children }) {
|
||||
window.dispatchEvent(new CustomEvent('rosterchirp:session-displaced'));
|
||||
});
|
||||
|
||||
// Bug B fix: when app returns to foreground, force socket reconnect if disconnected
|
||||
// When app returns to foreground, force a full disconnect+reconnect.
|
||||
// The underlying WebSocket is often silently dead after Android background
|
||||
// suspension while socket.io-client still reports connected (stale state
|
||||
// until the ping/pong timeout fires ~45s later). Always force a fresh
|
||||
// connection so the "offline" indicator clears immediately on focus.
|
||||
const handleVisibilityChange = () => {
|
||||
if (document.visibilityState === 'visible') {
|
||||
if (socketRef.current && !socketRef.current.connected) {
|
||||
socketRef.current.connect();
|
||||
}
|
||||
if (document.visibilityState === 'visible' && socketRef.current) {
|
||||
socketRef.current.disconnect();
|
||||
socketRef.current.connect();
|
||||
}
|
||||
};
|
||||
document.addEventListener('visibilitychange', handleVisibilityChange);
|
||||
|
||||
Reference in New Issue
Block a user