Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Discard retention policies when retrieving state #6436

Merged
merged 3 commits into from
Nov 29, 2019

Commits on Nov 28, 2019

  1. Discard retention policies when retrieving state

    Purge jobs don't delete the latest event in a room in order to keep the forward extremity and not break the room. On the other hand, get_state_events, when given an at_token argument calls filter_events_for_client to know if the user can see the event that matches that (sync) token. That function uses the retention policies of the events it's given to filter out those that are too old from a client's view.
    
    Some clients, such as Riot, when loading a room, request the list of members for the latest sync token it knows about, and get confused to the point of refusing to send any message if the server tells it that it can't get that information. This can happen very easily with the message retention feature turned on and a room with low activity so that the last event sent becomes too old according to the room's retention policy.
    
    An easy and clean fix for that issue is to discard the room's retention policies when retrieving state.
    babolivier committed Nov 28, 2019
    Configuration menu
    Copy the full SHA
    708cef8 View commit details
    Browse the repository at this point in the history
  2. Changelog

    babolivier committed Nov 28, 2019
    Configuration menu
    Copy the full SHA
    5ee2bee View commit details
    Browse the repository at this point in the history
  3. Lint

    babolivier authored Nov 28, 2019
    Configuration menu
    Copy the full SHA
    78ec11c View commit details
    Browse the repository at this point in the history