In MIX, is it impossible to unsubscribe from a node after having joined a channel, instead of leaving and rejoining with just the ones we want?
Zash
Instinctively I'd say you should be able to un/subscribe to individual nodes all you want.
Zash
I thought the join stanza was mainly a convenience thing that did a bunch of subscribes for you under the hood
Link Mauve
Zash, the join has to be done by the user’s server, then there is the update-subscription that can be done directly by the user, but it doesn’t define an unsubscribe mechanism.
Link Mauve
I guess I’ll propose it.
remkohas joined
stpeterhas joined
stpeterhas left
Steve Killehas left
Steve Killehas joined
adiaholic_has left
adiaholic_has joined
Douglas Terabytehas left
Douglas Terabytehas joined
Jeybehas joined
Jeybehas left
Jeybehas joined
stpeterhas joined
stpeterhas left
MattJ
People who are using XEP-0333 in the wild, are you really using the id attribute for that?
MattJ
In a MUC especially that seems like a bad idea
Jeybehas left
Jeybehas joined
larma
MattJ, it doesn't say which id to use, does it?
larma
> The Chat Marker MUST have an 'id' which is the 'id' of the message being marked.
isn't really specific
MattJ
The example shows it using the id attribute
larma
true
MattJ
So those two things combined suggest that yes, it does specify
pep.
"The example shows" is not normative :x
MattJ
Regardless, we have plenty of things only documented by examples in XEPs :)
larma
the example message also isn't in a MUC, so...
pep.
Maybe someday we'll make them normative..
robertooohas left
robertooohas joined
Jeybehas left
larma
also the example doesn't have origin-id or stanza-id, so maybe the rule is, "Use in order: stanza-id of a MUC, origin-id, message id attribute", the examples are just not good in showing that rule and it's not written down yet 😀
MattJ
Nice try :)
MattJ
which is why I asked what people are doing in the wild
adiaholic_has left
adiaholic_has joined
lskdjfhas left
larma
we don't do stanza id
larma
(Dino)
Daniel
Conversations uses orgin id for everything 184 and 333 related
flow
larma, chat markers (and many other xeps referring to just "id") predate other xeps which introduce other IDs, so it is safe to assume that those XEPs are talking about rfc6120 IDs
Daniel
Not going into the _correctness_ of that but you asked what clients are doing
larma
We also consider origin-id the new id attribute pretty much everywhere in Dino
larma
(if present)
Daniel
Using the stanza id might be _more_ correct in mucs. But only available in mucs. And then you have different behavior for group chats and 1:1
emushas left
emushas joined
larma
I guess we would want different behavior here
MattJ
Looks like converse.js uses the id attribute
MattJ
I'm in a situation where I want the MUC to be able to track who has read what
remkohas left
remkohas joined
Daniel
That's why I advocated multiple times that clients setting the orgin-id must set message ID and orgin id to the same value
larma
IMO we should finally have a XEP that rules how to use IDs properly
larma
like all of them
MattJ
Daniel, yeah, I think that makes sense
MattJ
I mean, we almost dropped origin-id entirely anyway
larma
Daniel, isn't that what all clients do that support origin-id?
larma
(although it should be in the XEP)
larma
and it should also be in the XEP that it shall be UUIDs
Daniel
larma: maybe. It's definitely not codified in the xep and flow was against that
pep.
But that works only if muc#stable-id right?
pep.
id == origin-id
Daniel
Well no
Daniel
It's about expectations
pep.
I mean for MUC cases
Daniel
When a client expects the reply to reference the normal ID and the replyee uses the orgin id it doesn't matter
larma
pep., the sender can send id == origin-id, it's just not guaranteed to be the same after it passed MUC
Daniel
Because both would work
pep.
larma, sure I agree
lovetoxhas left
pep.
The receiver will have very different expectations if muc#stable-id is present or not
lskdjfhas joined
MattJ
jonas’, weird revision history here? (see timestamps): https://xmpp.org/extensions/xep-0184.html#appendix-revs
MattJ
1.3.0 is dated later than 1.4.0
jonas’
probably a slip when writing the year
jonas’
or maybe a PR which was stuck reaaaaly long
larma
pep., I personally don't like muc#stable-id, we kind of have to work-around it everywhere with stanza-id of the MUCs MAM. It would be much more useful if MUCs would just guarantee that id is a uniquely generated random id and tell the sender the id their message got
pep.
It would..
pep.
I'm not saying I like it either
etahas left
etahas joined
etahas left
etahas joined
lskdjfhas left
lskdjfhas joined
stpeterhas joined
stpeterhas left
MattJ
larma, that's basically exactly what I'm considering doing right now :/
MattJ
Looks like we don't even advertise stable-id
jonas’
sounds like MIX
lskdjfhas left
lskdjfhas joined
MattJ
But I imagine many clients will break if we just rewrite ids
MattJ
(though jabber.org still does that, right?)
larma
MattJ, I don't think so, most clients can handle it if muc#stable-id is not present
larma
also some gateways don't support it
MattJ
So I'm looking at converse.js which uses the 'id' attribute in XEP-0184 and XEP-0333
Zash
Maybe there should be both muc#stable-id and muc#random-id
larma
we could have a new feature muc#unique-id
lskdjfhas left
lskdjfhas joined
larma
😀
MattJ
it doesn't appear to look for origin-id or detect muc#stable-id
remkohas left
MattJ
I think it uses origin-id only to track what messages are reflections
larma
btw, I always wondered if muc#stable-id is a violation of RFC 6120
larma
> It is up to the originating entity whether the value of the 'id' attribute is unique only within its current stream or unique globally.
None of the two is guaranteed when doing muc#stable-id
pdurbinhas joined
MattJ
It depends what you consider the "originating entity" to be
larma
well, the one in from
MattJ
Some people argue the client is the originating entity, others argue that the MUC is originating a new message based on the one the client submitted
larma
which is the muc
MattJ
Are clients storing a map between the id assigned by the MUC and the origin id?
MattJ
or what?
MattJ
If Converse.js sends a 184 receipt for the id assigned by the MUC (@id), are clients going to know what it is acknowledging?
jonas’
MattJ, aioxmpp relies on #stable-id for tracking of its own messages. Without that, it’ll fallback to matching the body, which is stupid.
MattJ
Neither XEP says to use origin-id, so I can't argue it's a bug in Converse
MattJ
jonas’, why not origin-id?
jonas’
MattJ, because we don’t auto-generate origin-id
jonas’
I consider that to be a different layer
MattJ
Have fun with that :)
jonas’
works well ;P
MattJ
This is all a terrible mess
jonas’
agreed
MattJ
I'm just trying to get stuff done that will work with all clients
MattJ
But there is a gaping hole in the specs, so it's impossible
jonas’
MattJ, a MIX-style annotation in the reflection to myself would be ok too, though
Zash
Thou shallt not have nice things!
MattJ
So right now it looks like I'll have to just make it work with Converse.js and likely mess up other clients
jonas’
what problem does converse.js have?
MattJ
It doesn't have a problem
jonas’
if it doesn’t work with #stable-id, I consider that a roblem ;)✎
larma
MattJ, Dino stores for each message (when possible) two IDs: the "stanza_id" which is either origin-id or id attribute and the "server_id" which is stanza-id of MUC in MUCs or stanza-id of your bare jid (= your MAM id) in direct message. If origin-id and id attribute mismatch we have a problem 😀
jonas’
if it doesn’t work with #stable-id, I consider that a problem ;) ✏
MattJ
jonas’, it does work with #stable-id
jonas’
then I can’t follow at all
lskdjfhas left
lskdjfhas joined
MattJ
I'm working on the server side, and I want to figure out what clients are acking (I imagine this would also apply to a client that wanted to observe what messages other occupants had received/read)
MattJ
Currently it seems I need to store a map of a non-unique id (@id) to stanza-id
MattJ
The non-unique part obviously makes that impossible
MattJ
(or unreliable, if you prefer)
Zash
If you're in the camp with "You send a message to the MUC, which then sends its own message out", shouldn't the MUC answer receipts then?
Zash
MUC could even send receipt-requests on its messages and return a receipt to the original sender when it gets receipts from enough participants.
MattJ
And read markers?
jubalh
gosh
Zash
Ugh
pep.
Zash, how do you define "enough"
Zash
Implementation detail!
DebXWoodyhas left
DebXWoodyhas joined
MattJ
Usually you can cope with the non-uniqueness of @id by scoping to a particular JID, but you can't do that in MUC (because acks get sent to the MUC JID)
adiaholic_has left
adiaholic_has joined
lskdjfhas left
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
remkohas joined
lskdjfhas left
lskdjfhas joined
karoshihas left
lovetoxhas joined
pdurbinhas left
Jeybehas joined
Steve Killehas left
lskdjfhas left
stpeterhas joined
stpeterhas left
lovetoxhas left
adiaholic_has left
adiaholic_has joined
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
Jeybehas left
Jeybehas joined
Jeybehas left
Jeybehas joined
eevvoorhas joined
Jeybehas left
Jeybehas joined
adiaholic_has left
adiaholic_has joined
edhelashas left
edhelashas joined
Jeybehas left
Jeybehas joined
mukt2has joined
Jeybehas left
Jeybehas joined
oxpahas joined
oxpahas left
oxpahas joined
calvinhas joined
mukt2has left
stpeterhas joined
stpeterhas left
Holgerhas left
karoshihas joined
Holgerhas joined
Steve Killehas joined
Jeybehas left
Jeybehas joined
karoshihas left
karoshihas joined
adiaholic_has left
andrey.ghas joined
calvinhas left
lovetoxhas joined
lovetoxhas left
lovetoxhas joined
Jeybehas left
Jeybehas joined
adiaholic_has joined
waqashas joined
Jeybehas left
Jeybehas joined
adiaholic_has left
adiaholic_has joined
Jeybehas left
Jeybehas joined
stpeterhas joined
stpeterhas left
mukt2has joined
j.rhas left
mukt2has left
j.rhas joined
Shellhas joined
Shellhas left
edhelashas left
Jeybehas left
Jeybehas joined
edhelashas joined
govanifyhas left
govanifyhas joined
rionhas left
stpeterhas joined
stpeterhas left
govanifyhas left
govanifyhas joined
remkohas left
remkohas joined
xelxebarhas left
rionhas joined
xelxebarhas joined
Shellhas joined
Link Mauve
Guus, how up to date is your MIX server implementation?
Link Mauve
Could it be used to proxy joins and let clients access it?
Guus
Link Mauve I have none.
Guus
I think Surevine / Dave created one once, based on Openfire, but that never was merged.
Guus
dwd ?
Guus
https://github.com/surevine/Openfire filter branches for "mix" and you'll find a couple. I do not know what their state is.
Guus
Dave and me previously discussed working on getting this merged in Openfire, but never got around doing that.
how can I create account for the wiki https://wiki.xmpp.org ?
Link Mauve
jubalh, ask Guus, ↑
jubalhasks Guus
pep.
Or Ge0rG
pep.
Or https://wiki.xmpp.org/web/Sysops
stpeterhas joined
stpeterhas left
stark42has joined
adiaholic_has left
adiaholic_has joined
stark42has left
Ge0rG
It's well documented on https://wiki.xmpp.org/web/Sysops - please provide your desired wiki user name in CamelCase and an email address. real name is optional✎
Ge0rG
jubalh: It's well documented on https://wiki.xmpp.org/web/Sysops - please provide your desired wiki user name in CamelCase and an email address. real name is optional ✏