
I'm receiving this error when attempting to setup a realtime connection listening for updates to a specific document in my users
connection.
My code is as follows:
export async function addUserUpdateListener(auth_id: string, callback: (payload: RealtimeResponseEvent<unknown>) => void) {
try {
const userData = await db.listDocuments(
'chat',
'users',
[
// @ts-ignore
q.equal('auth_id', [auth_id])
]
);
if (userData.documents.length > 0) {
const [user] = userData.documents;
const {$id: userDocId} = user;
const event = `databases.chat.collections.users.documents.${userDocId}.update`;
return client.subscribe(event, callback);
}
}
catch (e) {
console.warn(e);
}
return null;
}
And the path it's attempting to open a websocket connection to is:
wss://cloud.appwrite.io/v1/realtime?project=648a2161cc4d4565adc2&channels%5B%5D=databases.chat.collections.messages.documents&channels%5B%5D=databases.chat.collections.users.documents.648a2228362b7d35edd2.update
Note it appears to be amalgamating the two realtime listeners I have, but I assume this is how it's meant to function.

It's also worth noting that the other realtime listener I have setup is still working.

Channels are a bit different from events, https://appwrite.io/docs/realtime#channels
To subscribe to channel that includes the update
event you need to do something like this
const event = `databases.chat.collections.users.documents.${userDocId}`;
return client.subscribe(event, callback);

Awesome gotcha! Thanks @Binyamin 😄

[Solved] WebSocket is closed before the connection is established?
Recommended threads
- Google auth
Hi, Guys can you hel me verifing a problem with the database, im creating a auth with google but when i created my user with google auth, no appear my user in ...
- Appwrite New York is 500 Internal Error
- How to Query more than 25 items from the...
So I've added this to my query to try and defeat the default 25 item limit: ``` do { const response = await databases.listDocuments( ...
