With this context in mind, I wonder what happens if you open an Atom instance, leave it open for more than 24 hours, and then try to share or join a portal. I suspect that any attempt to access the ICE server URLs would fail.
@nathansobo: Does that ☝️ sound right? If so, I'm guessing that we'll need some way for the RealTimeClient to ensure that it always has fresh (i.e., not-yet-expired) ICE server URLs/credentials.
In the real-time package, we create and memoize a single
RealTimeClient
instance. TheRealTimeClient
instance creates aPeerPool
instance. ThePeerPool
instance fetches the current ICE server URLs/credentials, and stores them for the life of thePeerPool
instance. However, the ICE server URLs/credentials expire within 24 hours [1].With this context in mind, I wonder what happens if you open an Atom instance, leave it open for more than 24 hours, and then try to share or join a portal. I suspect that any attempt to access the ICE server URLs would fail.
@nathansobo: Does that ☝️ sound right? If so, I'm guessing that we'll need some way for the
RealTimeClient
to ensure that it always has fresh (i.e., not-yet-expired) ICE server URLs/credentials.[1] Twilio API docs: https://www.twilio.com/docs/api/rest/token