Recover headless preview sessions after client resets and delayed timers
A frontend refresh can recreate the app-side session without reloading the iframe, causing it to lose the host session ID. Background tabs can also delay renewal timers until after token expiry. Both cases can prevent the headless preview from recovering. ### Proposed resolution Repeat the host handshake when the app reports status without a session ID. Check token expiry against the current time before starting renewal, and enter recovery when the token is overdue. ### User interface changes n/a
issue