Skip to content
Back

Realtime Disconnects and Error: INVALID_STATE_ERR

  • 0
  • Android
  • Databases
  • Apple
  • React Native
  • Realtime
Ken A. (shaarlss)
30 Jun, 2025, 10:56

Hi! I just want to ask here if there's any workaround with the disconnect issues we're encountering when subscribing to realtime events in react native using expo and also having this INVALID_STATE_ERR.

ERROR Realtime got disconnected. Reconnect will be attempted in 1 seconds. Stream end encountered ERROR Error: INVALID_STATE_ERR, js engine: hermes

Here's how we implemented in subscribing for realtime events based off on your documentations:

useEffect(() => { let unsubscribe = null;

TypeScript
const setupRealtimeListeners = async () => {
  try {
    unsubscribe = client.subscribe(
      [
        `databases.${secrets.appwriteConfig.databaseId}.collections.${secrets.appwriteConfig.messagesCollectionsId}.documents`,
        `databases.${secrets.appwriteConfig.databaseId}.collections.${secrets.appwriteConfig.chatsReadCollectionId}.documents`,
      ],
      (response) => {
        if (response.payload?.$collectionId === secrets.appwriteConfig.messagesCollectionsId) {
          handleRealTimeMessagesEvents(response);
        } else if (response.payload?.$collectionId === secrets.appwriteConfig.chatsReadCollectionId) {
          handleRealTimeMessageReadEvents(response);
        }
      },
    );
  } catch (err) {
    console.error("Realtime not ready or subscription failed:", err);
  }
};

setupRealtimeListeners();

return () => {
  if (unsubscribe) unsubscribe();
  chatIdRef.current = null;
};

}, []);

@Cara Santos @Luis P. @Ian R.

TL;DR
Developers are experiencing realtime disconnects and an 'INVALID_STATE_ERR' when subscribing to realtime events in React Native using Expo. The issue may be caused by problems with the hermes JS engine. One potential workaround is to ensure that the realtime setup and listeners are properly implemented in the code. Always refer to the proper documentation for guidance.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more