Can I use the SyncManager to get channels from desk tickets?

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

  1. User X creates a ticket using POST https://desk-api-{application_id}.sendbird.com/platform/v1/tickets (through our back-end)
  2. User X connects to SendBird in our web client with the SyncManager
  3. User X web client receives new channel created as a result of creating the new ticket
  4. User X clears their local cache (or logs in again in an Incognito window)
  5. User X can no longer list the recently-created channel (not fetched by SyncManager despite calling fetch)

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?

1 Like

Moved to support case.