Improve showing history from before the user joined a room
In situations where the user joins a room where they're not allowed to see the room history, the timeline currently shows all previous state events, which is ugly, mostly pointless, and confusing. Instead, hide those state events and instead show an informational message telling the user that they're not allowed to see older messages. This is somewhat complicated because it also depends on when the history visibility state event was changed (e.g., the user might be able to see the messages between a change of this state and the user's joining, but not before that).
On a technical level, I'm not sure how to implement it. maybe an extra delegate type that somehow gets inserted into the model? I'm not a fan of making the existing models more complicated, though. (the readmarker is already messy enough). Maybe create an generic model that inserts a single item at some point in the model and use that for both this and the readmarker? alternatively, this might be doable as a listview header