-
lovetox
if someone knows C++ and wants to do some good in the XMPP eco system, check https://codeberg.org/poezio/biboumi/issues/3468
-
Link Mauve
lovetox, could you write some text about that in the disco#info identities registry?
-
lovetox
maybe we need some kind of list of little fixes to various clients and servers that can be done by non-experts with the codebase
-
Link Mauve
I’d feel much better about that if it was actually vetted by the standards.
-
Link Mauve
The second change though sounds perfectly sensible, I’m surprised it isn’t done yet.
-
pep.
Is it possible to have more than one identity btw? How is it defined to mix identities together? Is it the sum of both, or is it that expectations for one of the two identities are changed? (one would be "complementary" to the first)✎ -
lovetox
you can be more than one thing pep. simply as that
-
lovetox
and yes its definitly allowed and used
-
pep.
Is it possible to have more than one identity btw? How is it defined to mix identities together? Is it the sum of both, or is it that expectations for one of the two identities are changed? (one would be a modifier for the first) ✏
-
Link Mauve
pep., yes, you can have as many identities as you want.
-
pep.
That doesn't answer my other question
-
pep.
So they're all to be taken separately?
-
lovetox
no
-
lovetox
you are the sum of your disco info
-
lovetox
i see it like adding more detail
-
pep.
What I meant by sum is: You are identity1, so it's possible to issue operations that identity1 would/should support, and you are also identity2, so it's possible to issue operations that identity2 would support, and the two don't mix
-
pep.
And you're saying yes to both here :P
-
pep.
Which to me are somewhat exclusive
-
lovetox
yes i think you can say that, every identity stands for its own and for caps that you have
-
lovetox
but you get still value out of interpreting the sum of it
-
Zash
What are identites even? Doesn't features advertise what operations you support?
-
lovetox
features are only for additional things
-
pep.
In practice I agree that identities may be used to display pretty images
-
lovetox
not for one the base standard defines
-
pep.
And features to the rest✎ -
lovetox
hm no forget what i said, i think thats incorrect
-
lovetox
for biboumi example its a good example to have multiple identities
-
pep.
And features do the rest ✏
-
lovetox
its a MUC service, so spec says to have a identity of "conference"
-
lovetox
but its also a gateway, so it needs that identity as well
-
pep.
I think with my question I wanted to make it clear wether this was gonna be a thing just for biboumi or a more generic thing for other IRC gateways (that may not have the same interface at all mind)
-
pep.
lovetox, in biboumi though it's not possible to create channels on irc.gateway.org though right? (unless fixed_server is set, but let's put this aside for a moment)
-
pep.
So having it being declared a MUC wouldn't help?
-
pep.
ircserver@irc.gateway.org is the MUC component
-
lovetox
hm i have no opinion on that, but it cannot be both
-
lovetox
we have to decide
-
lovetox
either the domain is the component, or the server jid
-
pep.
Sorry what cannot be both?
-
lovetox
and currently its both
-
pep.
Ah, sure maybe
-
lovetox
last time people in the MUC came to the conclusion, that the domain should be the MUC service
-
pep.
Well when fixed_server is set, ircserver@gateway doesn't exist anymore
-
lovetox
yeah, so makes sense that the domain is the service, because it always exists or?
-
pep.
Well if you use the muc identity to decide whether you can create channels and all, I find it weird to put it on irc.gateway.org when you actually can't (fixed_server not set)
-
pep.
Just like you'd ask for "account.org" to have a MUC identity because "muc.account.org" is a MUC service
-
pep.
They're different jids
-
lovetox
yeah but both domains
-
pep.
Does it matter
-
lovetox
and thats fine, account.org points in its disco items to muc.account.org
-
pep.
A component could host various components for all we know
-
pep.
Just on a single jid
-
lovetox
the real problem which needs to be solved is that ircserver@gateway.org needs to make it clear that it is not a joinable MUC
-
lovetox
thats what we try to solve
-
pep.
Yes indeed
-
pep.
To me that's where the muc identity should be. "I'm a component"
-
lovetox
thats not possible
-
pep.
Why not?
-
lovetox
if you define this JID as the MUC service, then the MUC spec says you MUST add the muc identity
-
lovetox
meaning its impossible to know anymore its not a MUC
-
lovetox
exactly where we are right now
-
pep.
Maybe that's an issue with 0045 then?
-
lovetox
so the idea is, to say its *not* the MUC service
-
lovetox
pep., of course its a initial issue with the MUC spec, but nobody else puts muc services on a JID with localpart
-
lovetox
*only* biboumi does that
-
pep.
Until the next gateway
-
lovetox
so instead of changing the whole world, how about we change just biboumi
-
lovetox
yeah sure you can wait another decade, maybe a second gateway shows up
-
pep.
And then I come back to my first question, are disco identities supposed to influence on each other or are they just two separate identities
-
lovetox
it does not matter for the biboumi fix, because the main fix is not putting gateway on the domain
-
lovetox
its about the ircserver@domain.org jid
-
lovetox
and there we dont need multiple identities
-
lovetox
i propose a completely new identity for that one
-
pep.
So basically you're "fixing" MUC here, by having a "component" identity which doesn't exist
-
lovetox
no, as said above im not of the opinion that the server jid is the component
-
lovetox
the component for me is clearly gateway.org
-
pep.
Well I'm reading the issue and you suggest using <identity type='irc-server' name="ircserver" category='component'/> on the ircserver right?
-
lovetox
right, but thats not fixing MUC, thats adding a identity which respects the IRC world
-
pep.
I disagree that it is IRC specific here
-
pep.
I mean it shouldn't be
-
pep.
It's just that the MUC service is on ircserver@
-
lovetox
but i guess you cant name another gateway where this is the case
-
lovetox
> It's just that the MUC service is on ircserver@ you are saying that like its a fact
-
pep.
Well it is?
-
lovetox
i dont know, i guess if you are so sure about it, you can name the definition of a MUC service and tell why its not gateway.org
-
pep.
Whatever, do your changes as you like, it seems as usual this is going nowhere
-
lovetox
? i asked for your reasoning, as you seem sure about it
-
lovetox
im sure many are interested, as for all other people i talked to it, its not a clear cut case
-
lovetox
i personally dont care much about the solution, i just want to know that ircserver@gateway.org is *not* a MUC
-
pep.
> When multiple identity elements are provided, the name attributes for each identity element SHOULD have the same value. Is seems that's the only thing I could find regarding multiple entities in 0030 fwiw.. §3.1
-
pep.
It doesn't say what should be expected from them, if/how both should interact
-
lovetox
does it describe how multiple features interact with each other?
-
pep.
> This information helps requesting entities to determine the group or "bucket" of services into which the entity is most appropriately placed ^ I guess though judging by how an identity is defined, I'd argue the multiple identities probably shouldn't be related to each other. It's weird though because obviously if multiple identities are defined on an entity there is certainly some kind of relation. Unless.. economy of JIDs? :/
-
pep.
lovetox, reading
-
pep.
I guess features are defined in the specs they come from, and if they need to interact with each other I would also expect that to be defined there and not in 0030
-
lovetox
and who defines that a identity of conference needs to be added to a muc service?
-
pep.
I guess for this issue I don't really mind how it's done. The only thing I'd be annoyed about is if in the end we had a pseudo-generic stuff that only applies to biboumi. We might as well have an <identity type='biboumi' category='biboumi' /> :x
-
pep.
lovetox, for muc I guess it's 0045. for type='irc'/category='conference', I don't know
-
lovetox
the problem is biboumi violates the first requirement the XEP tries to solve
-
lovetox
> Each room is identified as a "room JID" <room@service> (e.g., <jdev@conference.jabber.org>), where "room" is the name of the room and "service" is the hostname at which the multi-user chat service is running.
-
lovetox
this alone would prompt me to remove the conference identity from the server jid
-
pep.
Yeah I still think this requirement is unfortunate (to use kind owrds)✎ -
pep.
Yeah I still think this requirement is unfortunate (to use kind words) ✏
-
lovetox
why? because in some decades there is a single gateway that has in theory (not practically) a problem with that?
-
lovetox
or are you aware of any gateways that were not realized because of this requirement?
-
pep.
Because I think this is an arbitrary constraint and that we could do without
-
Link Mauve
How does it work with other gateways for protocols which also have a username/domain split?
-
Link Mauve
I’m thinking of ActivityPub, Matrix, email, stuff like that.
-
pep.
lovetox, there could be a feature instead of this constraint, or an identity :)
-
Link Mauve
Does it make sense to standardise type='irc-server', rather than type='legacy-service-server' for instance?
-
pep.
"Hey I'm a MUC service" "Hey you can create rooms here" "I'm a room, you can join me"
-
pep.
Atm all MUC rooms/services contain both the identity and the muc feature..
-
lovetox
its not necessary pep. even without these features, its by the standard clear whats a room and what not
-
pep.
That's a great way to differenciate them (not)
-
lovetox
its room@service by the standard
-
lovetox
no need for identity
-
pep.
Yeah and I'm saying this restriction is dumb. I'd rather see an identity or a feature instead so there is no arbitrary jid restriction
-
lovetox
i very muc like that its clear that after the @ is the service
-
pep.
As Link Mauve says it may work in the XMPP world but it certainly fails as soon as we bridge to other networks
-
Link Mauve
Even for XMPP, if you have a j2j gateway you end up with the same issues.
-
Link Mauve
Possibly even worse since you can chain those.
-
pep.
Right
-
pep.
Say I don't have control over my dns (sad, but still), and I'm given a single domain, how do I even have components spawning a whole subdomain
-
moparisthebest
Your server doesn't use DNS for components, you can name them whatever you want (obviously only works for local users)
-
pep.
Yeah only locally
-
singpolyma
I don't know that any new identities are needed or whatever. The main issue is just that biboumi advertises that the server JIDs are joinable MUCs, which obviously they are not, so that just needs to be removed
-
pep.
singpolyma, no they can't just be removed because that's also a way to advertize that you're a muc service
-
pep.
Well if you're a muc service in 0045 you're also technically "just" a domain jid. But this rules out chat@dino.im and possibly many gateway'd addresses as mentioned earlier
-
lovetox
pep., dont know what you mean chat@dino.im is perfectly fine with the XEP0045 spec
-
pep.
it's not, because dino.im is an account domain and not a muc service
-
lovetox
thats an entirley different topic, and there is no spec that says a domain cannot be both
-
pep.
chat@dino.im is actually the muc service
-
lovetox
? thats the support chat of dino
-
lovetox
certainly not the mucservice
-
pep.
lovetox, I remember you vehemently arguing that a domain should not be both :P
-
pep.
lovetox, it's both. Prosody's muc component allows the muc service jid to be joined as other rooms✎ -
pep.
lovetox, it's both. Prosody's muc component allows the muc service jid to be joined like other rooms ✏
-
Zash
pep., that's not exactly what happens there tho
-
lovetox
i think you confuse a few things now
-
pep.
Zash, isn't it?
-
lovetox
before the topic was ircservice@mucservice.org vs mucservice.org
-
pep.
lovetox, no I meant, a while back
-
Zash
it's a component that handles a single bare JID, but it's still a bare jid
-
lovetox
no, it was always about that, the conversation started with me posting the biboumi issue, and thats exactly whats described there
-
Zash
the barely legal thing that should be a secret is a different case
-
singpolyma
> singpolyma, no they can't just be removed because that's also a way to advertize that you're a muc service They are not (cannot be) a MUC service so it is impossible for them to advertise that ↺
-
Zash
Isn't one of the problems here that there's no distinct identity/feature for "I am a chat room" vs "I have a list of chat rooms"
-
lovetox
singpolyma, pep. is of the opinion that it is the mucservice
-
singpolyma
Yeah, prosody allows joining bare domain, but this is a spec violation technically
-
pep.
Zash, this yes
-
singpolyma
lovetox: well, it's not :)
-
Zash
singpolyma, it shouldn't be, but it's not really relevant here :)
-
singpolyma
Zash: I would ok with it not being a violation but we'd need to edit the xep for that and it barely seems worth it for such an edge case
-
pep.
And yes, irc.gateway.org isn't the MUC service, it's solvely an interface to the gateway✎ -
pep.
And yes, irc.gateway.org isn't the MUC service, it's solely an interface to the gateway ✏
-
Zash
The only practical requirement for a MUC room or MUC service should be lack of resoure part.
-
pep.
singpolyma, "such an edge case" comes up a bit too often in the discussions imo
-
singpolyma
I don't remeber if having no MUC service is allowed, I don't think it technically is
-
pep.
Zash, I'm of the opinion that the only requirement should be a disco feature :P
-
pep.
To prepare for when we finally get rid of resources in MUC
-
Zash
pep., that's called MIX
-
pep.
nah
-
pep.
MIX is a different set of problems
-
singpolyma
You can maybe say that IRC.example.com isn't a MUC service. But you *can't* say that blah@irc.example.com *is*.
-
Zash
I don't see MUC without resources, I see MUC without nicknames encoded in resources
-
pep.
Zash, hmm, maybe. I'd hear you out :)
-
pep.
singpolyma, only because of this weird requirement of 0045?
-
Zash
pep., whereby we just swap places of occupant-id and nickname
-
pep.
That's really the only thing that's missing
-
singpolyma
Because of the definition of a MUC service, which is found in 0045 yes
-
pep.
Ok then I think this argument is dumbfunded and that we just need to change MUC
-
wgreenhouse
singpolyma: irc.example.com is a muc service--it just has some entities as well that aren't MUCs :P
-
pep.
Because really ircserver@gateway is the component..✎ -
singpolyma
Maybe we can change MUC, but until we do its simply the truth
-
pep.
Because really ircserver@gateway is the service.. ✏
-
Zash
Still praying for Someone™ to write that "how to discover a thing in XMPP" XEP
-
singpolyma
wgreenhouse: that's fine. I don't much care either way if it is or isn't
-
Zash
singpolyma, you underestimate the power of implementers
-
singpolyma
> Because really ircserver@gateway is the service.. It is factually not ↺
-
pep.
wgreenhouse, hey, that's not untree✎ -
pep.
wgreenhouse, hey, that's not untrue ✏
-
wgreenhouse
singpolyma: also it sounds like single-instance biboumis remove the ambiguity? if I'm understanding the ambiguity?
-
singpolyma
I'd be fine to do away with the idea of "MUC service" entirely.
-
pep.
Ok I realize it can be seen this way too. A client doesn't need to know the relation between ircserver@ and #channel%ircserver@
-
wgreenhouse
(ones that are locked to one target irc network for the entire component)
-
Zash
multi-component-connection biboumi when? :)
-
singpolyma
wgreenhouse: they remove the bug in biboumi yes
-
lovetox
> Ok I realize it can be seen this way too. A client doesn't need to know the relation between ircserver@ and #channel%ircserver@
-
lovetox
halleluja :)
-
pep.
lovetox, that doesn't solve your issue
-
lovetox
of course it does
-
pep.
Still I think what is being discussed here is really biboumi-specific and I still don't like it
-
wgreenhouse
Zash: similar to what slidge does?
-
lovetox
biboumi shoud remove the identity and its fine
-
singpolyma
> biboumi shoud remove the identity and its fine Yes ↺
-
Zash
wgreenhouse, I don't know what slidge does
-
wgreenhouse
Zash: I think it publishes a separate component address for each foreign network the admin has chosen to allow, e.g. signal.example.org etc.
-
lovetox
thats what is weird about the discussion, you propose to change the SPEC and the whole ecosystem when the only problem is that one irc service provider out there adds a illegal identity
-
pep.
Actually, I may still hold onto ircserver@gateway is the component, because otherwise you can't have a client create rooms from the domain jid
-
Zash
wgreenhouse, but does a single process handle all of them?
-
pep.
Because it lacks the info on what IRC server the room is to be created
-
wgreenhouse
Zash: not sure
-
pep.
s/component/service
-
Zash
and could it do that over a single connection? (no protocol for this I think)
-
lovetox
pep., thats a solved problem, read XEP-0100
-
lovetox
the gateway service can communicate the way an adress is build
-
singpolyma
Zash: component new xep. But no one implemented that yet
-
lovetox
and thus the client can offer a user interface to the user
-
lovetox
the client does not need to know what a IRC server is
-
lovetox
or how the IRC network is build
-
pep.
lovetox, do you have an example somewhere for this?
-
Zash
singpolyma, 225? yeah nobody asked for it and there are no implementations afaik
-
pep.
Zash, I've been asking for it multiple times already :x
-
pep.
But 1 person probably isn't enough.✎ -
pep.
But 1 person probably isn't enough to care ✏
-
singpolyma
Zash: I keep meaning to, it would be very nice, but keep having other stuff to do heh
-
pep.
lovetox, isn't 100 for user login rather?
-
pep.
I see "user login" and "contact handling"
-
Zash
pep., must have been so long ago I don't remember it then.
-
Zash
It's been mentioned twice in my current logs.
-
lovetox
https://xmpp.org/extensions/xep-0100.html#addressing
-
pep.
I want 225 for tls but also for the multiple domain delegation
-
singpolyma
pep.: the jabber:iq:gateway section
-
lovetox
would be even better if this would allow a dataform, but a description field that tells the user to input #channel@irc.server.org
-
lovetox
is fine enough
-
pep.
That's not defined for IRC? (gateway/irc)
-
pep.
The gateway can send an arbitrary form there then?
-
lovetox
no, you the client offer the user a filed, and display the "desc" content
-
lovetox
after the user puts in his legacy address
-
pep.
Ok so that's not enough for biboumi right?
-
pep.
You need to know the channel and the irc server
-
Zash
> would be even better if this would allow a dataform, but a description field that tells the user to input #channel@irc.server.org ↑ ↺
-
lovetox
the legacy adress yes
-
pep.
Or the user, even
-
pep.
lovetox, alright
-
pep.
Biboumi implements this?
-
Zash
Nope
-
pep.
Great
-
lovetox
no idea, i just show you this, to tell you that a xmpp client does not need to know about legacy network infrastructure
-
lovetox
it provides a legacy address to the gateway, and the gateway sends me the legacy jid
-
lovetox
maybe i should elaborate on the main problem with the identity
-
pep.
So what's the part about adding a @category='component' in the issue
-
lovetox
the problem is not that user try to join the irc server
-
Zash
> would be even better if this would allow a dataform, but a description field that tells the user to input #channel@irc.server.org You _could_ take some inspiration from XEP-0077 and shove a dataform in there, or even invent a new XEP that's actually standards track instead of Informational :) ↺
-
lovetox
biboumi offers a adhoc command interface on ircserver@gateway.org
-
lovetox
users need to access this
-
lovetox
but everytime they do in gajim, gajim tells them, this is a muc to join
-
lovetox
the whole topic is a very very small annoyance in the grand scheme of things
-
lovetox
nothing, absolutly nothing would break if biboumi simply removes the identity
-
pep.
Isn't "informational" our own way to say "the implementation was there already"? and standards track "this is designed by committee"
-
pep.
What's the tiping point between the two states even. When does one decide the implementation has been there long enough so that it's now informational :P
-
pep.
And not ready for standards track
-
MattJ
pep. [14:08]: > Isn't "informational" our own way to say "the implementation was there already"? and standards track "this is designed by committee" That's 'historical'. 'Informational' is meant for specs that don't describe a protocol, but perhaps best practices, etc.
-
MattJ
Historical was mainly used to document things that were implemented before the XEP process
-
pep.
MattJ, what's the difference between a protocol and best practices really, when it's as detailed as 0100
-
Beherit
*XMPP Vision & Strategic Workshop* Join the upcoming XMPP #Vision & Strategic #Workshop to discuss and understand our #community better, but also ask for your input on different topics around our federated network and #technology. Date: Tue, 14th November 2023 Time: 6:00 - 9:00 pm UTC Online & in English Everyone welcome - spread the word! https://fosstodon.org/@xmpp/111319439579383047
-
pep.
It would make sense for a MUC not to reflect a self-ping to the device pinging right?
-
pep.
Be it for 410 or not
-
Zash
define 'reflect' ?
-
pep.
1. resource1 pings participant1, 2. muc forwards ping to participant1's devices, 3. resource1 replies to ping, 4. muc replies to ping.
-
pep.
That's the usual flow right?
-
pep.
In 2., muc can certainly skip resource1
-
pep.
And if that's the only device joined, reply directly
-
pep.
(assuming resource1 is joined as participant1, obviously)
-
Zash
the sensible thing today would be to do 410 and respond to the ping immediately
-
pep.
hah, also I read in 410 that the "2." I wrote isn't correct, the iq is forwarded to "any one" of participant1's device.. I had forgotten this "detail"
-
Zash
_one_ yes
-
Zash
no plural
-
Zash
tho it'd be some kind of interesting to send out multiple pings and merge the responses...
-
Zash
in the "hey we have promise.all(), wouldn't it be fun if" kind of way
-
pep.
Ok so all of this is moot in the context of 410. I had forgotten about it