Incorrect response on spotlight user command when called too quickly

Hello

On MacOS SDK version v5.4.54518.1229 (have not yet upgraded to latest) there appears to be an erroneos SUCCESS response to the spotlightVideo: command if called too closely to a “unspotlightAllVideos” command - the command fails - I assume due to the lack of a delay, but rather than returning a “ZoomSDKError_TooFrequentCall” which would allow me to deal with this I get SUCCESS returned.

Richard

Hi @richard1, thanks for the post.

Sorry to hear you are encountering this error with the spotlight feature. This probably is not a scenario wherein we would want to convey the ZoomSDKError_TooFrequentCall error, since that more closely relates to exceeding SDK rate limits.

I initially thought this was a race condition, but it would appear that the onSpotlightVideoUserChange callback does not yet support multi-spotlighting. We should be including support for this in the next SDK release. :slightly_smiling_face:

Thanks!

1 Like

Hi Jon

Thanks for your response. I agree that it appears that zoomOSC is getting stuck but I am certain an error should be returned. I execute all the commands to the SDK in a syncronus block, and ensure that a small delay is applied (as discussed in the other post),

My log (from our app) is showing the below, I have commented for reference:

Info: received message /zoom/users/username/addSpot “1” “2” “3”. //request to add those three users to spotlight
Info: Spot-lit User. //first user commadn executed, Success must have been returned otherwise we would log an errror
Info: Spot-lit User //second user commadn executed, Success must have been returned otherwise we would log an errror
Info: Spot-lit User //third user commadn executed, Success must have been returned otherwise we would log an errror
Info: got spotlight change for user 16778240 to 1 //and then finally we get the notification that the first spotlight change has occurred. The SDK doesn’t even attempt the other two.

So the command is returning success even when it does nothing - which is obviously not correct.

It’s a really tricky one for us to fix without adding in some very clunky extra code for this specific edge case.

It’s worth noting that adding users to the Pin works as expected, with failure responses until the pin command is successful.

Thanks

Richard

Hi @richard1,

Thank you for the additional details. Since this callback does not yet support multi-spotlighting, it is not surprising that it is behaving unexpectedly in this use case. Once this support has been added in the next SDK release, this should work properly.

Thanks!

Thanks - so looking at this the issue appears to be that the Success message is returned when the SDK successfully dispatches the message to the server, but does not include any sort of sanity check to ensure that the message has been actioned. The server appears - independantly - to simply ignore spotlight messages if they are received too quickly together.

I have got around this by doing some ugly work to repeat the spotlight request until the user is in the spotlit user list.

I did find an additional oddity in that, if I call “clearSpotlight” I can then check the list of spotlit users and it will be empty, however if I don’t wait long enough before spotlighting a new user then the server doesn’t actually clear the list.

Hi @richard1,

That’s great that you’ve found a workaround for this! Please keep in mind that, since support for multi-spotlighting will be added in the next release, your workaround may cause adverse behavior. This should function as expected in the next release, so that workaround will no longer be necessary. :slightly_smiling_face:

Thanks!

Thanks Jon - I would love to delete my code here as it makes me feel a little dirty when I see it so let’s hope the next update makes my wish come true!

Hi @richard1,

Haha I have definitely been there before! The next SDK release is still far enough out that we don’t have an exact release date settled on, but hopefully you will be able to get rid of that workaround soon. :slightly_smiling_face:

Thanks!

Hi @jon.zoom, figured I would pass this report on from one of our users:

“Had nine spotlighted, 1 by username, 8 by gallery position called up on the fly. Cleared spotlight, called presenter back into spotlight by username. Six of the previous spotlights reappeared. Cleared spotlight. Spotlighted presenter. Got six. Cleared spotlight, spotlighted presenter manually through the usual interface. Got the six. Going to see if I can replicate it later after this meeting is over, but seems like a Zoom thing rather than an OSC thing since it did it by clicks too.”

All that about the usernames and positions is stuff that ZoomOSC handles, just translating that data into the Zoom ID for the API call. Any ideas?

Hi @liminal_andy,

This seems like an instance of something that should be resolved with our “fix” (i.e. adding multi-spotlighting support) next release. I do not believe there are any workarounds available that would help with this behavior right now. The best we will be able to do is make note of this use case and ensure that whomever is testing this feature for next release is aware of it.

Thanks!

1 Like