Hello,
Could you provide clarification on how Character Session Concurrency is handled internally?
I need to implement logic in my application to notify users when the concurrency limit defined by the subscription plan is reached. For example, I would like to display a message such as “Please wait…” while the limit is reached and remove it when a session slot becomes available.
Specifically, I would like to understand when a concurrency slot is considered occupied and released.
For example:
-
Is a concurrency slot counted when the application connects to the Convai service successfully, and then released only when the user exits/closes the application?
-
Or is concurrency counted only when an actual avatar interaction begins (for example when a request to the character interaction API is initiated), and then released when that interaction or conversation session ends?
-
If concurrency is exceeded, does the API return a specific error that can be used programmatically to detect that the limit has been reached?
My goal is to implement a client-side waiting mechanism so that when the concurrency limit is reached, users are informed for the purpose of UX.
Any clarification on how session lifecycle and concurrency allocation work would be greatly appreciated.
Thank you!