Skip to content
Snippets Groups Projects
  1. Apr 07, 2022
  2. Apr 06, 2022
  3. Apr 05, 2022
  4. Apr 04, 2022
    • Eric Eastwood's avatar
      Allow non-member state sent in room batch to resolve for historic events (MSC2716) (#12329) · 9633eb21
      Eric Eastwood authored
      Part of https://github.com/matrix-org/synapse/issues/12110
      
      Complement test: https://github.com/matrix-org/complement/pull/354
      
      Previously, they didn't resolve because async `filter_events_for_client`
      removes all outlier state except for out-of-band membership.
      
      And fundamentally, we have the state at these events so they shouldn't be marked as outliers.
      9633eb21
    • Erik Johnston's avatar
      Prefill the device_list_stream_cache (#12367) · b446c99a
      Erik Johnston authored
      * Prefill the device_list_stream_cache
      
      * Newsfile
      
      * Newsfile
      b446c99a
    • Erik Johnston's avatar
      Track device list updates per room. (#12321) · 5c9e39e6
      Erik Johnston authored
      This is a first step in dealing with #7721.
      
      The idea is basically that rather than calculating the full set of users a device list update needs to be sent to up front, we instead simply record the rooms the user was in at the time of the change. This will allow a few things:
      
      1. we can defer calculating the set of remote servers that need to be poked about the change; and
      2. during `/sync` and `/keys/changes` we can avoid also avoid calculating users who share rooms with other users, and instead just look at the rooms that have changed.
      
      However, care needs to be taken to correctly handle server downgrades. As such this PR writes to both `device_lists_changes_in_room` and the `device_lists_outbound_pokes` table synchronously. In a future release we can then bump the database schema compat version to `69` and then we can assume that the new `device_lists_changes_in_room` exists and is handled.
      
      There is a temporary option to disable writing to `device_lists_outbound_pokes` synchronously, allowing us to test the new code path does work (and by implication upgrading to a future release and downgrading to this one will work correctly).
      
      Note: Ideally we'd do the calculation of room to servers on a worker (e.g. the background worker), but currently only master can write to the `device_list_outbound_pokes` table.
      5c9e39e6
  5. Apr 03, 2022
  6. Apr 01, 2022
Loading