-
lovetox
hm that avatar conversion XEP did not really think about clients that want to support vcards
-
lovetox
it seems the thought was, vcard is only used by legacy clients so they set their avatar with the vcard and we convert it
-
Zash
do we need a XEP about the thing Prosody does with vcard-temp → vcard4 conversion?
-
lovetox
but how do is set a avatar, if i want to support vcard and iam not a legacy client
-
Zash
Use XEP-0084?
-
lovetox
yeah i just did
-
lovetox
and what happens is, i publish with 0084, afterwards publish my vcard
-
lovetox
ups my avatar is gone now
-
lovetox
no i have to now publish my avatar with 0084 and at the same time have to put it into the vcard
-
Zash
fantastic
-
lovetox
and all because of anonymous mucs
-
lovetox
we really should have gone the way, yeah anonymous means anonymous, so no vcard, no avatar, nothing
-
lovetox
thats what anonymous means
-
Zash
to be pedantic, we already got rid of anonymous mucs, what we have is semi-anonymous :)
-
lovetox
omg i want to deactivate that conversion
-
Zash
With Prosody, you can. Tho you may get nice enough behavior by publishing vcard as vcard4 instead of vcard-temp
-
lovetox
why because there is no conversion yet?
-
lovetox
actually i want to switch to vcard 4
-
lovetox
but we dont need conversion there really do we?
-
lovetox
a client that supports vcard 4 is not legacy, and can do his own avatar publishing
-
Zash
Interop with legacy clients
-
lovetox
yeah but for example i want to publish my vcard 4 with access=presence
-
lovetox
but my avatar with access=open
-
Zash
You can, if you talk PEP directly
-
lovetox
yes i know i can
-
lovetox
but what does the conversion mod then?
-
Zash
Nothing
-
Zash
The prosody legacy vcard compat module syntesizes a vcard-temp from vcard4+pep avatar on request.
-
Zash
And it respects the access modes on each of those, so if you configure the vcard with access=presence you get a vcard-temp with only the avatar.
-
lovetox
ok thats nice
-
Zash
It is a problem that you have no way of knowing this tho
-
lovetox
and is there a conversion happening from vcard4 -> pep avatar?
-
Zash
There are older vcard compat modules that only re-publish the avatar but it's still vcard-temp natively
-
Zash
No
-
lovetox
ok thats good
-
lovetox
mental note, never implement something like that
-
lovetox
ok so that means
-
lovetox
i can use vcard4 and publish my vcard without avatar
-
lovetox
and the server will not delete my 0084 avatar
-
lovetox
thank god !
-
Zash
Hehe, part of the goal of this was to make vcard4 more attractive :)
-
lovetox
vcard4 is attractive enough only because of the fact that you can make the data private
-
Zash
Yeah, that is nice
-
lovetox
ok thanks, means more work needs to be done now, but at least there is a sane path
-
Zash
Maybe the lack of privacy controls in vcard-temp is why so many clients these days only use it for teh avatar
-
Link Mauve
My issue with vcard4 is that it still isn’t fine-grained enough.
-
Link Mauve
It’s either available to some entity or not.
-
Zash
I think that's an issue with PEP as a whole
-
Link Mauve
Yes.
-
Zash
And maybe PubSub
-
Link Mauve
goffi added an extension to fix that in his server, but he never wrote the spec.
-
Zash
oneSocialWeb had something like this as well
-
lovetox
Link Mauve, why there is whitelist or not?
-
lovetox
but to be honest, it seems a bit too complex for the normal user to manage who can see his vcard
-
Link Mauve
lovetox, for instance I might want my email address shared with all my contacts, but my home phone number only with the family group, and the work phone number only with the work group.
-
lovetox
haha
-
lovetox
ok thats insane
-
Zash
If the prosody vcard/avatar conversion mod finds that the requester does not have access to the vcard4 node, it checks if they can read the nickname node and if so, adds that to the vcard-temp
-
Link Mauve
lovetox, instead of insane, I’d say mandatory for most usecases.
-
lovetox
you want per field access
-
Link Mauve
Yes, pretty much.
-
lovetox
i just think about the UI, and i would not even want to start it :)
-
Link Mauve
Try https://linkmauve.fr/xmpp-account-manager/build/en/ for a UI example.
-
lovetox
it shows a loading icon
-
lovetox
then nothing happens
-
lovetox
ah wait
-
lovetox
jid was wrong
-
lovetox
but its probably not hard to do with vcard4
-
lovetox
you can add a custom attribute <roster-group> to the items
-
lovetox
and then the server has to do the rest
-
Zash
IFF the server advertises support
-
Zash
lovetox, seen this thread? https://mail.jabber.org/pipermail/standards/2020-February/037073.html
-
lovetox
hm xep 0292 does not use pep?
-
lovetox
i always thought the IQ is just a legacy access method
-
lovetox
but we use pubsub for vcard4
-
lovetox
i wondered about this a few times
-
lovetox
i just publish the vcard4 to pubsub
-
lovetox
i dont use the IQ
-
Zash
The iq was added for the MUC use case.
-
Zash
Except, it doesn't work.
-
lovetox
community consensus is that storage via IQ is more backward-compatible with XEP-0054, and that publish-subscribe is more appropriate only for event notifications.
-
Zash
vcard-temp only works in MUC because of an undocumented hack that all servers implement.
-
lovetox
i interpret this sentence as "You should not publish a vcard via pubsub, use IQ "
-
Zash
So you would need to do the same for vcard4 and/or PEP
-
Zash
The Prosody mod_vcard4 is just a very thin layer over the PEP get/set methods.
-
lovetox
ok so thats what i thought, i just use pubsub, and it should work as expected
-
Zash
It can act as a bandwidth optimization I suppose.
-
Zash
Or if you have a client that does not support PEP (are there even any?) then it's probably easier to use the vcard4 iq
-
lovetox
vcards are rarley changed, so there is no need to be efficient
-
Zash
https://xmpp.org/extensions/xep-0292.html#self-iq-retrieval vs https://xmpp.org/extensions/xep-0060.html#subscriber-retrieve-requestall
-
Zash
So, yeah, not much of a difference