
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
- Adding custom domain to Appwrite project
My app is hosted on Vercel on domain todo.velleb.com. On PC, the OAuth logins like GitHub, Discord and Google work and create the account and log in. On mobile ...
- #support
<#1072905050399191082> any help on that?
- Early Validation of Password Reset Token...
Hey there, I'm dealing with an issue with password reset flow and wondering how you handle this. Right now, when someone clicks an expired/already-used reset ...
