• Robert Knight's avatar
    Support feature flags in guest frames · 928548b0
    Robert Knight authored
    Rewrite the infrastructure that sends feature flags to annotator code, to
    support feature-flagging functionality in guest frames, instead of just the host
    frame.
    
     - Remove `FeaturesService` in the sidebar and move the logic for
       syncing feature flags from the sidebar to other frames into
       `FrameSyncService`.  This is a better place since `FrameSyncService`
       knows when frames connect and thus when to send flags to them. The
       logic for monitoring for flag changes is very simple and doesn't
       needs its own service.
    
     - Within `FrameSyncService`, send "featureFlagsUpdated" notifications to
       both host frames and guest frames.
    
     - Convert the functions and global variables in `annotator/features.js`
       into a `FeatureFlags` class, which encapsulates storage of flags,
       access to them and notifying consumers when flags change.
    
     - Instantiate `FeatureFlags` instances in the host frame and guest
       frame and update the flags stored in them when "featureFlagsUpdated" events
       are received from the sidebar.
    928548b0
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...
.dockerignore 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...
CODE_OF_CONDUCT Loading commit data...
Dockerfile Loading commit data...
Jenkinsfile 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...
requirements-dev.in Loading commit data...
rollup-boot.config.mjs Loading commit data...
rollup-tests.config.mjs Loading commit data...
rollup.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...