• Nick Stenning's avatar
    Only make one search query per frame on page load · 28ac128e
    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.
    28ac128e
widget-controller.coffee 2.05 KB