-
MSavoritias fae.ve
Is RFC 5122 used for non ascii adresses? I see RFC 8266 but that is the one that uses PRECIS so I am guessing its not right?
-
MSavoritias fae.ve
or wait is it the unicode is specified in core
-
Ge0rG
PRECIS is the official standard, but many implementations are still hanging in nodeprep land
-
MSavoritias fae.ve
yeah i remember that. so RFC 8266 is the one for PRECIS if we ever adopted i guess
-
Ge0rG
the funny thing is: there is no signalling, and PRECIS is a moving target due to Unicode consortium adding new characters to the classes every year
-
MSavoritias fae.ve
signaling in xmpp you mean? for PRECIS support
-
MSavoritias fae.ve
So I am guessing then we are using the unicode specified in core
-
Ge0rG
MSavoritias fae.ve: signalling for PRECIS/nodeprep and the accepted unicode version.
-
MSavoritias fae.ve
right
-
Ge0rG
I used to join some rooms with the nickname 🤖 and it was hilarious, because it made remote servers kick their clients out of the room due to JID malforming
-
Ge0rG
(only for certain definitions of "hilarious", obviously)
-
nonono
Is Matrix there to lead to the XMPP? Or do we want normies to use matrix instead?
-
pep.
Would it be possible to also advertise it? À la inbox/SLA?
-
pep.
In stream:features
-
pep.
nonono, wrong channel?
-
pep.
You can go troll elsewhere
-
MSavoritias fae.ve
also we dont do normies here
-
MSavoritias fae.ve
so am I right in thinking its basically a case of: Core says Unicode and then we follow what prosody/ejabberd do?
-
MSavoritias fae.ve
ah wait standard point to unicode 6.0 specifically
-
MSavoritias fae.ve
ok
-
nonono
yes wrong channel. don't answer trolls, don't call people normies here.
-
MSavoritias fae.ve
but why dont we add the signaling at least? I know its hard to upgrade unicode version. But we can at least add the signaling
-
MSavoritias fae.ve
since we are going to use it anyway
-
Kev
What does signalling help?
-
MSavoritias fae.ve
because even if magically upgrade to precis and newer unicode, unicode and precis keep changing
-
Kev
As far as I can see, either you have to flag day, or you're stuck on stringprep forever, so we're stuck on stringprep forever.
-
MSavoritias fae.ve
so pointing to what the server supports helps at least see what the network supports no?
-
Kev
> because even if magically upgrade to precis and newer unicode, unicode and precis keep changing That's answering a different question, though, that's answering "Why can't we mix unicode versions", not "what can we do with signalling".
-
Ge0rG
MSavoritias fae.ve: the problem is that technically, this is a stream property, but in a typical c2c situation, you have three streams, and with MUC you have four streams.
-
Ge0rG
so the question would be: where do you add the signal?
-
Kev
> MSavoritias fae.ve: the problem is that technically, this is a stream property, but in a typical c2c situation, you have three streams, and with MUC you have four streams. Four for C2C too :)
-
MSavoritias fae.ve
heh. point taken
-
MSavoritias fae.ve
its a headache all around
-
Ge0rG
Kev: we've managed to ban GC1.0, we can manage an eventual transition to unicode 15.0 if we add signalling now
-
MSavoritias fae.ve
ah i like an optimist :D i agree its possible to move at some point
-
MSavoritias fae.ve
but yeah i would think signalling is a requirment before we do anything
-
Ge0rG
IIRC the last time we were dead-ended at the question _where_ the signal needs to be attached
-
Ge0rG
naively, it sounds like perfectly placed in a stream feature, but you can't communicate stream features to the client for s2s
-
Kev
But you also can't do much with the information, even in the client. You can't somehow change your JID to not include things allowed by that particular version of unicode within precis because you're talking to a server that's on an older version.
-
Ge0rG
I could see it as an item in disco#info, which is probably good enough for querying your server, a remote domain or a remote MUC service.
-
pep.
Kev, you could downgrade if you knew the other server didn't support as higher as you do :/
-
Kev
How, though?
-
Kev
Your JID is your JID, you can't change it just because someone else is on an older unicode.
-
Kev
I guess you can in the limited case of resource setting, but not the general case.
-
Ge0rG
Kev: when joining a room, the client can restrict valid nicknames based on the remote domain's features. A server sending from an "invalid" JID to a remote server could use some mapping algorithm to make the JID look valid on the remote side
-
Ge0rG
XEP-0106 surely can be plugged in here.
-
Ge0rG
if we mandate that as part of the precis-signal, clients can automatically discover and un-escape
-
Kev
So before you share your JID with someone, you need to know what server they're on, so you can work out which NAT your server is going to need to perform to talk to them?
-
MSavoritias fae.ve
We cant escape that though can we? Even if we magically upgrade tomorrow everybody and everything. there is a new unicode version every year so we need negotiation and graceful degration of jids
-
MSavoritias fae.ve
so I basically implement 8266 with PRECIS right?
-
Ge0rG
Kev: the good thing is that their client will automatically apply the escaping when connecting to an old server :P
-
MSavoritias fae.ve
for newest Unicode
-
MSavoritias fae.ve
to come back to my original question
-
Kev
So we're assuming that all clients will be at least as new as all servers, then :p
-
Ge0rG
Kev: that said, I don't see any drawbacks for adding signalling, and after that we can talk about allowing a wider range of JID characters.
-
Ge0rG
I'm sure there are better options out there than closing c2s connections on "invalid" JIDs
-
MSavoritias fae.ve
> So we're assuming that all clients will be at least as new as all servers, then :p No. We are assuming that some servers support newer unicode than others. hence the signalling :) Otherwise you might as well through jids until you are not denied :)
-
opal
i'd suggest that rfc target utf-8 rather than unicode but then theres another class of issues with different security risks
-
opal
although if rfc 5122 doesnt address unprintable/lookalike characters then ignore that last part, utf-8 validation would suffice
-
opal
(and the xml parser may as well handle that, at that point)
-
MSavoritias fae.ve
we already have validation in PRECIS though
-
Guus
I'm not sure if there's any server implementation that supports PRECIS.
-
MSavoritias fae.ve
Could data forms be replaced with XHTML?
-
MSavoritias fae.ve
Because it says in the XEP that is used as a basic Forms alternative
-
Kev
"No", is the short answer, but there may be specific cases where they could. Why?
-
MSavoritias fae.ve
was just curious why we need a specific thing instead of just using XHTML directly
-
MSavoritias fae.ve
because its yet *another* xep
- Zash enters XForms in the ring
-
Zash
MSavoritias fae.ve: Yet another XEP that attempts to do one thing and do it well is the name of the game here ;)
-
MSavoritias fae.ve
thats exactly what i was thinking. XForms
-
MSavoritias fae.ve
heh. I dont like Unix so I may be biased here :P
-
singpolyma
I think it's history again. If xforms had really gone and been used at the time probably data firms would exist. But now xforms is basically unused by anyone anywhere and data forms is the basis for half of all XMPP features✎ -
singpolyma
I think it's history again. If xforms had really gone and been used at the time probably data forms would exist. But now xforms is basically unused by anyone anywhere and data forms is the basis for half of all XMPP features ✏
-
singpolyma
I think it's history again. If xforms had really gone and been used at the time probably data forms wouldn't exist. But now xforms is basically unused by anyone anywhere and data forms is the basis for half of all XMPP features ✏
-
MSavoritias fae.ve
wait can i see what xeps depend on data forms xep?
-
MSavoritias fae.ve
somehow
-
singpolyma
Hmm. Unsure
-
MSavoritias fae.ve
yeah looking at https://data.xmpp.net/explore/xmpp/xeps
-
MSavoritias fae.ve
i dont see anything obvious
-
singpolyma
Since service discovery uses data forms it's indirectly everything from a certain PoV ;)
-
MSavoritias fae.ve
like options for depedencies
-
Link Mauve
MSavoritias fae.ve, XEPs should put <spec>XEP-0004</spec> in their /xep/header/dependencies but probably not all of them are doing it.
-
Kev
And probably people put 30 in there without mentioning that 30 needs 4.
-
Link Mauve
You could grep for jabber:x:data and add this dependency to every XEP which actually uses it.
-
Link Mauve
Kev, ugh, XEP-0030 doesn’t even mention XEP-0004 as a dependency…
-
MSavoritias fae.ve
yeah it doesnt
-
Link Mauve
Kev, MSavoritias fae.ve, it is actually XEP-0128 we were thinking of.
-
Kev
Fair enough.
-
MSavoritias fae.ve
ah so 30 supports without data forms. nice
-
MSavoritias fae.ve
works*
-
Link Mauve
MSavoritias fae.ve, XEP-0030 only defines disco#items and disco#info, and XEP-0128 adds data forms extensions in disco#info.
-
MSavoritias fae.ve
noted
-
Zash
Prior art for adding stuff to arbitrary elements :)
-
opal
> we already have validation in PRECIS though ok now i see what it is, https://datatracker.ietf.org/group/precis/documents/ wikipedia was giving some entirely different shit for PRECIS
-
opal
nice name clash