Skip to content
Snippets Groups Projects
  1. Apr 20, 2023
    • Patrick Cloke's avatar
      Modify StoreKeyFetcher to read from server_keys_json. (#15417) · 5e024a06
      Patrick Cloke authored
      Before this change:
      
      * `PerspectivesKeyFetcher` and `ServerKeyFetcher` write to `server_keys_json`.
      * `PerspectivesKeyFetcher` also writes to `server_signature_keys`.
      * `StoreKeyFetcher` reads from `server_signature_keys`.
      
      After this change:
      
      * `PerspectivesKeyFetcher` and `ServerKeyFetcher` write to `server_keys_json`.
      * `PerspectivesKeyFetcher` also writes to `server_signature_keys`.
      * `StoreKeyFetcher` reads from `server_keys_json`.
      
      This results in `StoreKeyFetcher` now using the results from `ServerKeyFetcher`
      in addition to those from `PerspectivesKeyFetcher`, i.e. keys which are directly
      fetched from a server will now be pulled from the database instead of refetched.
      
      An additional minor change is included to avoid creating a `PerspectivesKeyFetcher`
      (and checking it) if no `trusted_key_servers` are configured.
      
      The overall impact of this should be better usage of cached results:
      
      * If a server has no trusted key servers configured then it should reduce how often keys
        are fetched.
      * if a server's trusted key server does not have a requested server's keys cached then it
        should reduce how often keys are directly fetched.
      5e024a06
  2. Apr 18, 2023
    • Val Lorentz's avatar
      Speedup tests by caching HomeServerConfig instances (#15284) · cb8e274c
      Val Lorentz authored
      These two lines:
      
      ```
      config_obj = HomeServerConfig()
      config_obj.parse_config_dict(config, "", "")
      ```
      
      are called many times with the exact same value for `config`.
      
      As the test suite is CPU-bound and non-negligeably time is spent in
      `parse_config_dict`, this saves ~5% on the overall runtime of the Trial
      test suite (tested with both `-j2` and `-j12` on a 12t CPU).
      
      This is sadly rather limited, as the cache cannot be shared between
      processes (it contains at least jinja2.Template and RLock objects which
      aren't pickleable), and Trial tends to run close tests in different
      processes.
      cb8e274c
    • Andrew Morgan's avatar
  3. Apr 14, 2023
  4. Apr 13, 2023
  5. Apr 12, 2023
  6. Apr 05, 2023
  7. Apr 04, 2023
  8. Apr 03, 2023
  9. Mar 31, 2023
  10. Mar 30, 2023
  11. Mar 29, 2023
  12. Mar 28, 2023
  13. Mar 24, 2023
    • Quentin Gliech's avatar
      Make cleaning up pushers depend on the device_id instead of the token_id (#15280) · 5b70f240
      Quentin Gliech authored
      This makes it so that we rely on the `device_id` to delete pushers on logout,
      instead of relying on the `access_token_id`. This ensures we're not removing
      pushers on token refresh, and prepares for a world without access token IDs
      (also known as the OIDC).
      
      This actually runs the `set_device_id_for_pushers` background update, which
      was forgotten in #13831.
      
      Note that for backwards compatibility it still deletes pushers based on the
      `access_token` until the background update finishes.
      5b70f240
    • Patrick Cloke's avatar
      Reject mentions on the C-S API which are invalid. (#15311) · 68a67173
      Patrick Cloke authored
      Invalid mentions data received over the Client-Server API should
      be rejected with a 400 error. This will hopefully stop clients from
      sending invalid data, although does not help with data received
      over federation.
      68a67173
  14. Mar 22, 2023
  15. Mar 21, 2023
  16. Mar 20, 2023
  17. Mar 16, 2023
  18. Mar 13, 2023
  19. Mar 10, 2023
  20. Mar 09, 2023
  21. Mar 07, 2023
  22. Mar 06, 2023
    • Patrick Cloke's avatar
      Stop applying edits to event contents (MSC3925). (#15193) · 05e0a408
      Patrick Cloke authored
      Enables MSC3925 support by default, which:
      
      * Includes the full edit event in the bundled aggregations of an
        edited event.
      * Stops modifying the original event's content to return the new
        content from the edit event.
      
      This is a backwards-incompatible change that is considered to be
      "correct" by the spec.
      05e0a408
Loading