<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jul 26, 2014, at 7:43 AM, Dave Cridland <<a href="mailto:dave@cridland.net">dave@cridland.net</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 26 July 2014 12:30, Georg Lukas <span dir="ltr"><<a href="mailto:georg@op-co.de" target="_blank">georg@op-co.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
3) In practice, nobody is relying on the uniqueness of 'id's anyway,<br>
because there are so many broken implementations out there.<br></blockquote><div><br></div><div>Two small points on this.</div><div><br></div><div>Firstly, many of your other comments rely on the uniqueness and stability of ids. An example is your (7) - this relies on all messages sent from the same occupant jid having unique ids. You'll probably realise some problems with this approach fairly quickly if you stop and think about it.</div>
<div><br></div><div>Secondly, RFC 6120, 8.1.3, says:</div><div><br></div><pre class="" style="font-size: 1em; margin-top: 0px; margin-bottom: 0px;">   It is up to the originating entity whether the value of the 'id'
   attribute is unique only within its current stream or unique
   globally.
</pre><div><br></div><div>Now, the real question is this: What is the originating entity in the case of MUC?</div><div><br></div><div>We do not, generally, consider that the originating entity of a pubsub event is the publisher, although semantically this is the case. But for MUC, we seem to consider the originating entity to be the originating client - at least when it suits us.</div>
<div><br></div><div>This would make sense if the MUC was a simple stanza relay service, but it's not. None of M-Link, Openfire, or Prosody implement a 1:1 mapping of occupant jid to client anymore. In addition, things like history, or archival access, generate stanzas spontaneously.</div>
<div><br></div><div>In any case, the thing effectively mandating unique id generation for outgoing messages is NOT XEP-0045, but RFC 6120.</div><div><br></div><div>This doesn't invalidate your arguments entirely, but it may well suggest that RFC 6120 has a technical flaw that needs addressing.</div>
<div><br></div><div>Dave.</div></div></div></div>
</blockquote></div><div><br></div><div>That RFC 6120 text is misleading if not outright bogus.  It implies that ids have some uniqueness when in fact they may not, even in one particular stream. </div><div><br></div><div>But worse, it's wrong.  An entity originating an error or result stanza is obligated to use the id the error or result is in response to.  So the value is not always up to the originating entity of the error or result stanza.</div><div><br></div><div>I have no objection to Georg's most recent revision to XEP 45.</div><div><br></div><div>-- Kurt</div><div><br></div></body></html>