-
Link Mauve
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.
-
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
-
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..
-
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
-
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
-
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
-
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
-
pep.
The receiver will have very different expectations if muc#stable-id is present or not
-
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
-
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
-
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
-
larma
😀
-
MattJ
it doesn't appear to look for origin-id or detect muc#stable-id
-
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
-
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
-
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!
-
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)
-
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.
-
edhelas
https://twitter.com/MovimNetwork/status/1243574534600626186
-
jubalh
how can I create account for the wiki https://wiki.xmpp.org ?
-
Link Mauve
jubalh, ask Guus, ↑
- jubalh asks Guus
-
pep.
Or Ge0rG
-
pep.
Or https://wiki.xmpp.org/web/Sysops
-
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 ✏
-
xcndmv
holla
-
daniel
hola
-
emus
Hola compañiero../a?
-
rion
por que todos hablan español?