Handle document replacement during desktop integration checks

This commit is contained in:
OverSu 2026-09-30 23:24:13 +02:00
commit 4f8cec644e
2 changed files with 12 additions and 2 deletions

View file

@ -102,7 +102,16 @@ bc.currentWindowGlobal.getActor('VulpesProbe').sendQuery('Evaluate', CODE)
last = None
deadline = time.monotonic() + timeout
while time.monotonic() < deadline:
last = evaluate(app, code)
try:
last = evaluate(app, code)
except AssertionError as error:
# Navigation can replace the document while its read-only probe is pending.
detail = error.args[0] if error.args else None
if not isinstance(detail, dict) or not detail.get("error", "").startswith(
"AbortError: Actor 'VulpesProbe' destroyed before query"
):
raise
last = None
if last:
return last
time.sleep(0.15)