1. 20 Sep, 2024 1 commit
    • Robert Knight's avatar
      Treat empty strings as unparsable instead of open page ranges · 76040e76
      Robert Knight authored
      Previously `pageLabelInRange` treated an empty label like a fully-open page
      range ("-"). Since a fully open range overlaps all other ranges, the function
      would always return true. Now it treats an empty string as an unparsable range
      and returns false.
      
      When filtering annotations, this change means that a page range filter will
      no longer match annotations without a page range.
      76040e76
  2. 18 Sep, 2024 4 commits
  3. 16 Sep, 2024 8 commits
  4. 12 Sep, 2024 1 commit
  5. 09 Sep, 2024 5 commits
  6. 04 Sep, 2024 9 commits
  7. 02 Sep, 2024 1 commit
  8. 28 Aug, 2024 1 commit
  9. 26 Aug, 2024 4 commits
  10. 22 Aug, 2024 1 commit
  11. 21 Aug, 2024 1 commit
    • Robert Knight's avatar
      Fix failure to fetch groups in VitalSource · ab548854
      Robert Knight authored
      Before loading groups the client waits for the main document frame to connect in
      order to be able to fetch groups associated with that frame's URL. In
      VitalSource however there is no "main frame", only the current content frame, so
      `GroupsService._loadGroupsForUserAndDocument` waited indefinitely.
      
      This failure to fetch groups did not happen on the initial launch due to a
      different bug in `GroupsService._loadGroupsForUserAndDocument`. The
      `this_store.route()` call returned `null` during startup and hence the code did
      not wait for the main frame to connect. After a subsequent login/logout however,
      the `route` call returned "sidebar" and the code did wait for the main frame.
      
      This problem also did not happen in the LMS environment because there the client
      loads a set of groups specified by our LMS app, instead of fetching groups based
      on the logged-in user and current document.
      
      Solve the first problem by using the `defaultContentFrame` method to get the
      frame instead of `mainFrame`. `defaultContentFrame` returns the main frame if
      there is one, or the first content frame that connected otherwise.
      ab548854
  12. 20 Aug, 2024 1 commit
  13. 19 Aug, 2024 3 commits