- 28 Sep, 2016 3 commits
-
-
Sean Roberts authored
-
Sean Roberts authored
-
Robert Knight authored
This fixes an error when trying to load the Hypothesis client on the stream or standalone annotation pages, caused by both the stream app and the sidebar app trying to set up a 'Discovery' server for annotation 'guests' to connect to. With this change, only the sidebar app will set up a Discovery server and hence it is now possible to annotate the stream and standalone annotation pages.
-
- 27 Sep, 2016 1 commit
-
-
Robert Knight authored
Upgrade raven node package
-
- 26 Sep, 2016 5 commits
-
-
Sean Roberts authored
-
Sean Roberts authored
Fix scrolling to direct-linked annotations
-
Robert Knight authored
Fix adder from affecting website's height on load
-
Robert Knight authored
The FrameSync service introduced in 55093ebb emitted an ANNOTATIONS_SYNCED event which unintentionally had a different type for the `tags` argument than the previous code (`string[]`, instead of `Array<{tag:string}>`) This commit updates the code in WidgetController to expect `tags` to be of type `string[]`. Fixes #129
-
Sean Roberts authored
-
- 21 Sep, 2016 4 commits
-
-
Sean Hammond authored
Remove crossframe service and simplify communication with connected frames
-
Robert Knight authored
-
Robert Knight authored
Now that AnnotationSync is no longer used in the sidebar app, we can remove all of the handlers for events and messages arriving through the channel which are not needed by the page itself.
-
Robert Knight authored
Previously the communication between the sidebar and host frame was implemented by a shared AnnotationSync class, with a 'crossframe' service which abstracted the event bus on each side. This design however assumed that both sides wanted to listen to the same messages and react to them in similar ways. This is not the case, especially given the change to use Redux for state management in the sidebar app. This commit replaces the crossframe service and AnnotationSync class with a new 'frameSync' service which implements only the event listeners and sidebar -> page RPC calls that are actually needed. As a result, local annotation tags for annotations loaded via the API can now be assigned by the reducer in the Redux store, making this easier to test and getting us another step closer to making Annotation objects immutable in the sidebar app.
-
- 20 Sep, 2016 1 commit
-
-
Robert Knight authored
Yesterday a brief issue occurred where the server reported an incorrect (too high) total number of results for a URL due to the search index being out of date. Once the client reached the end of the actually available results, it made queries to the search endpoint which returned an empty result set but had a `total` figure implying that there should be more pages. The client then ended up polling the server indefinitely for more results. This commit defensively makes the client stop fetching more result pages if the current page is empty.
-
- 19 Sep, 2016 8 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
When calculating the count of pending updates that is used to determine whether to show the 'Apply Updates' icon or not, count deletions. In addition to changing the count calculation itself, this also requires that pending deletions are discarded for annotations that are not currently loaded. Such notifications may be received because the deletion may have happened in an un-focused group. Unlike create/update notifications, no group information is included in the notification itself so we look up the ID in the local store.
-
Nick Stenning authored
Update icon for applying updates to the current page
-
Robert Knight authored
As per discussion at https://hypothes-is.slack.com/archives/frontend/p1474276933000039, adjust the wording of the 'Apply Update' icon tooltip to avoid "update" being misinterpreted as referring to a software update.
-
Robert Knight authored
-
Robert Knight authored
Update icon to match current design from https://trello.com/c/tRZ2H7iH and remove the update count, as per the most recent comments on the Trello card.
-
Robert Knight authored
The deferred update UI was added primarily to avoid the problem of annotation updates being distracting while a user is composing annotations in the sidebar. This is less relevant on the stream. Additionally fix a bug where updates from unfocused groups were not shown on the stream, since the stream shows updates from all groups.
-
- 16 Sep, 2016 4 commits
-
-
Robert Knight authored
Since we discard all pending updates and deletions when switching groups, discard create/update notifications about annotations in unfocused groups as soon as we receive them. This fixes the issue where the 'Apply Update' badge counted updates from other groups, with the result that clicking the badge did not show any changes.
-
Robert Knight authored
Move the logic that updates the focused group for new annotations out of the <annotation> component and into a service. This fixes the issue where the event handler does not get invoked if no <annotation> component instance exists for an annotation because it is currently scrolled off-screen. Fixes #105
-
Robert Knight authored
Previously when switching groups all of the currently loaded annotations would be unloaded and then potentially outdated copies of the annotation from the drafts store would be reloaded into the annotation store. This commit fixes that problem by: 1. Only unloading saved annotations when switching groups. 2. Only storing the annotation ID and tag in the drafts service, to ensure that we don't try to use it as a complete annotation anywhere A consequence of (1) is that new, unsaved annotations no-longer briefly disappear when switching groups. This fixes the problem described in #109 where the orphan status of a new annotation is lost when switching groups. It does not fix the problem where the new annotation immediately becomes an orphan.
-
Robert Knight authored
The logic to remove new and empty annotations used to live in the <annotation> component because that was the only part of the code that had access to the state of unsaved changes. Since <annotation> instances are only created for on-screen annotations, this can result in empty drafts not being removed if the empty annotation is off-screen. Now that the canonical content of unsaved annotations is stored in the drafts service, we can move the logic outside of the annotation component and fix this problem. Fixes #97
-
- 15 Sep, 2016 14 commits
-
-
Nick Stenning authored
-
Nick Stenning authored
-
Nick Stenning authored
Defer realtime update
-
Robert Knight authored
When the focused group changes, pending updates to already loaded annotations and deletions of already loaded annotations will be cleared in the ANNOTATIONS_UNLOADED event handler. Updates/deletions for annotations not yet loaded were not cleared however. See https://github.com/hypothesis/client/pull/106#pullrequestreview-139177
-
Robert Knight authored
Use the <svg-icon> component to render a refresh icon in the top bar and adjust the styling to center the icon and pending update count vertically.
-
Robert Knight authored
Following the approach we have implemented for using <svg> icons on the website without all of the hassle that comes with icon fonts, implement an <svg-icon> component which renders icons as inline SVGs in the client and add the 'refresh' icon for use in the top bar.
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Prevent the apply updates button from being squashed horizontally and thus wrapping onto multiple lines
-
Robert Knight authored
Implement support for tooltips that point up at the target element and use this facility for the 'Apply Updates' icon in the toolbar.
-
Robert Knight authored
To avoid having the contents of the sidebar shift in a distracting way while the user is reading or editing an annotation, do not apply real-time updates received via the WS immediately but instead alert the user to the updates via an icon in the top-bar and apply the updates when the user clicks the button. This commit implements support for caching updates in the streamer, showing an icon and applying updates when the user clicks the icon. Known issues: - The icon does not currently match the Refresh icon in the specs - The tooltip sits above the icon pointing down, instead of pointing up as per the mocks
-
Robert Knight authored
-
Nick Stenning authored
Refactor Redux store into smaller modules
-