amazon-chime-sdk-js
amazon-chime-sdk-js copied to clipboard
Chime logs WARN messages when users leave meetings
What happened and what did you expect to happen?
Chime is spamming our logs with WARN level entries when ours users leave meetings. My observations and expectations are documented for each message individually below
WARN: No transition found from Disconnecting with Update
Observation
When leaving a meeting, a common error users experience is that the camera light is left running, because the documented way to end meetings is incomplete, and further documentation needs to be observed. This is confirmed by our experience and also several stackoverflow questions on the topic [1], [2].
So the way we leave meetings is as follows:
await audioVideo.stopVideoInput();
audioVideo.stop();
Unfortunately, calling stopVideoInput seems to make this line log a console.warn message, which is currently spamming our log:
No transition found from Disconnecting with Update
Expectation
Two options:
- Warn level is incorrect: this seems possible, because I can imagine situations where actions may happen concurrent with states for which there is no defined transition, and that being a benign situation.
- There is another one true way to fully leave a meeting client-side in the way users would expect, without that logic creating console.warn messages in our logs.
WARN: no stream found for tile=null
Observation
The final log message we get from Chime when leaving meetings is also a WARN:
no stream found for tile=null
This message stems from removeRemoteVideoTrack
Possible cause: Please don't ask why, but we are running the Chime implementation of video calls alongside another implementation. For architectural reasons, this has led us to bind remote Chime media streams ourselves onto <video> elements. So in the videoTileDidUpdate handler from AudioVideoObserver we are not calling bindVideoElement as documented here. Instead, we are simply adding the incoming stream to the video element with a react ref.
Expectation
If we never add a stream to a tile when starting remote video, Chime should not log a warning that no stream exists on the tile when the call ends?
Overall Expectations
From the API user perspective , fully leaving meetings (and releasing all employed resources) should be a single line of code. Perhaps I am missing something? But if not, the percentage of users who are googling in frustration after chapter 4 left their camera light running must be close to 100%. So if stopVideoInput is truly necessary, then I would suggest documenting this already in the API overview.
Have you reviewed our existing documentation?
Reproduction steps
-
Create a meeting, and add leaving code as follows:
await audioVideo.stopVideoInput(); audioVideo.stop(); -
bind incomingStrem for remote video directly to a
<video>element -
Run video call, end it, observe WARN messages
Amazon Chime SDK for JavaScript version
3.16.0
What browsers are you seeing the problem on?
Chrome
Browser version
118.0.0
Meeting and Attendee ID Information.
No response