Please bottom-post on this list. On 26 Jan 2015, at 11:20, Piotr Nosek <[email protected]> wrote: >> >> On Thu, Jan 22, 2015 at 2:47 PM, Kevin Smith <[email protected]> wrote: >> On 22 Jan 2015, at 13:24, Georg Lukas <[email protected]> wrote: >> > >> > * Kevin Smith <[email protected]> [2015-01-22 14:14]: >> >>> How would you deduplicate a mix of messages received normally and MAM >> >>> messages? Are you supposed to delete all normal messages when syncing up >> >>> with MAM? >> >> Yep. >> > >> > Hmm. My gut feeling is that I don't particularly like that approach. >> > Maybe we can really deprecate it with the unique-id idea. >> >> As I said earlier - if someone can come up with an alternative that works >> (in the edge cases, not just the obvious single-client case), I think >> speccing it would be great. No-one’s come up with such a proposal yet. > But what are these edge cases actually? Can anyone write an example, a clear > scenario that is problematic when using server-side IDs?
A few examples (between server and client) of what happens if you try to use the local archive on a client to fill in gaps in received server archives (i.e. to not fetch server archives for periods the client was online). These are addressible, to different degrees, with sufficient amounts of client smarts, but not (I believe) all. The list of edge cases was longer than this, but these are the ones I can trivially remember: 1 server sends messageA 2 client sends messageB 3 client receives messageA 4 server receives messageB Client has the archive out of order 1 server sends messageA 2 client sends messageB 3 client receives messageA 4 client disconnects Client has a message in its archive that was never delivered. 1) client sends messageA 2…26) client sends messageB…messageZ 3) session ends The client has to do a full sync anyway, because it doesn’t have IDs for any of its sent stanzas. /K
