• Robert Knight's avatar
    Avoid unloading annotations after VitalSource segment navigation · 8c80e65a
    Robert Knight authored
    Introduce the concept of "persistent" frames in the sidebar. This is a flag
    which can be set on a `Frame` in the sidebar's store to prevent annotations from
    being unloaded when the associated guest unloads. This flag is set in response
    to a hint provided by the `Guest` in its `documentInfoChanged` message. The
    guest in turn gets this hint via `Integration.persistFrame`, which returns true
    for VitalSource content frames.
    
    Marking VitalSource content frames as persistent prevents the book's annotations
    from being unloaded after a chapter navigation, when the old guest goes away,
    and then the same set of annotations immediately being re-fetched from the
    server when the new guest connects. This reload of annotations looked ugly but
    also lost the user's scroll position in the sidebar. With this change the
    sidebar retains the annotations during a chapter navigation and just re-sends
    the appropriate ones to the new guest when it connects.
    8c80e65a
Name
Last commit
Last update
.github Loading commit data...
bin Loading commit data...
dev-server Loading commit data...
docs Loading commit data...
embedding-examples Loading commit data...
images Loading commit data...
requirements Loading commit data...
scripts Loading commit data...
src Loading commit data...
.babelrc Loading commit data...
.eslintignore Loading commit data...
.eslintrc Loading commit data...
.gitignore Loading commit data...
.npmignore Loading commit data...
.npmrc Loading commit data...
.prettierignore Loading commit data...
.python-version Loading commit data...
HACKING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
codecov.yml Loading commit data...
gulpfile.mjs Loading commit data...
package.json Loading commit data...
pyproject.toml Loading commit data...
rollup-boot.config.mjs Loading commit data...
rollup-tests.config.mjs Loading commit data...
rollup.config.mjs Loading commit data...
tailwind-annotator.config.mjs Loading commit data...
tailwind-sidebar.config.mjs Loading commit data...
tailwind.config.mjs Loading commit data...
tox.ini Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...