- wait for a non-empty bearer token before starting and stop capture after 5 empty attempts or 30s
- use the worker latest endpoint as the final fallback and stop when no remote version is available
- add scriptVersion to clientContext
- stop treating latest.json as a confirmed target version
- gate desktop-update probing through sequential success-only checks
- add timeout and one retry for request failures
- keep empty_response and request_error silent
- report parse failures with forensic raw response payloads
- remove dead metadata and obsolete error branches