edhelas, origin-id doesn’t bring any more guarantee than message@id, some people tried to give it additional meaning such as “it’s a UUID” or “it MUST be unique” but on the receiving end you can’t be sure of any of that, so those guarantees are moot.
Link Mauve
The proper way forward would be to deprecate origin-id, and politely ask for message@id to be globally unique instead of per-stream, which most clients are doing anyway.
Link Mauve
In slixmpp we already stopped including it anywhere, I would recommend that to other clients as well.
Link Mauve
It was merely a hack for when MUC didn’t carry over message@id, but MUC has since been fixed to do so.
wurstsalathas joined
Steve Killehas left
adiaholichas left
adiaholichas joined
MSavoritias (fae,ve)has joined
neshtaxmpphas left
neshtaxmpphas joined
Steve Killehas joined
Steve Killehas left
neshtaxmpphas left
neshtaxmpphas joined
e4c5nf3d6has left
adiaholichas left
Steve Killehas joined
mathijshas left
mathijshas joined
adiaholichas joined
Tobiashas joined
adiaholichas left
Mario Sabatinohas joined
adiaholichas joined
karoshihas joined
adiaholichas left
goffihas joined
marchas joined
Steve Killehas left
MSavoritias (fae,ve)has left
Wojtekhas joined
jcbrand
> what you see in the wild is messages with both message@id and origin-id, with the same big uuid
> twice!
If this is such a bad thing, one could have an empty origin-id that indicates that the message ID unique.
andrey.ghas joined
MSavoritias (fae,ve)has joined
Fishbowlerhas left
Fishbowlerhas joined
lskdjfhas joined
Steve Killehas joined
Steve Killehas left
antranigvhas joined
MSavoritias (fae,ve)has left
antranigvhas left
antranigvhas joined
antranigvhas left
MSavoritias (fae,ve)has joined
Fishbowlerhas left
Fishbowlerhas joined
mathijshas left
mathijshas joined
mathijshas left
Steve Killehas joined
Steve Killehas left
mathijshas joined
Mikaelahas left
Mikaelahas joined
Half-Shothas left
uhoreghas left
homebeachhas left
Matthewhas left
uhoreghas joined
Half-Shothas joined
Matthewhas joined
homebeachhas joined
neshtaxmpphas left
neshtaxmpphas joined
iinkhas left
iinkhas joined
iinkhas left
iinkhas joined
iinkhas left
SteveFhas joined
iinkhas joined
Tim Rhas joined
sebastianhas left
sebastianhas joined
beanhas joined
mhhas left
andrey.ghas left
stphas joined
adiaholichas joined
florettahas left
Steve Killehas joined
Steve Killehas left
Steve Killehas joined
adiaholichas left
Mikaelahas left
Mikaelahas joined
roothas left
florettahas joined
Steve Killehas left
xeckshas left
xeckshas joined
stphas left
Steve Killehas joined
MSavoritias (fae,ve)has left
marchas left
marchas joined
MSavoritias (fae,ve)has joined
neshtaxmpphas left
Tobiashas left
Tobiashas joined
millesimushas left
millesimushas joined
Steve Killehas left
stphas joined
xnamedhas joined
MSavoritias (fae,ve)has left
Tobiashas left
Tobiashas joined
Ingolfhas left
Ingolfhas joined
Steve Killehas joined
Steve Killehas left
Steve Killehas joined
Steve Killehas left
Maranda[x]has left
Maranda[x]has joined
stphas left
marchas left
marchas joined
Steve Killehas joined
Steve Killehas left
gooyahas joined
xnamedhas left
xnamedhas joined
Steve Killehas joined
MSavoritias (fae,ve)has joined
stphas joined
Steve Killehas left
zcyphhas left
papatutuwawahas joined
neshtaxmpphas joined
Steve Killehas joined
SteveFhas left
SteveFhas joined
SteveFhas left
SteveFhas joined
marchas left
mhhas joined
mathijshas left
mathijshas joined
xnamedhas left
xnamedhas joined
adiaholichas joined
adiaholichas left
Half-Shothas left
uhoreghas left
homebeachhas left
Matthewhas left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
uhoreghas joined
chipmnkhas left
chipmnkhas joined
xnamedhas left
gooyahas left
Alexhas left
xnamedhas joined
gooyahas joined
MSavoritias (fae,ve)has left
MSavoritias (fae,ve)has joined
stphas left
gooyahas left
stphas joined
florettahas left
gooyahas joined
Tobiashas left
Tobiashas joined
iinkhas left
iinkhas joined
florettahas joined
gooyahas left
mathijshas left
mathijshas joined
gooyahas joined
iinkhas left
mathijshas left
mathijshas joined
Tobiashas left
Tobiashas joined
TheCoffeMakerhas left
TheCoffeMakerhas joined
gooyahas left
MSavoritias (fae,ve)has left
Tobiashas left
Tobiashas joined
Alexhas joined
Tobiashas left
Tobiashas joined
MSavoritias (fae,ve)has joined
djorzhas joined
antranigvhas joined
neshtaxmpphas left
neshtaxmpphas joined
TheCoffeMakerhas left
djorzhas left
iinkhas joined
TheCoffeMakerhas joined
Matthewhas left
Half-Shothas left
uhoreghas left
homebeachhas left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
uhoreghas joined
MSavoritias (fae,ve)has left
neshtaxmpphas left
Steve Killehas left
neshtaxmpphas joined
stphas left
colemanhas joined
iinkhas left
iinkhas joined
Steve Killehas joined
MSavoritias (fae,ve)has joined
iinkhas left
iinkhas joined
stphas joined
roothas joined
xnamedhas left
xnamedhas joined
iinkhas left
florettahas left
Mikaelahas left
Tobiashas left
Matthewhas left
Half-Shothas left
uhoreghas left
homebeachhas left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
uhoreghas joined
Mikaelahas joined
Mx2has joined
iinkhas joined
Tobiashas joined
djorzhas joined
mehas joined
Tobiashas left
Tobiashas joined
millesimushas left
Mikaelahas left
Mikaelahas joined
Matthewhas left
Half-Shothas left
homebeachhas left
uhoreghas left
Mx2has left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
massiveboxhas left
Steve Killehas left
uhoreghas joined
Fishbowlerhas left
Fishbowlerhas joined
konstantinoshas left
konstantinoshas joined
kurisu
The whole id situation is frankly laughable. The ids literally take up more space than the data (the message) itself most of the time. What's the point in an ID then if you can just compare said data itself more efficiently than the ids?
Not to mention the need for multiple IDs or ids at all wouldn't exist if messages were hashable, but they're not, because original xmpp developers wanted to overdose on XML
MattJ
Hashes don't really solve the problem, and I don't really know many (any?) widespread protocols that do it that way
marchas joined
Mikaelahas left
edhelas
I don't think that having more metadata than the actual data is an issue. Just that as a developer I'd like some simple explanations on how to handle those IDs and here I have different behavior in different XEPs using the same base IDs :/
florettahas joined
MattJ
edhelas, any chance you can post a small overview of your woes to standards@?
edhelas
I'll see if I can write an email about that yes
derdanielhas left
edhelas
Having a nice discussion IRL for the next meetup with a review of all the related XEPs could be awesome as well :D
MattJ
I'm only aware of two id-related issues: 1) origin-id is obsolete 2) clients don't know the archive id of their sent messages
Matthewhas left
homebeachhas left
Half-Shothas left
uhoreghas left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
uhoreghas joined
MattJ
To be clear, (1) is contested by some people
edhelas
MattJ actually I think that the tools we have are good, the issue is mostly how we navigate through them. I'd prefer to have one simple flow in the 0359 and all the other XEPs that are simply saying "base the ID we're relying on on this thing".
gooyahas joined
edhelas
Better then reinterpretating 0359 in the other XEPs like its done in Message Reactions and Message Replies
edhelas
*than
Fishbowlerhas left
Fishbowlerhas joined
mathijshas left
mathijshas joined
Mikaelahas joined
Steve Killehas joined
pablohas joined
mathijshas left
mathijshas joined
singpolyma
Isn't the difference between id and origin-id that id is only unique to the stream whereas origin-id should be unique do the whole client/origin?
mathijshas left
mathijshas joined
Zash
Either are set by the client
edhelas
> Isn't the difference between id and origin-id that id is only unique to the stream whereas origin-id should be unique do the whole client/origin?
The issue is the "SHOULD" ↺
pablohas left
singpolyma
edhelas: well you can *never* guarantee uniqueness. Bugs exist
Zash
Using origin-id may mean that the client promises to use a more unique id than if you only see <message id=''>
singpolyma
Zash: right, since it has to at least be unique across sessions
singpolyma
Whereas message@id is often just a counter
moparisthebest
In what case would a client author choose to use 2 different types of id generation to send in the same message?
Zash
But the problem that tag was meant to solve was that conference.jabber.org would rewrite the message@id sent trough a MUC (because if you squint at it, the MUC is the sender)
mathijshas left
mathijshas joined
Tobiashas left
Steve Killehas left
Tobiashas joined
xnamedhas left
millesimushas joined
xnamedhas joined
Wojtekhas left
Tobiashas left
Tobiashas joined
Steve Killehas joined
Steve Killehas left
Steve Killehas joined
neshtaxmpphas left
neshtaxmpphas joined
mathijshas left
mathijshas joined
Steve Killehas left
TheCoffeMakerhas left
TheCoffeMakerhas joined
Wojtekhas joined
Mx2has joined
singpolymahas left
singpolymahas joined
massiveboxhas joined
Mikaelahas left
Steve Killehas joined
Steve Killehas left
gooyahas left
Mx2has left
Sevehas left
iinkhas left
Sevehas joined
iinkhas joined
mathijshas left
antranigvhas left
Steve Killehas joined
mathijshas joined
antranigvhas joined
xnamedhas left
singpolymahas left
singpolymahas joined
papatutuwawahas left
adiaholichas joined
Maranda[x]has left
Tobiashas left
Tobiashas joined
Maranda[x]has joined
Paganinihas joined
antranigvhas left
Tobiashas left
Tobiashas joined
xnamedhas joined
mjkhas left
mjkhas joined
Tobiashas left
Tobiashas joined
antranigvhas joined
MSavoritias (fae,ve)has left
Ingolfhas left
goffihas left
antranigvhas left
djorzhas left
antranigvhas joined
Tobiashas left
Mikaelahas joined
Tobiashas joined
Tobiashas left
Tobiashas joined
mehas left
adiaholichas left
adiaholichas joined
adiaholichas left
antranigvhas left
Ingolfhas joined
antranigvhas joined
Menelhas left
sbachhas left
sbachhas joined
adiaholichas joined
Titihas left
Titihas joined
Menelhas joined
MSavoritias (fae,ve)has joined
sbachhas left
sbachhas joined
adiaholichas left
adiaholichas joined
papatutuwawahas joined
Tobiashas left
Tobiashas joined
antranigvhas left
antranigvhas joined
adiaholichas left
neshtaxmpphas left
neshtaxmpphas joined
antranigvhas left
adiaholichas joined
Tobiashas left
Tobiashas joined
pablohas joined
antranigvhas joined
iinkhas left
adiaholichas left
antranigvhas left
mjkhas left
Tobiashas left
Tobiashas joined
MSavoritias (fae,ve)has left
adiaholichas joined
mjkhas joined
adiaholichas left
adiaholichas joined
mehas joined
iinkhas joined
antranigvhas joined
Wojtekhas left
adiaholichas left
jcbrand
I think that's a narrow interpretation of the use of oigin-id. What it also does, is give you a unique ID for the message, which message@id by itsel isn't✎
jcbrand
I think that's a narrow interpretation of the use of oigin-id. What it also does, is give you a unique ID for the message, which message@id by itself isn't ✏
jcbrand
And yes it sucks that message@id isn't unique, but that's the way it is
gooyahas joined
Wojtekhas joined
jcbrand
At least until fairly recently, before I started using origin-id, I got bug reports because of clients that don't have unique message@ids
jcbrand
If a message had an element that said, my message@id is unique, that would also be a solution for me
jcbrand, but I don't understand - what do you do with those clients that don't send <origin-id> and have non-unique @id? I don't see how origin-id fixes anything for those clients. They still exist, and you still have to deal with them.
SteveFhas left
SteveFhas joined
SteveFhas left
SteveFhas joined
MSavoritias (fae,ve)has joined
marc0shas left
marc0shas joined
xeckshas left
xeckshas joined
Alexhas left
Alexhas joined
neshtaxmpphas left
neshtaxmpphas joined
BASSGODhas left
adiaholichas joined
Tobiashas left
Tobiashas joined
Tobiashas left
Tobiashas joined
Tobiashas left
Tobiashas joined
mathijshas left
mathijshas joined
zcyphhas joined
xeckshas left
xeckshas joined
L29Ahhas left
mathijshas left
vanitasvitaehas left
goffihas joined
Titihas left
mathijshas joined
Tobiashas left
Tobiashas joined
Tobiashas left
Tobiashas joined
MSavoritias (fae,ve)has left
Wojtekhas joined
xnamedhas left
Titihas joined
arcxihas left
TheCoffeMakerhas left
TheCoffeMakerhas joined
Tim Rhas left
Tim Rhas joined
Titihas left
mathijshas left
mathijshas joined
mehas joined
Tobiashas left
Tobiashas joined
gooyahas left
gooyahas joined
Tobiashas left
Tobiashas joined
Ray22has left
L29Ahhas joined
Tim Rhas left
Titihas joined
Tim Rhas joined
Wojtekhas left
Tim Rhas left
SteveFhas left
L29Ahhas left
L29Ahhas joined
mathijshas left
florettahas left
mathijshas joined
restive_monkhas left
millesimushas left
Danielhas left
adiaholichas left
phrykhas joined
xnamedhas joined
xeckshas left
xeckshas joined
mehas left
TheCoffeMakerhas left
TheCoffeMakerhas joined
adiaholichas joined
derdanielhas joined
florettahas joined
Titihas left
Marandahas left
brunrobehas left
Mjolnir Archonhas left
gooyahas left
marchas left
marchas joined
gooyahas joined
chipmnkhas left
chipmnkhas joined
Tim Rhas joined
djorzhas joined
mjkhas left
mjkhas joined
Matthewhas left
Half-Shothas left
uhoreghas left
homebeachhas left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
uhoreghas joined
Titihas joined
jcbrand
I fall back to heuristics, but I'd want to avoid that for messages where I don't have to. Also I know I can ignore messages from those clients when it comes to features that rely on XEP-359
Alexhas left
Alexhas joined
Yagizahas joined
moparisthebest
you have to on all messages though, since origin-id might not actually be unique, since it comes from an untrusted source ?
neshtaxmpphas left
neshtaxmpphas joined
jcbrand
moparisthebest: you check the `from` as well
massiveboxhas left
djorzhas left
eevvoorhas joined
goffihas left
moparisthebest
jcbrand, but since you have to handle the scenario where any id you don't generate is non-unique, what does origin-id give you again ? just another id to check with no benefit seems like
Titihas left
Zash
if you leave and I `/nick jcbrand` and then reuse your origin-id or message@id, where is your glob then‽
Maranda[x]has left
MSavoritias (fae,ve)has joined
konstantinoshas left
marc0shas left
marc0shas joined
antranigvhas joined
konstantinoshas joined
goffihas joined
djorzhas joined
Mikaelahas left
konstantinoshas left
konstantinoshas joined
Vidakhas left
Mikaelahas joined
Titihas joined
gooyahas left
Tobiashas left
Tobiashas joined
Vidakhas joined
Tobiashas left
Tobiashas joined
Skull Fuckerhas left
Skull Fuckerhas joined
Yagizahas left
Tobiashas left
Tobiashas joined
Maranda[x]has joined
Tobiashas left
Tobiashas joined
massiveboxhas joined
Tobiashas left
Tobiashas joined
stpeterhas joined
mehas joined
massiveboxhas left
gooyahas joined
Marandahas joined
adiaholichas left
adiaholichas joined
eevvoorhas left
antranigvhas left
archas left
archas joined
marc0shas left
marc0shas joined
brunrobehas joined
Tim Rhas left
papatutuwawahas left
papatutuwawahas joined
Tim Rhas joined
adiaholichas left
adiaholichas joined
neshtaxmpphas left
neshtaxmpphas joined
sonnyhas left
stphas left
stphas joined
Mjolnir Archonhas joined
adiaholichas left
adiaholichas joined
adiaholichas left
djorzhas left
Vidakhas left
Vidakhas joined
stpeterhas left
Ingolfhas left
iinkhas left
mehas left
xnamedhas left
iinkhas joined
mehas joined
marc0shas left
marc0shas joined
Matthewhas left
Half-Shothas left
homebeachhas left
uhoreghas left
Half-Shothas joined
Matthewhas joined
homebeachhas joined
uhoreghas joined
marc0shas left
marc0shas joined
gooyahas left
Tim Rhas left
xnamedhas joined
gooyahas joined
marc0shas left
marc0shas joined
Tim Rhas joined
djorzhas joined
marc0shas left
marc0shas joined
xnamedhas left
neshtaxmpphas left
neshtaxmpphas joined
xnamedhas joined
konstantinoshas left
mehas left
sonnyhas joined
djorzhas left
mathijshas left
mathijshas joined
Tim Rhas left
Alexhas left
Alexhas joined
adiaholichas joined
mhhas left
mathijshas left
mhhas joined
mathijshas joined
adiaholichas left
adiaholichas joined
karoshihas left
xnamedhas left
xnamedhas joined
karoshihas joined
mehas joined
Tim Rhas joined
Tim Rhas left
Tim Rhas joined
xnamedhas left
xnamedhas joined
wladmishas left
wladmishas joined
gooyahas left
wladmishas left
wladmishas joined
wladmishas left
Ingolfhas joined
wladmishas joined
chipmnkhas left
chipmnkhas joined
marc0shas left
marc0shas joined
marc0shas left
marc0shas joined
adiaholichas left
adiaholichas joined
gooyahas joined
BASSGODhas joined
Tobiashas left
Tobiashas joined
Tobiashas left
Tobiashas joined
marc0shas left
marc0shas joined
gooyahas left
Tobiashas left
marc0shas left
marc0shas joined
gooyahas joined
Tobiashas joined
jcbrand
moparisthebest: I consider the combination of origin-id and from to be unique.
marc0shas left
marc0shas joined
jcbrand
Zash: that's where XEP-421 comes in
jcbrand
So really origin-id and occupant-id rather than from