-
Zash
https://xmpp.org/extensions/xep-0084.html#proto-data Why does it say > The XML character data MUST represent the image data for the avatar with a content-type of "image/png"
-
Zash
Are you not allowed to put other kinds of image data in <data>?
-
jonas’
no you’re not
-
jonas’
other images are supposed to be delivered via other means
-
jonas’
the pubsub thing is supposed to contain image/png always
-
Zash
That does not seem to reflect current usage at all
-
jonas’
yes
-
jonas’
it’s daniel’s fault
-
daniel
It's not my fault that the xep says png for no reason whatsoever
-
Zash
Not no reason, tho it is overly strict in restricting it to only PNG. JPEG and GIF are well-supported enough to be ok there.
-
edhelas
can't wait for animated gif
-
Zash
Please don't
-
Zash
Everyone has realized that GIF is a terrible video format by now
-
Ge0rG
Zash: but it's too entrenched.
-
Zash
Ge0rG: But "GIF" now means "looping audio-less video"...
-
ralphm
In your opinion, does/should XEP-0030 support unregistered values for Disco identities (category/type), possibly using Clark's Notation, and falling back to the registry for unqualified values (like XEP-0068 does)?
-
MattJ
Do you really have something that isn't already covered?
-
MattJ
or is this just a "I need to identify my thing" requirement?
-
ralphm
Well, the use case is different types of user accounts: regular people v.s. e.g. agents of a commercial entity.
-
ralphm
So for the former I can use account/registered, but for the latter, I'd need something new for the type field.
-
ralphm
And while I appreciate we have a Registrar function for this in general, having a capability to achieve distributed extensibility using Clark's Notation would be nice.
-
ralphm
MattJ: ^
-
MattJ
If you really think that's the best option for you, I don't think it's not allowed
-
MattJ
I meant, the XEP explicitly says it is "preferably" a registered identity
-
MattJ
*I mean
-
MattJ
and if you're going to go for something unregistered, Clark's notation makes sense
-
Zash
For me on my own self-hosted server, it's is a bit weird to call my account 'registered'
-
Zash
Tho there is also admin IIRC?
-
ralphm
Zash: the idea here is that you can see who's the admin of a server, so you'd probably have two identities: one with `registered` and one with `admin`.
-
ralphm
MattJ: right. Any other ideas?
-
ralphm
I'm probably _also_ going to add a Data Form (XEP-0128) for additional meta-data, but it felt wrong to put this information there, if there's the nice concept of identity already.
-
MattJ
ralphm, I think your approach seems fine, though if it's also a registered account I would include the standard identity also
-
MattJ
So clients can still get an idea of what it is, even if they don't recognise the non-standard one
-
Zash
There's also stuff you can stuff into the vcard for this kind of thing, altho that's a bit more directed towards human consumption
-
ralphm
MattJ: for sure
-
ralphm
Zash: well, vCard is kind a set in stone. It is not really extensible.
-
ralphm
Or at least our use of what became known as vCard-tmp
-
Zash
vcard4!
-
jonas’
ralphm, fwiw, I suggest to have account/registered *plus* the account/{private-namespace}agent tihng
-
jonas’
for compatibility
-
Zash
But I mean like the 'role' field
-
ralphm
jonas’: yes indeed, just like MattJ said :-D
-
ralphm
Zash: I guess. Still feels like a hack
-
Holger
Do clients ever change the list of PEP nodes subscribed via +notify filtering during a session? I mean if they didn't, servers wouldn't have to bother with caching the +notify caps and could just auto-subscribe based on the caps sent with the initial presence (or am I overlooking something?) ...
-
MattJ
Holger, "do they" vs. "could they"?
-
Holger
Well if they don't, 0060 could be adjusted. In theory.
-
edhelas
Holger I'm not doing it on Movim
-
Holger
I mean right now the design is "auto-subscribe the client to all open PEP nodes, then filter based on +notify". That's somewhat complex/expensive compared to "auto-subscribe based on +notify".
-
Zash
Prosody dynamically adds and removes subscriptions based on +notify
-
Holger
That's somewhat expensive as well ...
-
Holger
And right now the idea is that a client sending presence to a single contact on my server will change the behavior of all PEP nodes on my server, no? Though seems even less likely that clients will depend on that ...
-
MattJ
Can someone even explain to me the different between "auto-subscribe + filter w/+notify" vs. "auto-subscribe w/+notify"?
-
MattJ
*difference
-
MattJ
The XEP makes quite sure to get this point across, but what is the practical difference?
-
Holger
The server auto-subscribes on *initial* presence. Due to the filtering semantics, the server also needs to check all following presence.
-
Holger
How do you handle following presence that doesn't contain caps? Unsubscribe all PEP nodes? (Doesn't happen in practice?)
-
Link Mauve
ECaps2 adds the concept of sending the caps only on initial presence, the server advertising to the client it will add it on all subsequent presence changes.
-
Link Mauve
I don’t know of any server implementation though.
-
Holger
Also 0163 (though not 0060) says this in a footnote: "any subsequent presence stanza with no 'type' attribute that the PEP service receives after the initial presence notification but before the subscriber against goes offline MUST NOT trigger sending of a new pubsub notification."
-
Holger
So strictly speaking, if the server sees a CAPS change with a new +notify string, the node should be subscribed but the last item should not be sent? :-)
-
MattJ
I'm not a fan of our mod_pep, and can rarely figure out what it's doing - however from a glance I would say that we would unsubscribe if a future presence didn't contain caps
-
Holger
Ok, thanks. So then your solution to auto-update the subscription lists whenever you receive presence is probably no more complex compared to only doing it on initial presence indeed. But I'd really like to avoid checking all subscription lists on each and every presence :-/ Especially if clients never change their +notify lists anyway.
-
Zash
I do wonder if we should try to standardize filtering on the receiving end?
-
Holger
Haha. Now that I'm in the middle of another attempt of fixing ejabberd's PEP once and for good :-)
-
Zash
As in, with explicit negotiation instead of just sending all everything to everyone all the time
-
edhelas
Holger can you please fix ejabberd Pubsub once and for good at the same time ?
-
Holger
edhelas: But it's awesome already! You just need a webscale DB backend or something.
-
Zash
wobscale
-
edhelas
what about clustering SQLite on RPi instances ?
-
Holger
I think MongoDB is the one and only option.
-
Holger
Hm I'm undecided whether to ask standards@ if we can remove that requirement of checking subsequent presence for +notify updates.
-
Holger
Realistically there's zero chance of changing this in 0060 right ...
-
MattJ
If a client really did want to change its PEP subscriptions, it feels a bit wrong to force it to reconnect for that
-
MattJ
and what difference does initial vs. non-initial make, to the server?
-
Holger
I'm just concerned about load. I think clients sometimes send presence quite regularly ...
-
MattJ
Load on what?
-
Holger
CPU
-
Holger
Plus cluster sync.
-
MattJ
Ok
-
MattJ
so it's not a simplification, but an optimisation
-
Holger
Yes, if I buy your implementation.
-
Holger
Not sure I will, I can imagine a separate filtering step ending up being cheaper (though more complex) ...
-
Holger
I'm all for offering any functionality clients need, and if it's expensive, so be it. But if it's expensive and no client ever needs it, that's a bit annoying.
-
MattJ
I think the reality is that no, it will rarely (if ever in an IM client) change
-
MattJ
But it feels like a pretty awkward limitation to impose on the protocol
-
MattJ
just to save some CPU cycles
-
MattJ
I mean, I'd be ok if we found some way to say explicitly "yes, I want my subscriptions updated"
-
MattJ
But is it worth it?
-
jonas’
Holger, uh, a client may load a plugin during runtime which adds a +notify
-
jonas’
it would be awkward if that didn’t work until a reconnect
-
Holger
Hmmm :-/
-
Holger
Ok, I'll think about it a bit more. Thanks for your feedback.
-
Holger
jonas': Though I think spec-wise, at least 0163 #4.3.3 (2.) should be updated if you want to be sure that conforming servers work that way: https://xmpp.org/extensions/xep-0163.html#notify-when
-
jonas’
Holger, from my reading, the text only implies that you need to fetch the last item manually if you publish +notify in a non-initial presence
-
Holger
Ah yes you're right I guess.
-
Holger
Doesn't sound straightforward to me either though.
-
Zash
Holger, you got quite the set of role labels there, and they are *very* visible in Converse.js
-
Holger
Cool!
-
Holger
I feel special now.
-
ralphm
Steve Kille: I don't understand the requirement to specify node='mix' here: https://xmpp.org/extensions/xep-0369.html#disco-channel-info
-
ralphm
XEP-0030/XEP-0128 allow for multiple identities and associated disco extension forms. Also, how does the client know to use node='mix' _before_ it gets the disco identity?
-
Steve Kille
This is to support MIX and MUC on same node. To make this work, you need to have different info for MIX and MUC
-
Link Mauve
Andrew Nenakhov, what license is the Xabber logo? Would it be possible to upload it to Wikimedia Commons?