Update 2022-12-31:
The latest version of Hypothesis will detect client-side URL changes via the HTML 5 History API or the Navigation API and update the loaded set of annotations automatically. For this to work, the web application must follow these best practices for web apps that do client-side navigation:
- Update the URL when the logical route in the app changes
- Use the path and query string of the URL to indicate the route, not the fragment. For example
https://example.com/your-app/some/page
is OK,https://example.com/your-app/#!/some/page
is not. - The content of the page must be updated by the time Hypothesis has fetched the new annotations for the new URL. The safest way to do this is by not updating the URL until the content has been updated or is just about to be updated (eg. content has been fetched and a React/Vue/Angular re-render is queued up). In browsers that implement the new Navigation API