15ed91e047
This patch changes the behaviour of the `Timeline` when a duplicated event is received. Prior to this patch, the old event was removed, and the one was added. With this patch, the old event is kept, and the new one is skipped. This is important for https://github.com/matrix-org/matrix-rust-sdk/pull/3512 where events are mapped to the timeline item indices. When an event is removed, it becomes difficult to keep the mapping correct. This patch also adds duplication detection for pagination (with `TimelineItemPosition::Start`).