Software /
code /
prosody
Comparison
spec/scansion/mam_extended.scs @ 12630:781772c8b6d9
mod_mam: Store archives with sub-second precision timestamps
Changes sub-second part of example timestamp to .5 in order to avoid
floating point issues.
Some clients use timestamps when ordering messages which can lead to
messages having the same timestamp ending up in the wrong order.
It would be better to preserve the order messages are sent in, which is
the order they were stored in.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 14 Aug 2022 17:28:31 +0200 |
parent | 11338:2d5cdb010c65 |
comparison
equal
deleted
inserted
replaced
12629:4c1d3f817063 | 12630:781772c8b6d9 |
---|---|
43 </iq> | 43 </iq> |
44 | 44 |
45 Romeo receives: | 45 Romeo receives: |
46 <iq type="result" id="mamextmeta"> | 46 <iq type="result" id="mamextmeta"> |
47 <metadata xmlns="urn:xmpp:mam:2"> | 47 <metadata xmlns="urn:xmpp:mam:2"> |
48 <start timestamp="2008-08-22T21:09:04Z" xmlns="urn:xmpp:mam:2" id="{scansion:any}"/> | 48 <start timestamp="2008-08-22T21:09:04.500000Z" xmlns="urn:xmpp:mam:2" id="{scansion:any}"/> |
49 <end timestamp="2008-08-22T21:09:04Z" xmlns="urn:xmpp:mam:2" id="{scansion:any}"/> | 49 <end timestamp="2008-08-22T21:09:04.500000Z" xmlns="urn:xmpp:mam:2" id="{scansion:any}"/> |
50 </metadata> | 50 </metadata> |
51 </iq> | 51 </iq> |
52 | 52 |
53 Romeo sends: | 53 Romeo sends: |
54 <iq type="set" id="mamquery1"> | 54 <iq type="set" id="mamquery1"> |
57 | 57 |
58 Romeo receives: | 58 Romeo receives: |
59 <message to="${Romeo's full JID}"> | 59 <message to="${Romeo's full JID}"> |
60 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> | 60 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> |
61 <forwarded xmlns="urn:xmpp:forward:0"> | 61 <forwarded xmlns="urn:xmpp:forward:0"> |
62 <delay stamp="2008-08-22T21:09:04Z" xmlns="urn:xmpp:delay"/> | 62 <delay stamp="2008-08-22T21:09:04.500000Z" xmlns="urn:xmpp:delay"/> |
63 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat01" from="${Romeo's full JID}"> | 63 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat01" from="${Romeo's full JID}"> |
64 <body>Hello</body> | 64 <body>Hello</body> |
65 </message> | 65 </message> |
66 </forwarded> | 66 </forwarded> |
67 </result> | 67 </result> |
69 | 69 |
70 Romeo receives: | 70 Romeo receives: |
71 <message to="${Romeo's full JID}"> | 71 <message to="${Romeo's full JID}"> |
72 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> | 72 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> |
73 <forwarded xmlns="urn:xmpp:forward:0"> | 73 <forwarded xmlns="urn:xmpp:forward:0"> |
74 <delay stamp="2008-08-22T21:09:04Z" xmlns="urn:xmpp:delay"/> | 74 <delay stamp="2008-08-22T21:09:04.500000Z" xmlns="urn:xmpp:delay"/> |
75 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat02" from="${Romeo's full JID}"> | 75 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat02" from="${Romeo's full JID}"> |
76 <body>U there?</body> | 76 <body>U there?</body> |
77 </message> | 77 </message> |
78 </forwarded> | 78 </forwarded> |
79 </result> | 79 </result> |
96 | 96 |
97 Romeo receives: | 97 Romeo receives: |
98 <message to="${Romeo's full JID}"> | 98 <message to="${Romeo's full JID}"> |
99 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> | 99 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> |
100 <forwarded xmlns="urn:xmpp:forward:0"> | 100 <forwarded xmlns="urn:xmpp:forward:0"> |
101 <delay stamp="2008-08-22T21:09:04Z" xmlns="urn:xmpp:delay"/> | 101 <delay stamp="2008-08-22T21:09:04.500000Z" xmlns="urn:xmpp:delay"/> |
102 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat02" from="${Romeo's full JID}"> | 102 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat02" from="${Romeo's full JID}"> |
103 <body>U there?</body> | 103 <body>U there?</body> |
104 </message> | 104 </message> |
105 </forwarded> | 105 </forwarded> |
106 </result> | 106 </result> |
108 | 108 |
109 Romeo receives: | 109 Romeo receives: |
110 <message to="${Romeo's full JID}"> | 110 <message to="${Romeo's full JID}"> |
111 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> | 111 <result xmlns="urn:xmpp:mam:2" queryid="q1" id="{scansion:any}"> |
112 <forwarded xmlns="urn:xmpp:forward:0"> | 112 <forwarded xmlns="urn:xmpp:forward:0"> |
113 <delay stamp="2008-08-22T21:09:04Z" xmlns="urn:xmpp:delay"/> | 113 <delay stamp="2008-08-22T21:09:04.500000Z" xmlns="urn:xmpp:delay"/> |
114 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat01" from="${Romeo's full JID}"> | 114 <message to="someone@localhost" xmlns="jabber:client" type="chat" xml:lang="en" id="chat01" from="${Romeo's full JID}"> |
115 <body>Hello</body> | 115 <body>Hello</body> |
116 </message> | 116 </message> |
117 </forwarded> | 117 </forwarded> |
118 </result> | 118 </result> |