Skip to content
Snippets Groups Projects
  1. Jan 20, 2021
  2. Nov 17, 2020
  3. Nov 11, 2020
  4. Sep 04, 2020
  5. Jul 31, 2020
  6. 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.
      Unverified
      1531b214
  7. May 01, 2020
  8. Apr 04, 2020
    • Brendan Abolivier's avatar
      Server notices: Dissociate room creation/lookup from invite (#7199) · d73bf18d
      Brendan Abolivier authored
      Fixes #6815
      
      Before figuring out whether we should alert a user on MAU, we call get_notice_room_for_user to get some info on the existing server notices room for this user. This function, if the room doesn't exist, creates it and invites the user in it. This means that, if we decide later that no server notice is needed, the user gets invited in a room with no message in it. This happens at every restart of the server, since the room ID returned by get_notice_room_for_user is cached.
      
      This PR fixes that by moving the inviting bit to a dedicated function, that's only called when the server actually needs to send a notice to the user. A potential issue with this approach is that the room that's created by get_notice_room_for_user doesn't match how that same function looks for an existing room (i.e. it creates a room that doesn't have an invite or a join for the current user in it, so it could lead to a new room being created each time a user syncs), but I'm not sure this is a problem given it's cached until the server restarts, so that function won't run very often.
      
      It also renames get_notice_room_for_user into get_or_create_notice_room_for_user to make what it does clearer.
      Unverified
      d73bf18d
  9. Jan 15, 2020
    • Erik Johnston's avatar
      Add `local_current_membership` table (#6655) · 28c98e51
      Erik Johnston authored
      Currently we rely on `current_state_events` to figure out what rooms a
      user was in and their last membership event in there. However, if the
      server leaves the room then the table may be cleaned up and that
      information is lost. So lets add a table that separately holds that
      information.
      Unverified
      28c98e51
  10. Jul 23, 2019
  11. Jun 20, 2019
  12. Aug 24, 2018
  13. Aug 16, 2018
  14. Aug 15, 2018
  15. Aug 14, 2018
  16. May 23, 2018
  17. May 18, 2018
  18. May 17, 2018
    • Richard van der Hoff's avatar
      Infrastructure for a server notices room · fed62e21
      Richard van der Hoff authored
      Server Notices use a special room which the user can't dismiss. They are
      created on demand when some other bit of the code calls send_notice.
      
      (This doesn't actually do much yet becuse we don't call send_notice anywhere)
      fed62e21
Loading