Skip to content
Snippets Groups Projects
  1. Jan 22, 2023
  2. Jan 21, 2023
  3. Jan 20, 2023
    • Erik Johnston's avatar
      Always notify replication when a stream advances (#14877) · 65d03866
      Erik Johnston authored
      This ensures that all other workers are told about stream updates in a timely manner, without having to remember to manually poke replication.
      Unverified
      65d03866
    • Sean Quah's avatar
      Faster joins: Avoid starting duplicate partial state syncs (#14844) · cdea7c11
      Sean Quah authored
      
      Currently, we will try to start a new partial state sync every time we
      perform a remote join, which is undesirable if there is already one
      running for a given room.
      
      We intend to perform remote joins whenever additional local users wish
      to join a partial state room, so let's ensure that we do not start more
      than one concurrent partial state sync for any given room.
      
      ------------------------------------------------------------------------
      
      There is a race condition where the homeserver leaves a room and later
      rejoins while the partial state sync from the previous membership is
      still running. There is no guarantee that the previous partial state
      sync will process the latest join, so we restart it if needed.
      
      Signed-off-by: default avatarSean Quah <seanq@matrix.org>
      Unverified
      cdea7c11
  4. Jan 18, 2023
  5. Jan 17, 2023
    • David Robertson's avatar
      Stabilise serving partial join responses (#14839) · 5b3af1c7
      David Robertson authored
      Serving partial join responses is no longer experimental. They will only be served under the stable identifier if the the undocumented config flag experimental.msc3706_enabled is set to true.
      
      Synapse continues to request a partial join only if the undocumented config flag experimental.faster_joins is set to true; this setting remains present and unaffected.
      Unverified
      5b3af1c7
    • Erik Johnston's avatar
      Fix bug in `wait_for_stream_position` (#14856) · 316590d1
      Erik Johnston authored
      We were incorrectly checking if the *local* token had been advanced, rather than the token for the remote instance.
      
      In practice, I don't think this has caused any bugs due to where we use `wait_for_stream_position`, as critically we don't use it on instances that also write to the given streams (and so the local token will lag behind all remote tokens).
      Unverified
      316590d1
  6. Jan 16, 2023
  7. Jan 13, 2023
    • David Robertson's avatar
      Use stable identifiers for faster joins (#14832) · 52ae80dd
      David Robertson authored
      * Use new query param when requesting a partial join
      
      * Read new query param when serving partial join
      
      * Provide new field names when serving partial joins
      
      * Read new field names from partial join response
      
      * Changelog
      Unverified
      52ae80dd
    • Sean Quah's avatar
      Fix stack overflow in `_PerHostRatelimiter` due to synchronous requests (#14812) · 772e8c23
      Sean Quah authored
      
      When there are many synchronous requests waiting on a
      `_PerHostRatelimiter`, each request will be started recursively just
      after the previous request has completed. Under the right conditions,
      this leads to stack exhaustion.
      
      A common way for requests to become synchronous is when the remote
      client disconnects early, because the homeserver is overloaded and slow
      to respond.
      
      Avoid stack exhaustion under these conditions by deferring subsequent
      requests until the next reactor tick.
      
      Fixes #14480.
      
      Signed-off-by: default avatarSean Quah <seanq@matrix.org>
      Unverified
      772e8c23
  8. Jan 12, 2023
  9. Jan 11, 2023
  10. Jan 10, 2023
  11. Jan 09, 2023
  12. Jan 04, 2023
  13. Dec 28, 2022
  14. Dec 16, 2022
  15. Dec 13, 2022
    • David Robertson's avatar
      Allow selecting "prejoin" events by state keys (#14642) · e2a1adbf
      David Robertson authored
      * Declare new config
      
      * Parse new config
      
      * Read new config
      
      * Don't use trial/our TestCase where it's not needed
      
      Before:
      
      ```
      $ time trial tests/events/test_utils.py > /dev/null
      
      real	0m2.277s
      user	0m2.186s
      sys	0m0.083s
      ```
      
      After:
      ```
      $ time trial tests/events/test_utils.py > /dev/null
      
      real	0m0.566s
      user	0m0.508s
      sys	0m0.056s
      ```
      
      * Helper to upsert to event fields
      
      without exceeding size limits.
      
      * Use helper when adding invite/knock state
      
      Now that we allow admins to include events in prejoin room state with
      arbitrary state keys, be a good Matrix citizen and ensure they don't
      accidentally create an oversized event.
      
      * Changelog
      
      * Move StateFilter tests
      
      should have done this in #14668
      
      * Add extra methods to StateFilter
      
      * Use StateFilter
      
      * Ensure test file enforces typed defs; alphabetise
      
      * Workaround surprising get_current_state_ids
      
      * Whoops, fix mypy
      Unverified
      e2a1adbf
  16. Dec 12, 2022
  17. Dec 09, 2022
  18. Dec 08, 2022
  19. Dec 07, 2022
  20. Dec 06, 2022
  21. Dec 05, 2022
  22. Dec 02, 2022
  23. Dec 01, 2022
Loading