1. 08 Dec, 2021 2 commits
    • Robert Knight's avatar
      Remove a test which doesn't test what it intends to · a9ce9227
      Robert Knight authored
      Dates are in fact JSON-serializable, but as strings.
      
      Recent changes to `isMessageEqual` mean that the `JSON.stringify` calls
      cannot fail, because the `isMessage` check ensures all the fields we
      serialize are strings. Writing a test to check for this failure mode is
      not possible. There is a refactoring hazard here, so I added a comment
      to call this out.
      a9ce9227
    • Robert Knight's avatar
      Ignore unknown keys when checking payload / message match · 28fa4e8c
      Robert Knight authored
      When comparing a MessageEvent's data to an expected message, only
      compare the known fields of the message and ignore any unknown fields.
      
      Unknown fields don't cause problems for us in parsing the message, and
      there is a risk that it might cause us to silently ignore messages in
      some environments. We don't know yet if that actually happens.
      28fa4e8c
  2. 07 Dec, 2021 4 commits
    • Robert Knight's avatar
      Rebuild boot script when modules in src/boot change · 97a71736
      Robert Knight authored
      Previously the boot script was not regenerated when its JS inputs
      changed, as opposed to the JSON manifest.
      
      This approach relies on `src/boot` not having dependencies on other
      modules. We could improve this by using `watchJS`, but that currently
      produces too much distracting log noise when running `make dev`.
      97a71736
    • Robert Knight's avatar
      Serve boot script with correct mime type · 251410ca
      Robert Knight authored
      It was previously served as text/html, which caused warnings in some
      contexts.
      251410ca
    • Robert Knight's avatar
      Modernize browser check logic · 7173bde9
      Robert Knight authored
      Update the representative feature tests to check for Shadow DOM v1 and CSS grid.
      
      This avoids loading the client in browsers that are definitely too old.
      7173bde9
    • Lyza Danger Gardner's avatar
      Fully un-set user-focus filter when empty user is passed · 791c4bf2
      Lyza Danger Gardner authored
      Fix a UI confusion by fully un-setting the user-focus filter if a
      empty user value is provided to the `changeFocusModeUser` RPC method.
      
      This prevents a confusing half-set user-focus filter from sticking
      around when an instructor returns to viewing all users in grading mode
      after focusing on one or more students.
      791c4bf2
  3. 06 Dec, 2021 12 commits
  4. 03 Dec, 2021 5 commits
  5. 02 Dec, 2021 9 commits
  6. 01 Dec, 2021 5 commits
  7. 30 Nov, 2021 2 commits
  8. 29 Nov, 2021 1 commit
    • Robert Knight's avatar
      Call PortProvider.listen sooner · 8983aba1
      Robert Knight authored
      Call `listen` immediately after creating the PortProvider, before
      creating the sidebar.
      
      This will allow us to rule out the possibility that the sidebar sometimes fails
      to connect to the PortProvider because an error occurred in the annotator code
      after creating the sidebar iframe but before calling `PortProvider.listen`,
      resulting in the PortProvider listener not being created.
      8983aba1