Repository navigation
Keep reconnect and PiP recovery bounded across transient successes - #121
alantangok wants to merge 3 commits into
Conversation
A brief SDK OK or display-layer rendering status currently clears the retry counter, allowing repeated failure/success cycles to restart recovery forever. Retain the three-attempt budget until five continuous healthy seconds, keep the existing retry delays and timeouts, and hold an opaque recovery overlay. Do not accept the SDK network-failure flag as successful recovery. Exercise the production poll and PiP recovery methods with fake dependencies and a controlled clock, and run these regressions in the existing build CI. The baseline fails eight behavior checks; the fix passes all 32 checks and the unsigned Release iphoneos build with Xcode 26.6. Device confirmation covers the older stable candidate. This current-main port still needs physical-device restore/PiP validation.
|
I use OpenParsec daily on both my iPhone and iPad now, after often being unable to connect with AnyDesk. My goal is to help make this open-source remote desktop client as stable and easy to use as possible, for everyday use and gaming. I'd also like to learn from the UX of AnyDesk, Microsoft Remote Desktop, RustDesk, Sunshine/Moonlight and other remote desktop and cloud gaming tools. |
|
Another idea I'd love to explore is a Parallels Coherence-style mode on iPad, where remote apps could appear as separate windows instead of showing the whole remote desktop. I'm not sure whether the Parsec SDK can support this, but it could be an interesting direction to investigate. |
|
please drop check_stream_recovery.py and build.yml |
|
Dropped |
After a background restore, a brief
PARSEC_OKor display-layer.renderingsample clears the retry counter. If it fails again immediately, reconnect/PiP recovery can keep restarting and expose flashing frames.Require five healthy seconds before renewing the three-attempt budget. Keep the existing retry delays and connection/approval timeouts, hold an opaque overlay during reconnect, and reject SDK network failure as successful recovery. PiP retries also respect backoff and stay stopped after exhaustion.
This builds on #108 and #109, using current main with its existing renderer, input and settings code.
Validation:
iphoneosbuild passes with Xcode 26.6 and the pinned SDK submodule.