Move real-time update state to store
Move state related to received-but-not-yet-applied annotation updates ("pending updates") and deletions from the `streamer` service to a new `real-time-updates` module in the store. This will make it possible for React-based UI to reflect this state and update when it changes. It also removes some usage of Angular-specific logic (`$rootScope`) from the streamer service. Applying pending updates still requires a call to the `applyPendingUpdates` method of the streamer because that currently needs to trigger side effects and dispatches Angular events. - Move `pendingUpdates` and `pendingDeletions` local variables in streamer to `real-time-updates` store module - Replace calls to `store.{countPendingUpdates, hasPendingDeletion}` with calls to the store instead - Call store/streamer methods related to real-time updates directly from `<top-bar>` instead of passing it down from `<hypothesis-app>`. The `<top-bar>` component is not likely to be used outside the app, so there is no benefit to the indirection
Showing
Please register or sign in to comment