In current Unicode using PRECIS that jid would fail the bidi rule and be invalid: https://go.dev/play/p/HylpIxghJ8P
atomicwatchhas joined
debaclehas left
moparisthebest
Luckily nothing in the wild uses precis or ever can
thomaslewishas joined
Sam
It works great; some people are just too conservative and refuse to upgrade because "using ancient versions of Unicode is how it's always been done"
thomaslewishas left
moparisthebest
It's literally impossible to upgrade
Millesimushas left
Sam
It's quite easy to upgrade.
Zash
Sure hope you're not talking about Prosody, we're waiting for https://unicode-org.atlassian.net/browse/ICU-11981
thomaslewishas joined
moparisthebest
How would it work? Just allow half the network to not interop with the other half until everyone is upgraded? A flag day?
Sam
As opposed to the old thing which literally hardcore's an ancient version of Unicode, but somehow that's upgradable?
moparisthebest
No, we don't have an upgrade path that works
thomaslewishas left
moparisthebest
Well or at all, precis exists but there is no way to upgrade the federated network to it
jubalhhas left
thomaslewishas joined
thomaslewishas left
Zash
YOLO upgrade and see who breaks 🤷️
Zash
> impossible
strong claims need strong evidence, posted to a mailing list, that I'm not going to read now
Millesimushas joined
xnamedhas left
moparisthebest
Has it been a decade and no one has proposed an upgrade path yet?
Zash
No
Zash
PRECIS is dated 2015, come back in 2025
moparisthebest
9 years is close enough lol
xnamedhas joined
moparisthebest
Or 8, maybe I should go to bed
moparisthebest
Probably if all XMPP servers started validating local accounts are valid with both precis and stringprep, and then we wait a decade, we can probably remove the stringprep code?
Zash
Prosody validates locally created things (user and MUC localparts, MUC nicknames) according to stringprep, not much else we can do until ICU gains support (or someone RIIRs all our C code)
Zash
Things created by remote entities are not validated as strictly, so things Should Work if everyone acts the same.
krithas left
krithas joined
krithas left
krithas joined
nikhas joined
Millesimushas left
krithas left
krithas joined
nikhas left
thomaslewishas joined
thomaslewishas left
Millesimushas joined
nikhas joined
thomaslewishas joined
thomaslewishas left
mhhas left
mhhas joined
Vaulorhas left
Millesimushas left
mhhas left
mhhas joined
Millesimushas joined
thomaslewishas joined
rubihas left
rubihas joined
zawarudohas left
Millesimushas left
thomaslewishas left
dezanthas left
dezanthas joined
atomicwatchhas left
thomaslewishas joined
nikhas left
mhhas left
dezanthas left
dezanthas joined
mhhas joined
Millesimushas joined
atomicwatchhas joined
nikhas joined
kapadhas left
Millesimushas left
krithas left
krithas joined
krithas left
krithas joined
Yagizаhas joined
stefanhas joined
techmetx11has left
thomaslewishas left
thomaslewishas joined
Millesimushas joined
rubihas left
rubihas joined
Kevhas left
stefanhas left
Kevhas joined
atomicwatchhas left
atomicwatchhas joined
Millesimushas left
Millesimushas joined
Mx2has left
Mx2has joined
Millesimushas left
crisc@jabbers.onehas joined
crisc@jabbers.onehas left
Millesimushas joined
atomicwatchhas left
atomicwatchhas joined
Millesimushas left
Schimon_has joined
Millesimushas joined
atomicwatchhas left
atomicwatchhas joined
atomicwatchhas left
Millesimushas left
atomicwatchhas joined
dezanthas left
dezanthas joined
thomaslewishas left
Millesimushas joined
stefanhas joined
Menelhas joined
nikhas left
nikhas joined
xnamedhas left
thomaslewishas joined
xnamedhas joined
dezanthas left
dezanthas joined
Millesimushas left
thomaslewishas left
Millesimushas joined
mhhas left
dezanthas left
dezanthas joined
mhhas joined
Vaulorhas joined
marc0shas left
marc0shas joined
thomaslewishas joined
thomaslewishas left
atomicwatchhas left
atomicwatchhas joined
thomaslewishas joined
thomaslewishas left
dezanthas left
dezanthas joined
pulkomandyhas left
miruxhas joined
pulkomandyhas joined
atomicwatchhas left
thomaslewishas joined
thomaslewishas left
thomaslewishas joined
thomaslewishas left
thomaslewishas joined
thomaslewishas left
atomicwatchhas joined
Beherithas joined
uhas left
wurstsalathas joined
Laurahas joined
nicoco_has joined
atomicwatchhas left
Vaulorhas left
dezanthas left
dezanthas joined
atomicwatchhas joined
Alexhas joined
nicoco_has left
MSavoritias (fae,ve)has joined
pasdesushihas left
dezanthas left
dezanthas joined
flow
moparisthebest, fwiw, I think there is intentionally no upgrade path. it's similar to IDNA 2003 to 2008
atomicwatchhas left
atomicwatchhas joined
Laurahas left
Vaulorhas joined
Mario Sabatinohas joined
mhhas left
mhhas joined
Laurahas joined
goffihas joined
kapadhas joined
dezanthas left
dezanthas joined
pulkomandyhas left
dezanthas left
dezanthas joined
adxhas joined
nicoco_has joined
nicoco_has left
nicocohas joined
dezanthas left
dezanthas joined
dezanthas left
dezanthas joined
debaclehas joined
mhhas left
mhhas joined
mhhas left
mhhas joined
nikhas left
nikhas joined
dezanthas left
dezanthas joined
zawarudohas joined
dezanthas left
dezanthas joined
dezanthas left
dezanthas joined
nikhas left
kapadhas left
kapadhas joined
antranigvhas left
xeckshas left
xeckshas joined
Vaulorhas left
sonnyhas left
sonnyhas joined
antranigvhas joined
zawarudohas left
dezanthas left
dezanthas joined
dezanthas left
dezanthas joined
Vaulorhas joined
dezanthas left
dezanthas joined
nikhas joined
dezanthas left
dezanthas joined
xnamedhas left
xnamedhas joined
Alexhas left
Alexhas joined
dezanthas left
dezanthas joined
dezanthas left
dezanthas joined
dezanthas left
dezanthas joined
Samhas left
stefanhas left
stefanhas joined
atomicwatchhas left
pulkomandyhas joined
Laurahas left
atomicwatchhas joined
pulkomandyhas left
mhhas left
mhhas joined
zawarudohas joined
nikhas left
nikhas joined
atomicwatchhas left
MSavoritias (fae,ve)has left
MSavoritias (fae,ve)has joined
nikhas left
Samhas joined
sonnyhas left
sonnyhas joined
Wojtekhas joined
pulkomandyhas joined
Alexhas left
Alexhas joined
Menelhas left
pulkomandyhas left
Menelhas joined
techmetx11has joined
Laurahas joined
Laurahas left
dezanthas left
dezanthas joined
Vaulorhas left
Vaulorhas joined
dezanthas left
dezanthas joined
kapadhas left
zawarudohas left
Wojtekhas left
stefanhas left
larmahas joined
pasdesushihas joined
Menelhas left
Laurahas joined
Menelhas joined
Menelhas left
Menelhas joined
stefanhas joined
Menelhas left
Menelhas joined
Menelhas left
Menelhas joined
Menelhas left
Menelhas joined
Menelhas left
Menelhas joined
Menelhas left
Menelhas joined
Menelhas left
Menelhas joined
atomicwatchhas joined
stefanhas left
stefanhas joined
techmetx11has left
techmetx11has joined
nikhas joined
mhhas left
zawarudohas joined
mhhas joined
larmahas left
dezanthas left
dezanthas joined
zawarudohas left
zawarudohas joined
antranigvhas left
antranigvhas joined
antranigvhas left
larmahas joined
dezanthas left
dezanthas joined
nikhas left
rubihas left
nikhas joined
rubihas joined
norayrhas left
dezanthas left
dezanthas joined
dezanthas left
dezanthas joined
inkyhas left
xnamedhas left
xnamedhas joined
Wojtekhas joined
stefanhas left
rubihas left
stefanhas joined
rubihas joined
mhhas left
norayrhas joined
dezanthas left
dezanthas joined
mhhas joined
Menelhas left
Schimon_has left
Menelhas joined
Sam
So in pubsub you can subscribe/unsubscribe, obviously, which is how I've always used it. There's also "filtered notifications" where you advertise nodes in caps, which I always thought was an explicit "go ahead and subscribe me to these nodes so I don't have to do it every time", but apparently it's a filter so you don't get notifications for all nodes, but I don't actually understand why I would be getting all nodes because I haven't subscribed to them, what am I missing here about pubsub?
paulhas left
Sam
Is it just in case some other client subscribed with the bare JID? If you weren't already getting events, does using filtered notifications automatically subscribe you, or do you still have to manually subscribe to each node you want locally?
paulhas joined
rubihas left
rubihas joined
Kev
If you mean +notify, it's for automatic subscriptions.
dezanthas left
dezanthas joined
paulhas left
Sam
Cool, that's what I thought. The text of this XEP makes *no* sense in any way that I can figure out then :)
zawarudohas left
paulhas joined
rubihas left
rubihas joined
dezanthas left
dezanthas joined
zawarudohas joined
rubihas left
atomicwatchhas left
oshnhas joined
oshnhas left
oshnhas joined
dezanthas left
dezanthas joined
atomicwatchhas joined
atomicwatchhas left
dezanthas left
dezanthas joined
rubihas joined
Marandahas left
Mjolnir Archonhas left
mrdoctorwhohas left
mrdoctorwhohas joined
zawarudohas left
atomicwatchhas joined
PapaTutuWawahas joined
larmahas left
atomicwatchhas left
atomicwatchhas joined
dezanthas left
rubihas left
rubihas joined
dezanthas joined
nikhas left
thomaslewishas joined
larmahas joined
inkyhas joined
thomaslewishas left
thomaslewishas joined
thomaslewishas left
mhhas left
mhhas joined
thomaslewishas joined
thomaslewishas left
Zash
Sam, from the client perspective, whether you are implicitly subscribed to everyone's PEP nodes with notifications filtered locally, or automatically subscribe based on +notify makes little difference. So it could be done either way on the server side.
dezanthas left
pulkomandyhas joined
rubihas left
rubihas joined
Sam
I don't understand how the word "filtering" fits into any of this, I guess
nikhas joined
Menelhas left
Menelhas joined
flow
with PEP, if you share presence with a contact, then you are subscribed to its virtual pubsub service, however your server will filter pubsub notifications from this server based on +notify
flow
Sam, does this help?
rubihas left
dezanthas joined
zawarudohas joined
nikhas left
thomaslewishas joined
thomaslewishas left
Sam
flow: I still have no idea what "filter" means there, same problem?
flow
Sam, imagine that your server receives all notifications and filters out those which are not explicitly announced by the client as supported via +notify
Zash
Imagine that remote servers send *all* notifications, but your local server filters them based unless you put the matching +notify in your disco
Zash
But then imagine that the local server doesn't do this, but the remote server sends, as the filtering isn't negotiated ...
pulkomandyhas left
lovetoxhas left
lovetoxhas joined
norayrhas left
pulkomandyhas joined
atomicwatchhas left
antranigvhas joined
Wojtekhas left
antranigvhas left
atomicwatchhas joined
Wojtekhas joined
dezanthas left
Sam
Oooh, the remote server is sending everything, the local server is filtering? Why not just have the remote only send what's needed?
Mx2has left
Mx2has joined
Zash
That's how it works in practice
paulhas left
flow
Zash, so a user server is constantly subscribing and unsubscribing from PEP nodes of other users depending on clients that get online (with new +notify) and offline?
Zash
flow, remote servers enable and disable subscriptions or filtering based on incoming presence with caps and corresponding +notify changes
flow
ahh, yes, that makes a lot more sense
Zash
Tho I don't know, IIRC ejabberd did the thing where everything was broadcast to everyone all the time, while Prosody does what I just said.
Zash
(in the past)
paulhas joined
flow
so if the user's server doesn't double check, then the user may end up with unsolicited notifications
pulkomandyhas left
Zash
correct. this was annoying. I believe it's no longer the case, so that's nice
Zash
However if you have multiple devices subscribed (with +notify) to the same node, two notifications are sent
rubihas joined
Zash
And servers needing to keep state for *remote* users is a bit meh.
antranigvhas joined
larmahas left
Sam
Okay, still no idea what the difference is in that case then
Zash
The difference is that it's Friday! Woooh
Yagizаhas left
debaclehas left
Zash
I'm not sure what difference, between what, you are referring to.
Peter Waher
I read XEP-0163 (Example 5) that it is the publisher’s server that filters (not the subscribers server), and that the publisher’s server forwards notifications to clients that have the corresponding +notify
atomicwatchhas left
Sam
"Subscriptions or filtering"
Sam
Filter makes no sense here in my mind if it's just subscribing; what are we filtering in that case?
FireFlyhas left
FireFlyhas joined
Peter Waher
I read XEP-0060 (§9.2 Filtered Notifications) to mean the same: It’s the responsibility of the publisher’s server not to forward notifications to clients that do not have the corresponding +notify
Peter Waher
but it is not 100% clear
rubihas left
atomicwatchhas joined
rubihas joined
antranigvhas left
antranigvhas joined
atomicwatchhas left
jubalhhas joined
atomicwatchhas joined
debaclehas joined
rubihas left
mhhas left
mhhas joined
rubihas joined
thomaslewishas joined
dezanthas joined
thomaslewishas left
dezanthas left
dezanthas joined
rubihas left
rubihas joined
thomaslewishas joined
debaclehas left
thomaslewishas left
pulkomandyhas joined
atomicwatchhas left
dezanthas left
dezanthas joined
antranigvhas left
antranigvhas joined
antranigvhas left
Wojtekhas left
atomicwatchhas joined
antranigvhas joined
rubihas left
debaclehas joined
PapaTutuWawahas left
adxhas left
flow
Sam, subscribing here means subscribing to the whole virtual pubsub service of the user and filtering the nodes for which you will receive notifications
flow
so with PEP it's like a subscription to the whole virtual pubsub service, whereas with traditional PubSub, you subscribe to nodes (of a pubsub service)