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 OAuth2 is not working
the Google OAuth2 is working perfectly in localhost, but when I bring it to production that means real domain, then when I clicked button signin nothing happene...
- Trouble Creating Database and Collection...
Iโve set up my project credentials (endpoint, project ID) and generated an API key. Iโm currently focusing on creating only the database and collections (tables...
- DOWN GRADING FROM PRO
I previously subscribed to pro on one of my projects for trial but unfortunately ive been billed for this month, my aim was to try pro for one month, is there ...