IOS goes to sleep when the browser is placed behind another app. Given the prime driver for this app is to allow us to record whilst using the camera to record this is unacceptable.
The requirement is to allow it to carry on.
After some trial and error not documented here we have to change the way in which the system runs. In particular
no closing the channel if the status stream is closed (IOS does this as it puts the browser in the background)
It must be possible to not renew for a long period of time (until 4:am the next day! - except when recording where within 4 hours, else the recording will be stopped)
A new api call /api/:client/done is introduced which a closing client can throw at the server as the window is unloaded. This is what should stop recordings and release control
A new api call /subscribeid which will return a uuid which we can use to identify the client. A service worker will cache the reply from the server on registering and will serve it from cache for ever after.
IOS goes to sleep when the browser is placed behind another app. Given the prime driver for this app is to allow us to record whilst using the camera to record this is unacceptable.
The requirement is to allow it to carry on.
After some trial and error not documented here we have to change the way in which the system runs. In particular
no closing the channel if the status stream is closed (IOS does this as it puts the browser in the background)
It must be possible to not renew for a long period of time (until 4:am the next day! - except when recording where within 4 hours, else the recording will be stopped)
A new api call
/api/:client/done
is introduced which a closing client can throw at the server as the window is unloaded. This is what should stop recordings and release controlA new api call
/subscribeid
which will return a uuid which we can use to identify the client. A service worker will cache the reply from the server on registering and will serve it from cache for ever after.