ZoomApp - Receiving a Meeting and Panel Context

Format Your New Topic as Follows:

Zoom Apps Context
Zoom Apps configuration = using the zoom apps-advanced sample-react starter code as a template. I haven’t made any significant changes to the routes provided in the starter code. I am running a MERN stack, have created a front-end, and moved away from docker to a node/express/webpack deploy process.

Description
I’m currently implementing a process to record when a user launches the app to monitor/count usage. I’ve noticed that when the app is opened during a meeting (in development, desktop), the home route (api/zoomapp/home) in the zoom app controller.js is recording/decrypting a “meeting” context then runs a second time recording/decrypting a “panel” context. See below for the output (with some fields blanked for security reasons).

**Question
Is this the intended behavior i.e. when opening the app in a desktop meeting both a “meeting” and “panel” context will register? As far as I can tell, the meeting I opened is just a meeting, it is not a panel, webinar, or chat session. Secondarily, I see in the docs that only a meeting will return a meeting id but why doesn’t the “panel” context have a meeting id or similar to allow easy trackability (maybe a panel always exists inside a meeting)?

**Troubleshooting Routes
I did review my code to ensure my server wasn’t somehow generating two requests on this route but that doesn’t make sense given that this data has Zoom headers et al that verify the request is coming from Zoom. I also considered the fact that React specifically in development can kick off multiple hits/render multiple times. I haven’t completely ruled this out but my hunch is that if this was a React rerender, I wouldn’t see the context type change from “meeting” to “panel” on the second hit.

========

[0] ZOOM APP HOME URL HANDLER ================================================== 
[0] 
[0] 1. Decrypted Zoom App Context: {
[0]   typ: 'meeting',
[0]   uid: '<removed actual uid>',
[0]   aud: '<removed actual aud>',
[0]   iss: 'marketplace.zoom.us',
[0]   ts: 1704080638566,
[0]   exp: 1704080758566,
[0]   entitlements: [],
[0]   mid: 'Yia+yaDVTrKFscU1BnkqoQ==',
[0]   attendrole: 'host'
[0] } 
[0] ZOOM APP HOME URL HANDLER ================================================== 
[0] 
[0] 1. Decrypted Zoom App Context: {
[0]   typ: 'panel',
[0]   uid: '<removed actual uid>',
[0]   aud: '<removed actual aud>',
[0]   iss: 'marketplace.zoom.us',
[0]   ts: 1704080640066,
[0]   exp: 1704080760066,
[0]   entitlements: []
[0] }