[Standards] MAM Sync Strategies

Sam Whited sam at samwhited.com
Fri Aug 27 11:12:44 UTC 2021


Thanks JC!

You're right, I should have mentioned gaps. It's still possible to
have them in a desktop client because it could always close before it
finishes paging through catching up on history. I had planned to solve
that by either switching to committing the entire query in one
transaction, or changing from using the last message for the sync
query to using a separate "last message pointer" that gets updated
only after the entire transaction is over. If for any reason there is
a gap, this would effectively be the "there's a gap here" pointer
because you'd see that there existed messages after the last message
pointer. You could then fill it, or add a marker as you've done. I
haven't decided what's best yet, so I don't have this implemented
right now, but it's on my list.

—Sam

On Fri, Aug 27, 2021, at 03:57, JC Brand wrote:
> The potential presence of gaps and how to deal with them is something
> that I don't see mentioned in Sam's description. Probably because with
> a desktop client you can just fetch all messages and don't have to
> worry about gaps.


More information about the Standards mailing list