Update local read marker before posting read receipt
Summary:
Before, we only used the m.receipt event from sync as the criterion for whether an event is read. This does not allow us to mark the event as read if the server is not reachable, or when the server's ordering is different from the client's. This commit makes it possible to mark an event as read under such circumstances.
Type: fix
BUG: https://iron.lily-is.land/T113
Test Plan: Verify unit tests pass.
Reviewers: O1 the Kazv Project
Differential Revision: https://iron.lily-is.land/D204