Skip to content
Back

Realtime didn't work in react native expo.

  • 0
  • React Native
  • Realtime
  • Cloud
Popt
10 Sep, 2025, 01:08
TypeScript
useEffect(() => {
    const { client } = createClient();

    const unsubscribe = client.subscribe(`databases.${process.env.EXPO_PUBLIC_APPWRITE_DATABASE}.tables.68a3fd390007b23f8ee7.rows.68b2f2e0001bdd8aeda6.update`,
      (response) => {
        console.log(response);
      },
    );

    return () => {
      unsubscribe();
    };
  }, []);

The above is my code, this is just a test. I have confirmed that all IDs are correct and the table has CRUD (any) permissions set. Then I updated the data in the AppWrite Cloud Dashboard, but I still didn't receive any response.

Seniors please help, I'm really at a loss as to what to do. I'm using the react-native-appwrite package and the environment is expo development build.

Please help me, I have posted many times but never received a response. I have not made any progress on the project for two weeks because of this problem.

I have encountered a new problem. I found that I must set the table permission to ANY READ so that I can receive the response of the real-time connection.

This is the package i use: "react-native-appwrite": "^0.13.0",

TL;DR
Realtime functionality in React Native Expo wasn't working for developers using the "react-native-appwrite" package. To fix the issue, ensure the table permission is set to "ANY READ" for real-time connection responses.
mattseq
10 Sep, 2025, 01:40

yeah im having the same problem right now

mattseq
10 Sep, 2025, 01:44

oh do we need to use the new tablesDB stuff? this is what mine looks like:

TypeScript
useEffect(() => {
    if (!roomId) return;

    // initial fetch
    fetchMessages();

    // subscribe for realtime updates
    const unsubscribe = client.subscribe('databases.main.collections.messages.documents', response => {
      console.log(response.payload);
      // fetch messages again if in the same room
      if (response.payload.roomId === roomId) {
        fetchMessages();
      }
    });

    return () => {
      unsubscribe();
    }
  }, [roomId]);
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