Gaps when fetching history
Steps to reproduce
- UserA creates a new room with MAM support
- UserB joins
- UserA sends "foo" (UserB receives it)
- UserA kicks UserB
- UserA sends "bar"
- UserB /cycle
UserB rejoins the room, and doesn't see "bar". Nothing (visible) happens when
PageUp is pressed.
UserB should receive "bar" when joining the second time.
I assume this happens because we keep a reference to the oldest stanza-id we know of, and if we were to fetch more, we would fetch messages after this one, and not those during the interval we've been away.
I'm not entirely sure how we should deal with that though UX-wise. Should
PageUp progressively try to fill gaps? and only once we've filled all gaps, fetched messages older than what we already have?
Also for reference, see this quite detailed explanation from jonas, for Jabbercat.