jdev - 2025-03-09


  1. doge

    for avatars, if I have never receiveda metadata notification for a contact, does this mean the contact has no avatar? Or should I manually request metadata node at least once

  2. nicoco

    doge: if you subscribe to their presence, you don't need to fetch

  3. lovetox

    but you still need to announce that you want the notifications in your disco info with adding +notify to the feature

  4. nicoco

    indeed

  5. nicoco

    lovetox: don't you think it would make sense for gajim to send that avatar metadata event when we message people not in roster too? And when we presence sub request too?

  6. lovetox

    yes definitily, i wanted to propose that anyway

  7. nicoco

    excellent

  8. lovetox

    the question is, how do we get change notifications?

  9. lovetox

    or maybe we have somekind of timer, poll once a month

  10. lovetox

    we store the timestamp when we fetched an avatar, so it should be easy in Gajim to build logic on this timestamp

  11. nicoco

    I wonder if what I suggested yesterday, add the <metadata> element in all messages to non-roster-contacts is really something that would matter. It does not look like a lot of extra bytes. That is what we do (or at least what the spec say we should do) about nicknames anyway.

  12. lovetox

    i dont know, i would go for polling once a week for non roster contacts in Gajim

  13. lovetox

    we also do other polling for non roster contacts

  14. lovetox

    for example omemo keys

  15. lovetox

    and also that works because you are a server/bridge, many clients will not do this if we dont standardize it

  16. lovetox

    and then the question is, why would we send that every time, it seems less efficient then clients polling from time to time

  17. nicoco

    I didn't realize gajim had to do that for omemo keys anyway, then I guess it makes more sense then

  18. nicoco

    > and also that works because you are a server/bridge, many clients will not do this if we dont standardize it sure, I was trying to think about pure xmpp context too.

  19. nicoco

    It does not make a lot of sense UX wise that non-contacts don't see your avatar when you tick "show my avatar to everyone". That works in MUCs only ATM.

  20. lovetox

    im with you, the need clearly exists, its just the discussion which way we go, contact needs to send all infos all the time, or other side polling from time to tim

  21. lovetox

    i like polling also because of the access model thats already in pubsub

  22. lovetox

    i dont store the information if the user wants to share his avatar

  23. lovetox

    i store it in pubsub

  24. lovetox

    so if i need to write code that sends out avatars to other contacts with a message, i would first need to query my node if the user actually wants that

  25. nicoco

    I see. Polling delays updates and will lead to useless requests, it's a tradeoff, I don't have a good picture of what is worse.

  26. lovetox

    i think non roster contacts, you can live with seeing a not up to date avatar a few days

  27. lovetox

    and another benefit is, i can implement this as client now, and it works

    👍 1
  28. nicoco

    The access model of the avatar nodes being stored server-side makes me wonder if a server-side extension wouldn't be better.

  29. lovetox

    the other way depends on all other clients in the eco system implementing this

    👍 1
  30. nicoco

    > i think non roster contacts, you can live with seeing a not up to date avatar a few days sure, right now we live with not seeing the avatar at all :)

  31. nicoco

    > the other way depends on all other clients in the eco system implementing this I guess an argument against this type of reasoning leads us to stuff like "vcard-temp" being around forever :)

  32. lovetox

    actually a server extension would make sense

  33. nicoco

    > the other way depends on all other clients in the eco system implementing this I guess an argument against this type of reasoning is that it leads us to stuff like "vcard-temp" being around forever :)

  34. lovetox

    the server knows the access model of the node, it knows if the contact is in the roster

  35. lovetox

    it knows not to add it to groupchat messages

  36. lovetox

    but maybe one of the server devs can give their opinion on this

    👀 1
  37. lovetox

    ahh and best argument, servers do this already with 0153 for groupchat messages

  38. lovetox

    so its basically extend this module to also do it for type=chat and not in roster

  39. lovetox

    ah sorry groupchat presence

  40. lovetox

    but not much difference

  41. lovetox

    then we simply extend the avatar spec with, hey sha and node can also be in message now

  42. lovetox

    i mean they code do this with nickname also right now

  43. lovetox

    i mean they could do this with nickname also right now

  44. nicoco

    let's wait and see if servers dev lurking here have an opinion then :)

  45. singpolyma

    > then we simply extend the avatar spec with, hey sha and node can also be in message now They already get sent in message? So that's not a change. It's just a decision about who to send those messages to (first contact, etc, vs just subscribers)

  46. theTedd

    To avoid unnecessary polling, only update when it's useful, e.g. with the first message from a non-contact, and then again after a sufficient period, until some inactivity timeout (I'm not interested in their avatar if I haven't talked to them for a month)

  47. lovetox

    hm one moment, can we not simply subscribe to open nodes anyway?

    😮 1
  48. singpolyma

    Yup

  49. lovetox

    i get that the auto subscription with the +notify does not work if we have no presence sub