-
Ge0rG
Should a gateway that offers chatrooms have two identities? `<identity category="gateway" type="othernetwork" />` as well as `<identity category="conference" type="text or something" />` ?
-
pep.
That might confuse clients looking for a MUC service to creates room onto(?)
-
Ge0rG
Also, what's the status of our registry?
-
Ge0rG
pep.: Gajim refuses to join rooms that don't have a conference identity.
-
Ge0rG
Maybe only the room should have a conference identity then?
-
pep.
hmm.
-
pep.
That'd be enough to me
-
Daniel
No the server needs to have the identity too
-
pep.
why?
-
Zash
Having multiple identities is valid, albeit confusing sometimes.
-
Daniel
That's how we Auto discover muc servers
-
Ge0rG
Daniel: what if you can't create rooms on that service because it's a gateway?
-
pep.
that ^
-
Daniel
I Filter that out
-
Zash
How?
-
Ge0rG
you filter what out where?
-
Daniel
Based on the gateway identity
-
Zash
So (gateway,$type) + (conference, text|???) would make sense?
-
eta
Ge0rG, ooi, what gateway are you writing
-
Ge0rG
eta: don't ask
-
eta
(is it the matrix bridge)
-
Daniel
I look for any service that has conference but not category gateway
-
Daniel
For the group chat auto create feature
-
pep.
Ok that makes sense
-
Zash
Out of curiosity, what would happen if the base host advertised conference/text?
-
Daniel
I mean tbf I don't care if a gateway advertises as conference. That has no benefit
-
Daniel
But I catch the case when it does
-
Daniel
Because historically a lot of gateways do
-
lovetox
indeed also gajim does use conference/text on the component to find the muc server
-
Ge0rG
lovetox: on the component?
-
lovetox
the subdomain, or whatever
-
lovetox
muc.domain.org
-
Ge0rG
lovetox: btw, Gajim's error message is "Address does not belong to a group chat server", which is misleading given that it queries the room and not the domain
-
lovetox
the disco info item that the server returns on a disco item
-
lovetox
how do you call it?
-
Ge0rG
lovetox: I was just confused on where you come from. I was trying to "Join Group Chat" by entering a room JID into the dialog
-
lovetox
yeah and why is the error message confusing
-
lovetox
or with what case could it be confused
-
Ge0rG
lovetox: it implies that you are checking the domain JID and not the room JID. See https://mail.jabber.org/pipermail/standards/2020-October/037784.html for details
-
lovetox
ok i forgot that you can run the muc service on a domain that can also host accounts
-
lovetox
then this message makes no sense for some servers
-
Ge0rG
lovetox: yup
-
lovetox
thanks
-
Ge0rG
lovetox: FYI, it was caused by https://github.com/matrix-org/matrix-bifrost/issues/131
-
lovetox
Ge0rG, you write this like its a option
-
lovetox
conference/text is a MUST on rooms
-
lovetox
its not a "short-term" solution which implies that there is a different "long-term" solution
-
lovetox
also i have the same issue open for months
-
lovetox
there is no activity on this repo for > 6 months
-
lovetox
and this is probably a one liner
-
Ge0rG
lovetox: well it might also be conference/matrix instead of conference/text, right? 😉
-
lovetox
no
-
lovetox
then its not a MUC
-
Ge0rG
lovetox: you might cross reference the issue then. The Bifröst developers have returned!
-
lovetox
a bridge tries to emulate a MUC, then it has to respect every part of 0045
-
Ge0rG
Good point
-
pep.
Talking about MUC, what's up with disco#info results having different names than MUC configuration? :/
-
pep.
It's quite confugins✎ -
pep.
It's quite confusing ✏
-
lovetox
https://xmpp.org/extensions/xep-0045.html#registrar-discocat
-
lovetox
thats the single way a MUC is discovered, everything that does not put conference/text, is by definition not a MUC
-
pep.
Also features being sent alongside a form (that seems to reuse MUC configuration names?), will a server always send one and not the other if it's also declared as a disco feature?
-
Zash
pep.: what, exactly?
-
Ge0rG
lovetox: feel free to comment on standards@, BTW
-
pep.
Zash, for example muc#roomconfig_whois doesn't appear in disco#info, there's muc_nonanonymous and muc_semianonymous
-
Ge0rG
lovetox: if that's the single way, why are you also checking for the MUC namespace feature?
-
pep.
(well not both at the same time)
-
pep.
When querying disco#info, do I have to be ready to parse all variations?
-
lovetox
Ge0rG, i looked it up in Gajim code
-
lovetox
acutally i check for conference + MUC Feature
-
lovetox
which i should change
-
lovetox
if i read this correctly
-
lovetox
https://xmpp.org/registrar/disco-categories.html#conference
-
lovetox
conference/text says its a text conferencing service, which could mean alot
-
lovetox
so we should probably always check in addition for the MUC feature
-
Ge0rG
So it's the right thing to check for both, on the room JID?
-
Ge0rG
What will Gajim do if the room is item-not-found?
-
pep.
Any idea how the disco thing in MUC came to be? Somebody first added their feature for their one need and a few others got added bit by bit and then somebody said "fk it let's add all the form"?
-
lovetox
Ge0rG, tell the user that the room does not exist?
-
lovetox
pep., i dont understand the problem
-
lovetox
what is the problem with muc#roomconfig_whois?
-
lovetox
its a registered config option
-
Zash
Why is there conference/irc then? Is that not allowed to speak MUC?
-
pep.
lovetox, the problem is that roomconfig_whois never appears in disco#info
-
pep.
it appears as either muc_nonanonymous or muc_semianonymous
-
pep.
Well, I don't know about "never"
-
Zash
pep.: Why is that a problem?
-
pep.
Just confusing
-
pep.
So I have to parse all the possible variations, right?
-
Ge0rG
Isn't the identity meant for users and the feature for clients?
-
Zash
The config option would enable one out of those flags
-
pep.
Zash, yes and when discovering I'm not sure if I'm gonna get the disco feature or if in the disco result I'll have a form with the muc configuration name
-
pep.
(With a value that's anyone or moderators)
-
Zash
pep.: disco features in disco results, config options in the config form.
-
pep.
Ok so why doesn't muc#roomconfig_changesubject have a disco feature as well
-
pep.
Why is that in the form in the disco result
-
Zash
Wait `muc#roomconfig_*` in the disco result? That might be a bug.
-
Zash
Unless the XEP says to do so
-
Zash
In which case it's an inconsistency
-
pep.
I think it does, and I find it confusing
-
pep.
yes
-
pep.
https://xmpp.org/extensions/xep-0045.html#example-10
-
Zash
Ugh
-
pep.
Half disco features half muc#
-
Zash
Well examples aren't normative!!!!!
-
pep.
:/
-
pep.
not helpful
-
lovetox
its a bad example i think
-
Zash
pep.: note `muc#roominfo_` vs `muc#roomconfig_`
-
pep.
ouch
-
lovetox
it just wants to show that roomconfig can be in disco info
-
pep.
even more inconsistencies
-
lovetox
but they choose the one that has a feautre anyway
-
lovetox
there others that dont have one
-
Zash
Check the form registration
-
lovetox
in this case only check for the roominfo feature
-
lovetox
why would the roomconfig feature say something different?
-
Zash
https://xmpp.org/extensions/xep-0045.html#registrar-formtype-roominfo doesn't have any `muc#roomconfig`
-
Zash
Bug in the example?
-
lovetox
Zash read the text below example 10
-
lovetox
it states that all roomconfig features can be included in the disco info
-
Zash
Uuuuuhu
-
lovetox
and roomconfig has their own registry
-
lovetox
so why would it in the roominfo registry
-
Zash
I'm not sure this is how field standardization is meant to work
-
pep.
So yeah that confirms I have to be able to parse and disco feature and form configuration and handle duplicates etc. in disco#info results
-
lovetox
i agree its not very nice
-
Zash
pep.: at least it's roomconfig vs roominfo
-
lovetox
no pep, just parse all roominfo attributes
-
pep.
lovetox, why?
-
lovetox
and then the roomconfig features you are interested
-
lovetox
and you dont need to handle duplicates
-
lovetox
you are not a server stanza debugger
-
pep.
lovetox, not everything is sent as a roomconfig field
-
lovetox
as i said, first you parse all "roominfo"
-
pep.
not even roominfo
-
lovetox
then only the roomconfig fields you are interested in
-
pep.
<feature var='muc_nonanonymous'/>
-
Zash
It's `muc#roominfo_changesubject` in Prosody :(
-
pep.
Zash, :D
-
lovetox
Zash, i think because i opened a issue and was confused :D
-
Zash
Indeed
-
Zash
Tho it didn't advertise that at all before
-
Zash
I feel like there's been a case where there was one of roominfo and roomconfig, which was changed to the other
-
lovetox
whats with that feature pep?
-
lovetox
of course you need also features parsing
-
lovetox
ok lets formulate it different
-
lovetox
first parse features, then parse roominfo
-
lovetox
that is what you can depend on
-
lovetox
roomconfig, in disco info is totally optional
-
lovetox
so you dont need to parse it at all and everything should work
-
pep.
lovetox, well that means I can have both muc_nonanonymous and muc#roomconfig_whois to anyone and I need to parse both.
-
pep.
Or have one in a server implementation, the other in another server implementation
-
lovetox
no pep.
-
pep.
Not that it's really an issue, just confusing / inconsistencies
-
lovetox
the feature is not optional
-
pep.
what do you mean it's not optional
-
lovetox
if a muc is nonanonymous
-
pep.
Ok so a server has to use the feature if it exists?
-
lovetox
is MUST include <feature var='muc_nonanonymous'/>
-
lovetox
server?
-
lovetox
i thought we are talking about rooms
-
pep.
MUC service
-
pep.
Or rooms, whatever
-
pep.
server-side
-
lovetox
if you query a *room*
-
pep.
we're talking about the same thing
-
lovetox
the answer MUST include that feature
-
pep.
k
-
lovetox
if it applys to the room
-
Zash
So muc#roominfo is a superset that includes muc#roomconfig :/
-
lovetox
so there is no reason in the world why you ever search for roomconfig_whois
-
lovetox
pep. i would say Gajim displays every important information of a muc in its muc join dialog
-
lovetox
and the only time i check for roomconfig is for muc#roomconfig_roomname
-
lovetox
im not sure why that is, but i probably had a reason
-
lovetox
its muc#roomconfig_roomname > identity.name -> localpart
-
lovetox
for naming a groupchat
-
pep.
lovetox, do you also have the mam config hack btw? :x
-
pep.
Servers didn't agree on a config value apparently
-
pep.
https://github.com/iNPUTmice/Conversations/blob/fa752b596d7fba41a0b62011cd91a11af84b1cd6/src/main/java/eu/siacs/conversations/generator/IqGenerator.java#L527
-
lovetox
why is that a hack?
-
lovetox
its a custom config option for prosody
-
lovetox
and yes Gajim uses that
-
edhelas
lovetox we can specify one in the XEP and simply the implementations to follow the standards
-
Zash
I wonder if they've read https://xmpp.org/extensions/xep-0100.html
-
Zash
I wonder if it's relevant
-
lovetox
edhelas, yes we can, and it would be easier, but i would not conisder everything thats not in a standard a hack
-
pep.
Just that consistency is good, especially when it's the exact same feature :p
-
Zash
I wanna change it from a boolean to a timedelta of some sort, ie retention period.
-
pep.
with a "max"? :P
-
Holger
Zash: For MUC MAM specifically?
-
Zash
pep.: I guess a range from 'disabled' to a server-wide maximum.
-
Zash
Holger: Well, yes, but probably MAM too at some point..
-
Holger
(FWIW I tried to suggest standardizing a field name but failed.)
-
Zash
Somewhat related to me wanting to turn the 'persistent' boolean into a similar timedelta.
-
pep.
Holger, !! What failed
-
Holger
Zash: I see. Haven't seen demand for such a feature yet. (And would not be keen on implementing it.)
-
pep.
Zash, I guess currently it's a deployment policy anyway
-
Zash
Yeah
-
pep.
GC'd after t time of inactivity or sth
-
Zash
pep.: Room persistence? Yeah, instead of choosing between "room destroyed the moment your phone blips" and "exists forever", the room would be destroyed after n days of emptyness.
-
Holger
pep.: I think people disagreed on whether it needs a separate flag at all (as opposed to overloading the flag for public HTML logging). And those who agreed didn't agree on how to proceed (just add it to 0045 vs. tell 'the registrar' or something).
-
Holger
Maybe I should have another go.
-
Zash
Public HTML logging _is_ subtly different.
-
pep.
I guess that'd be yet another thing for the registrar
-
pep.
And yeah HTML logging is different
-
Holger
Zash: Absolutely.
-
Zash
Altho, if you allow anonymous MAM access without joining, it's very close
-
pep.
I'm support such a PR✎ -
Holger
Zash: If.
-
pep.
I'd support such a PR ✏
-
Zash
There's something of a scale :)
-
Holger
Zash: 0313 says: > A MUC archive MUST check that the user requesting the archive has the right to enter it at the time of the query and only allow access if so.
-
pep.
Doesn't mean there can't be more checks?
-
Zash
Holger: But does it say that you can't restrict it further?
-
pep.
Maybe that should be made more explicit
-
Zash
Anything not forbidden is allowed! :D
-
Zash
I think limiting MAM access to current participants is a thing one might want.
-
Zash
And also limits based on affiliation, e.g. limit to members/admins or somesuch.
-
Zash
or <payment-required/>
-
pep.
I'd say in public channels I might want to restrict to joined participants :/
-
Zash
Mmmmmmmoar settings
-
pep.
Design guidelines
-
pep.
MAM actually explicitely says "In a members-only chat room, only owners, admins or members can query a room archive." right after that sentence
-
Zash
That's saying the same as "only those who can join has access", right?
-
pep.
"[..] a MUC archive MAY further limit access based on other criteria as part of the deployment policy."