Closed noahlevenson closed 1 year ago
Answer: it depends on the platform. It halts on iOS, but it actually continues execution on Android!
Repro:
Start Freddie, the egress server, and a desktop client. Load the widget in mobile Chrome on iOS. Toggle the slider to begin sharing your connection, and let all the connections establish themselves. Proxy some traffic through Firefox as you normally would to poke the system.
Background mobile Chrome by selecting another application. The egress server will report loss of WebSocket connections and the desktop client will report loss of WebRTC connections, indicating that the widget died when you backgrounded it.
Repeat the same steps, but with the widget loaded in mobile Chrome on an Android device. When you background the widget, the connections remain open, and you can continue proxying Firefox through it. (I left the widget backgrounded for ~5 minutes, and it did not cease execution within that span).
Tested on: iPhone 8 running iOS 16.1.2, Android Galaxy Tab A 8.0" running Android 11
Closing this because @woodybury merged a backgrounding solution for Android in 96e24de91a89ac27fcde5d1e2c20cd282eccc4d3. If I'm misunderstanding things, feel free to reopen it.
Does it keep going, or does it halt? The answer to this question probably touches:
https://github.com/getlantern/broflake/issues/34
https://github.com/getlantern/product/issues/40
https://github.com/getlantern/engineering/issues/78