In our application, we currently create tickets using the relevant Desk API endpoint and then retrieve channels related to those ticket for the user using the SyncManager. When the ticket is created (and its associated channel), the group channel is fetched by the SyncManager as expected. However, after clearing the browser’s local cache, the SyncManager no longer fetches these channels.
Using sendbird
v3.0.153 in the web client
Using sendbird-syncmanager
v1.1.26 in the web client
- User
X
creates a ticket usingPOST https://desk-api-{application_id}.sendbird.com/platform/v1/tickets
(through our back-end) - User
X
connects to SendBird in our web client with theSyncManager
- User
X
web client receives new channel created as a result of creating the new ticket - User
X
clears their local cache (or logs in again in an Incognito window) - User
X
can no longer list the recently-created channel (not fetched bySyncManager
despite callingfetch
)
For the SyncManager
integration, I used the following exactly from the docs:
const listQuery = sb.createMyGroupChannelListQuery();
const collection = new SendBirdSyncManager.ChannelCollection(listQuery);
const handler = new SendBirdSyncManager.ChannelCollection.CollectionHandler();
handler.onChannelEvent = (action, channels) => {
switch (action) {
case 'insert':
// Add channels to the view.
break;
case 'update':
// Update channels in the view.
break;
case 'move':
// Change the position of channels in the view.
break;
case 'remove':
// Remove channels from the view.
break;
case 'clear':
// Clear the view.
break;
}
};
collection.setCollectionHandler(handler);
collection.fetch();
After creating the ticket, fetch
will return the related channel on first run. If I clear the local cache however, subsequent invocations of fetch
return an empty array for channels, even though I can clearly see the ticket and related conversation in the SendBird dashboard. Does something prevent channels from being fetched more than once? If so, how does one fetch a channel on 2 devices for the same user? Or in an incognito window? Or after clearing one’s cache? Is the SyncManager
not intended to be used to interact with channels related to Desk tickets?