- 19 Jul, 2015 2 commits
-
-
Randall Leeds authored
Search for one URI
-
Randall Leeds authored
-
- 17 Jul, 2015 3 commits
-
-
Randall Leeds authored
Introduce the h.api.uri module for URI normalisation/expansion
-
Nick Stenning authored
Previously, when loading Hypothesis into a page, the client would make one search request for each and every URI found on the page, including those found by the document metadata scanners (in the Annotator "Document" and "PDF" plugins.) This is wasteful of network bandwidth, and moreover should not be necessary in most cases due to the ability to expand to equivalent URIs on the server side. The component responsible for coordinating communication across page frames is the "crossframe" service. This services maintains a registry of page frames (previously called "providers") and their associated metadata. This commit reduces the metadata stored to simply the page URL, or in the case of PDF documents, the fingerprint URN. It's worth noting that this *does* change behaviour in one important way: if a page contains document equivalence data that we've never seen before, and one of the alternate URIs has already been annotated, then this change will mean we do not load annotations until that page itself has been annotated (and thus the document equivalence data updated). I am assuming that this is an extreme edge case.
-
Nick Stenning authored
Anchoring rewrite
-
- 16 Jul, 2015 1 commit
-
-
Nick Stenning authored
s/viewable/visible/
-
- 15 Jul, 2015 11 commits
-
-
judell authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Jake Hartnell authored
Prevent annotation attempts when not signed in
-
- 14 Jul, 2015 23 commits
-
-
Randall Leeds authored
-
BigBlueHat authored
Simply hides the annotation form--which implied you could use the thing...--and instead tells the user to sign in, so they can do what they came to do.
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
While transforming a selector to a range must occur synchronously, the individual strategies can be attempted in separate animation frames. Also, make this more beautiful.
-
Randall Leeds authored
-
Randall Leeds authored
All of the anchoring types are actually synchronous, for now. Having promise callbacks between the selector->anchor and anchor->range conversions sometimes creates race conditions when multiple annotations anchor concurrently. Punt on this for now.
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
And hide the cache details from the default implementation that doesn't use them.
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
-
Randall Leeds authored
I'm not sure this works because I'm not sure the first then function will be called synchronously by the render frame invoking resolve.
-
Randall Leeds authored
This makes it more robust against change by storing its description at the container level rather than a DOM Range object that could get mutated unpredictably by text node splitting.
-
Randall Leeds authored
Rather than searching PDF pages in order, use the position anchor (when available) to spiral the search outward from the page that likely contains the quote.
-
Randall Leeds authored
Rather than searching all the pages in parallel, search them serially and terminate early with a match.
-
Randall Leeds authored
-
Randall Leeds authored
This is maybe too verbose for now but at least it's explicit and doesn't assume that anchoring implementations can be fully responsible for cache invalidation.
-
Randall Leeds authored
-
Randall Leeds authored
-