Don't ignore state events during first sync
For the initial sync request at Fractal's launch, there is a filter to only ask for room message events in the timeline. My guess is that is because it doesn't show state events so we want to make sure there are message events to display.
The issue is that on a sync request we receive the state at the beginning of the timeline, and new state events are in the timeline. So the Matrix SDK is dependent on those state events to have the proper state in memory, and if the state changes during the first sync it isn't aware of it and keeps an outdated state for the whole session.
A solution would probably be to get all events of the timeline during sync, and ask for room messages if the user opens a room that has no messages, because there were only state events.