mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 00:27:39 +00:00
fix(browser): close the round-three parked-page reporting and reuse gaps
- Reusing a page id while its close was still tearing down let the new renderer register and the old close then unregister it, leaving a page the runtime owned but no command could resolve. A create now waits out an in-flight release for that id, which orders the whole reuse. - Closing a parked page told nobody: it has no WebContents teardown for the session-tabs publication to piggyback on, so a paired client kept showing a ghost tab until an operation against it failed. - A page waiting on a certificate decision was parkable. Its challenge id dies with the renderer, so parking discarded both the warning and the ability to approve it. Such a page is work waiting on an answer and stays resident. - The load helper resolves on its own 30s timeout, so `loading` stopped covering a navigation that was merely slow. The renderer is asked directly. - An iframe changing its own hash fires did-navigate-in-page too, and its address was being recorded as the tab's — waking would have landed the page on the iframe's document. Only main-frame navigations move the record. - `tab switch --index` reported the position the wake had renumbered the target to, which described neither the request nor the listing the caller read. Each mutation-checked. An ownership guard added alongside the reuse fix turned out to be unreachable once creates are ordered, so it is not here.
This commit is contained in:
@@ -289,8 +289,8 @@ targets it transparently rebuilds the renderer and reloads the address. What a
|
||||
park does _not_ preserve is in-page JavaScript state — cookies and local
|
||||
storage live in the profile partition and survive, but an unsubmitted form or
|
||||
an SPA's in-memory state does not. A page is never parked while a paired
|
||||
client is streaming it, while a command against it is in flight, or while its
|
||||
navigation has not committed.
|
||||
client is streaming it, while a command against it is in flight, while it is
|
||||
still navigating, or while it is waiting on a certificate decision.
|
||||
|
||||
Two evictors decide what stays resident, mirroring terminal pane parking. The
|
||||
cap is the primary one:
|
||||
|
||||
Reference in New Issue
Block a user