Skip to content
Snippets Groups Projects
  1. Sep 30, 2021
  2. Sep 29, 2021
  3. Aug 26, 2021
  4. Aug 17, 2021
  5. Jun 24, 2021
  6. Jun 15, 2021
  7. Jun 09, 2021
  8. May 11, 2021
    • Richard van der Hoff's avatar
      Merge pull request from GHSA-x345-32rc-8h85 · 03318a76
      Richard van der Hoff authored
      
      * tests for push rule pattern matching
      
      * tests for acl pattern matching
      
      * factor out common `re.escape`
      
      * Factor out common re.compile
      
      * Factor out common anchoring code
      
      * add word_boundary support to `glob_to_regex`
      
      * Use `glob_to_regex` in push rule evaluator
      
      NB that this drops support for character classes. I don't think anyone ever
      used them.
      
      * Improve efficiency of globs with multiple wildcards
      
      The idea here is that we compress multiple `*` globs into a single `.*`. We
      also need to consider `?`, since `*?*` is as hard to implement efficiently as
      `**`.
      
      * add assertion on regex pattern
      
      * Fix mypy
      
      * Simplify glob_to_regex
      
      * Inline the glob_to_regex helper function
      
      Signed-off-by: default avatarDan Callahan <danc@element.io>
      
      * Moar comments
      
      Signed-off-by: default avatarDan Callahan <danc@element.io>
      
      Co-authored-by: default avatarDan Callahan <danc@element.io>
      03318a76
  9. Apr 14, 2021
  10. Apr 09, 2021
  11. Mar 18, 2021
    • Erik Johnston's avatar
      Make federation catchup send last event from any server. (#9640) · dd71eb0f
      Erik Johnston authored
      Currently federation catchup will send the last *local* event that we
      failed to send to the remote. This can cause issues for large rooms
      where lots of servers have sent events while the remote server was down,
      as when it comes back up again it'll be flooded with events from various
      points in the DAG.
      
      Instead, let's make it so that all the servers send the most recent
      events, even if its not theirs. The remote should deduplicate the
      events, so there shouldn't be much overhead in doing this.
      Alternatively, the servers could only send local events if they were
      also extremities and hope that the other server will send the event
      over, but that is a bit risky.
      dd71eb0f
  12. Mar 15, 2021
    • Erik Johnston's avatar
      Don't go into federation catch up mode so easily (#9561) · 026503fa
      Erik Johnston authored
      Federation catch up mode is very inefficient if the number of events
      that the remote server has missed is small, since handling gaps can be
      very expensive, c.f. #9492.
      
      Instead of going into catch up mode whenever we see an error, we instead
      do so only if we've backed off from trying the remote for more than an
      hour (the assumption being that in such a case it is more than a
      transient failure).
      026503fa
  13. Feb 16, 2021
  14. Dec 30, 2020
    • Andrew Morgan's avatar
      Fix RoomDirectoryFederationTests and make them actually run (#8998) · 168ba00d
      Andrew Morgan authored
      The `RoomDirectoryFederationTests` tests were not being run unless explicitly called as an `__init__.py` file was not present in `tests/federation/transport/`. Thus the folder was not a python module, and `trial` did not look inside for any test cases to run. This was found while working on #6739.
      
      This PR adds a `__init__.py` and also fixes the test in a couple ways:
      
      - Switch to subclassing `unittest.FederatingHomeserverTestCase` instead, which sets up federation endpoints for us.
      - Supply a `federation_auth_origin` to `make_request` in order to more act like the request is coming from another server, instead of just an unauthenicated client requesting a federation endpoint.
      
      I found that the second point makes no difference to the test passing, but felt like the right thing to do if we're testing over federation.
      168ba00d
  15. Dec 15, 2020
  16. Nov 16, 2020
  17. Sep 18, 2020
  18. Sep 15, 2020
  19. Sep 10, 2020
  20. Sep 08, 2020
  21. Sep 07, 2020
  22. Sep 04, 2020
  23. Aug 27, 2020
  24. Aug 13, 2020
  25. Jul 30, 2020
  26. Jul 28, 2020
  27. Jul 24, 2020
  28. Jun 10, 2020
  29. Jun 04, 2020
  30. May 22, 2020
    • Erik Johnston's avatar
      Add ability to wait for replication streams (#7542) · 1531b214
      Erik Johnston authored
      The idea here is that if an instance persists an event via the replication HTTP API it can return before we receive that event over replication, which can lead to races where code assumes that persisting an event immediately updates various caches (e.g. current state of the room).
      
      Most of Synapse doesn't hit such races, so we don't do the waiting automagically, instead we do so where necessary to avoid unnecessary delays. We may decide to change our minds here if it turns out there are a lot of subtle races going on.
      
      People probably want to look at this commit by commit.
      1531b214
  31. Apr 03, 2020
    • Richard van der Hoff's avatar
      Fix device list update stream ids going backward (#7158) · daa1ac89
      Richard van der Hoff authored
      Occasionally we could get a federation device list update transaction which
      looked like:
      
      ```
      [
          {'edu_type': 'm.device_list_update', 'content': {'user_id': '@user:test', 'device_id': 'D2', 'prev_id': [], 'stream_id': 12, 'deleted': True}},
          {'edu_type': 'm.device_list_update', 'content': {'user_id': '@user:test', 'device_id': 'D1', 'prev_id': [12], 'stream_id': 11, 'deleted': True}},
          {'edu_type': 'm.device_list_update', 'content': {'user_id': '@user:test', 'device_id': 'D3', 'prev_id': [11], 'stream_id': 13, 'deleted': True}}
      ]
      ```
      
      Having `stream_ids` which are lower than `prev_ids` looks odd. It might work
      (I'm not actually sure), but in any case it doesn't seem like a reasonable
      thing to expect other implementations to support.
      daa1ac89
  32. Mar 30, 2020
  33. Mar 27, 2020
  34. Mar 24, 2020
  35. Feb 21, 2020
  36. Feb 07, 2020
  37. Dec 04, 2019
  38. Nov 27, 2019
  39. Aug 20, 2019
Loading