Problem
Sources are fingerprinted when loaded, but the viewer does not monitor or refresh them after external changes. The page view and search index can remain stale until the source is reopened or the application restarts.
Acceptance criteria
- Relevant .one and .onetoc2 changes trigger one source-scoped, debounced refresh.
- A manual Refresh command works when monitoring is unavailable.
- Parsing and indexing complete in a new generation before view and search switch atomically.
- Failure preserves the last known-good generation and shows copyable diagnostics.
- Stable source, section, and page IDs reconcile selection and history.
- Closing a source cancels pending refresh work.
Problem
Sources are fingerprinted when loaded, but the viewer does not monitor or refresh them after external changes. The page view and search index can remain stale until the source is reopened or the application restarts.
Acceptance criteria