useViewAddress: say which writers share commitUrl, and why a push copies the router's state
The header claimed that every write to the address bar goes through commitUrl. Only the view keys and the filters do. The tree's other history writers are pinned by check:view-address's census. The header also says why a push copies the previous state: a Vue Router page is a 'host' owner, so its router does its own pushes. Comment only.
This commit is contained in:
parent
30dc9a1457
commit
00782796a9
1 changed files with 5 additions and 2 deletions
|
|
@ -18,8 +18,11 @@
|
|||
* absent a partner's page: nothing is written; links are still READ (readViewKeys works everywhere).
|
||||
* A nested element never writes: it announces its choice upward (announceView) and the owner records it.
|
||||
*
|
||||
* ★ THE ONE HISTORY WRITE: commitUrl(). Every write to the address bar goes through it (useShareableView's filter
|
||||
* writes included), so two modules can never undo each other. It keeps `history.state` and sets its `current` to the
|
||||
* ★ THE ONE HISTORY WRITE: commitUrl(). The view keys and useShareableView's filters both write through it, so those
|
||||
* two can never undo each other. The tree's other history writers are pinned by check:view-address's census and move
|
||||
* onto commitUrl in later phases. On a push, commitUrl copies the previous entry's state (Vue Router's `position` and
|
||||
* `back` included). That is correct for a replace. A Vue Router page is a 'host' owner, so its router does its own
|
||||
* pushes. It keeps `history.state` and sets its `current` to the
|
||||
* new URL. MEASURED on a Vue Router host (2026-09-30): a pushState that drops Router's state fields makes the next
|
||||
* in-app navigation rewrite the entry back to Router's last-known URL, and the link is lost. It writes nothing when
|
||||
* the URL would not change. A user's tab/pane/place change is a push (one Back step); first paint, link
|
||||
|
|
|
|||
Loading…
Reference in a new issue