1. 06 Jul, 2023 10 commits
  2. 05 Jul, 2023 1 commit
    • Robert Knight's avatar
      Eliminate a few coverage misses · fc5b7603
      Robert Knight authored
       - Remove unused `default`s for `switch` statements
       - Fix coverage misses related to un-evaluated default arguments by either:
      
         - Removing the default if we always set the argument
         - Removing overrides in tests which are the same as the default
         - Ignoring the defaults for coverage purposes
      fc5b7603
  3. 04 Jul, 2023 1 commit
    • Robert Knight's avatar
      Prevent side-by-side state getting out of sync between Guest and Integration · 79484cdd
      Robert Knight authored
      Both the `Guest` and `HTMLIntegration` maintained separate state for whether
      side-by-side mode was active or not. These states could get out of sync if the
      side-by-side feature flag was disabled when the guest first called
      `fitSideBySide` and then later enabled, as a result of the user logging into a
      different profile. In that case side-by-side would be enabled from the
      integration's perspective, but `Guest._sideBySideActive` would remain false.
      
      More generally this mismatch could occur in future if, for any reason, the
      integration decided to disable side-by-side outside of the context of a call to
      `fitSideBySide`.
      
      The result of this error was that clicking somewhere in the page would cause the
      sidebar to close, because the Guest thought that side-by-side was disabled, even
      though it was actually active.
      79484cdd
  4. 03 Jul, 2023 10 commits
  5. 29 Jun, 2023 2 commits
  6. 26 Jun, 2023 10 commits
  7. 23 Jun, 2023 1 commit
  8. 22 Jun, 2023 3 commits
    • Robert Knight's avatar
      Await `_scrollToAnchor` result · 3bf184ab
      Robert Knight authored
      This doesn't have a functional consequence, but it is generally appropriate for
      async methods not to return until all the work they initiate is done.
      3bf184ab
    • Robert Knight's avatar
      Make top/bottom bucket scrolling work when using a custom bucket container · 6d76d194
      Robert Knight authored
      When using a custom bucket container, the top / bottom buckets may be positioned
      differently than the code previously assumed (137x px below the top of the
      viewport, 20px above the bottom). Redo the logic to work regardless of bucket
      container positioning. Instead of trying to determine whether an anchor is
      on-screen or not, just pick the anchor with the lowest bottom or highest top as
      the "nearest" one, depending on which direction we are scrolling in.
      
      This is implemented by:
      
       - Changing `Bucket` objects to record not just the tags from anchors in
         them, but the list of `AnchorPosition` objects from which the bucket
         was built. These objects include the top and bottom positions of the
         anchor.
      
       - Make clicking on the "Up" bucket search the anchor list for the
         anchor with the lowest bottom position, and send a request to the
         guest to scroll to that anchor.
      
       - Make clicking on the "Down" bucket search the anchor list for the
         anchor with the highest top position, and send a request to the
         guest to scroll to that anchor.
      
       - Removing all the logic for finding and scrolling to the "nearest
         off-screen anchor"
      6d76d194
    • Alejandro Celaya's avatar
  9. 21 Jun, 2023 2 commits