Hi,
I have this piece of code in my ticket sidebar app (this is a simplified example):
client.context().then(context => {
console.log("CONTEXT", context);
this.context = context;
});
client.get("ticket").then(ticket => {
console.log("TICKETDATA", "ID=" + ticket.ticket.id, "SUBJECT=" + ticket.ticket.subject);
this.ticketData = ticket;
})
However, when my app loads/refreshes, this results in the ticket data and context being loaded for all open tickets (open ticket tabs), not just the ticket tab in focus. Is this intended behaviour? I have used the apps framework for some years and never noticed this before. A screenshot from our sandbox:

If it is intended, how do I identify which ticket is in focus, so I can grab the ticket data with client.get("ticket") (or sub-properties, e.g. client.get("ticket.organization.organizationFields")) for just that ticket? In the example above, for #1635. I would have assumed that at least only one context (which includes a ticket ID) was fetched, but I also get all three of those, as can be seen.
Thanks for any input.
Kind regards,
Chris
Wrapping the function(s) in a
client.on('app.activated', ()=>{})method should prevent this from happening. Here's a link to the docs which explains the app.activated event in a bit more detail:https://developer.zendesk.com/api-reference/apps/apps-core-api/core_api/#appactivated
I hope this helps! Feel free to reach out with any questions.
Tipene