This message was deleted.
# helpdesk
s
This message was deleted.
❤️ 1
d
Welcome Scott! Thank you for the kind words and I hope we won't disappoint. To answer your questions: • on iOS Safari, we currently don't have a server-side event for this. There are a couple of ways you could get access to this notification though: ◦ build a server-side participant using our Go, Python, or Rust SDKs, there it gets the full event stream just like any client-side participant ◦ from your app, listen to the
TrackMuted
event for the local participant, I believe that event would fire on the client-side before camera is shut off. • If you force quit, you are right that we cannot immediately distinguish if the client is going to reconnect or not. Currently we rely on a server-side timeout (if we don't hear from the participant for 15s). As with all magic numbers go, there isn't a perfect timeout. If you need to know the exact moment that the user is gone, you could experiment with using data messages (i.e. send it on a periodic basis, and use your own logic to distinguish if they are indeed gone or just has poor network temporarily) • For incoming call detection, you should take a look at AudioContext.statechange, it should tell you when the audio session has been interrupted.
r
Thank you for these. These are all fantastic ideas. I will go ahead and see what I can do with this information and let you know if I run into any hurdles where I might need some more pointers.
🙌 1
Hi David, just wanted to give you an update - your suggestions were fantastic, we built a participant with the golang sdk to sit in the call, and added in heartbeat with some additional data via the data channel to allow for earlier pausing - combined with the livekit reported states, it's achieved the effect we wanted perfectly. We also got egress setup, which was so much easier than Agora Cloud Recording. We had hundreds of lines of code to just be able to record a call, and now, we have just 10 lines of adding
egress
to createRoom. Great work, and we are rolling out LiveKit to production next week! You have yourselves a new livekit cloud customer!
🚀 1
🙌 1
d
woohoo! excited for this! Let us know if you have any additional feedback after the launch. What's your app by the way? Would love to try it out
r
But, you can probably very quickly see why I wanted all of this pausing... so many variables can change, and since we charge per-minute, we want to pause during technical issues
(some creators also have a feature enabled whereby we allow downloads of the calls for an additional charge, hence also the usage of egress)
d
oh this is cool! yeah it totally makes sense why you'd want to pause billing as quickly as possible.
r
Just wanted to update you again, we have LiveKit in prod now, and last night had our first proper test with a customer we'd enabled it for. Pausing worked flawlessly, the call experience was far better, and there were no unexpected call-ends (but multiple pauses which would've forced us to end the call when we had Agora). Egress also worked great, so we are super happy. Great work, we've definitely found our right video provider now!
🙌🏽 1
We let the creator know that we'd changed their account over, and they sent us an email after the calls saying how much of an improvement they saw with the pauses, and how it was far less disruptive for them
🙌🏽 1