1. 05 Oct, 2021 4 commits
  2. 04 Oct, 2021 1 commit
  3. 01 Oct, 2021 2 commits
  4. 30 Sep, 2021 3 commits
  5. 29 Sep, 2021 4 commits
  6. 28 Sep, 2021 7 commits
    • Erik Johnston's avatar
      Add #10932 to release · 62800a8f
      Erik Johnston authored
      62800a8f
    • Erik Johnston's avatar
      Fix exception responding to request that has been closed (#10932) · 37bb93d1
      Erik Johnston authored
      Introduced in #10905
      37bb93d1
    • Erik Johnston's avatar
      Fixup changelog · 2b9d1747
      Erik Johnston authored
      2b9d1747
    • Erik Johnston's avatar
      Fixup changelog · bc69d493
      Erik Johnston authored
      bc69d493
    • Erik Johnston's avatar
      1.44.0rc1 · 3c50192d
      Erik Johnston authored
      3c50192d
    • Erik Johnston's avatar
      Fix debian package builds. (#10931) · a8bbf085
      Erik Johnston authored
      This was due to dh-virtualenv builds being broken due to Shpinx removing
      deprecated APIs.
      a8bbf085
    • Erik Johnston's avatar
      Encode JSON responses on a thread in C, mk2 (#10905) · 707d5e4e
      Erik Johnston authored
      Currently we use `JsonEncoder.iterencode` to write JSON responses, which ensures that we don't block the main reactor thread when encoding huge objects. The downside to this is that `iterencode` falls back to using a pure Python encoder that is *much* less efficient and can easily burn a lot of CPU for huge responses. To fix this, while still ensuring we don't block the reactor loop, we encode the JSON on a threadpool using the standard `JsonEncoder.encode` functions, which is backed by a C library.
      
      Doing so, however, requires `respond_with_json` to have access to the reactor, which it previously didn't. There are two ways of doing this:
      
      1. threading through the reactor object, which is a bit fiddly as e.g. `DirectServeJsonResource` doesn't currently take a reactor, but is exposed to modules and so is a PITA to change; or
      2. expose the reactor in `SynapseRequest`, which requires updating a bunch of servlet types.
      
      I went with the latter as that is just a mechanical change, and I think makes sense as a request already has a reactor associated with it (via its http channel). 
      707d5e4e
  7. 27 Sep, 2021 3 commits
  8. 24 Sep, 2021 11 commits
  9. 23 Sep, 2021 5 commits