1. 12 Apr, 2021 3 commits
    • Robert Knight's avatar
      Improve tests for `Guest#destroy` · f2a6fe75
      Robert Knight authored
      Add test to check that anchors not associated with the removed
      annotation are preserved.
      f2a6fe75
    • Robert Knight's avatar
    • Robert Knight's avatar
      Refactor `Guest#anchor` · d9085810
      Robert Knight authored
      Rewrite the `Guest#anchor` method to simplify the control flow and
      generally make it easier to understand and change. There are no
      functional changes for annotations with zero or one entry in the
      `target` field (all existing Hypothesis annotations).
      
      There is a functional change to handling of annotations with multiple
      targets. Previously `anchor` would try to be smart about only
      re-anchoring targets which were not already anchored. In the new
      implementation all targets for an annotation are re-anchored. This will have
      no effect in practice because the Hypothesis client only supports
      creating annotations with a single target and the h backend can only
      store a single target per annotation. However the Hypothesis API does
      allow for multiple targets per annotation, in line with the W3C Web
      Annotations specs in which a single annotation can refer to multiple
      parts of a document.
      
       - Convert `anchor` method to async and replace Promise chains with async/await
      
       - Replace the logic that removes existing anchors and highlights for an
         annotation with a call to the `detach` method. This required adding
         an internal parameter to `detach` to control whether `anchorsChanged`
         is emitted, so that `anchor` only emits `anchorsChanged` once.
      
       - Add an explicit error to `Promise.reject` calls in tests so that the
         tests are easier to debug if they fail
      d9085810
  2. 09 Apr, 2021 10 commits
  3. 08 Apr, 2021 2 commits
  4. 07 Apr, 2021 7 commits
  5. 06 Apr, 2021 7 commits
  6. 05 Apr, 2021 10 commits
  7. 02 Apr, 2021 1 commit