XSF Discussion - 2025-10-01


  1. moparisthebest

    this is interesting https://www.rfc-editor.org/rfc/rfc9842.html http protocol to negotiate and use dictionaries for compression, it's long been on my to-do list to play with this kind of thing for XMPP

    👀 1
  2. nicoco

    gnemmi, for once, I was going to add slidge-related news but you already did all the work it seems, so thank you very much! đŸ«‚

  3. gnemmi

    nicoco, you are very welcome! ( even if that was the most painful entry in the Newsletter!!! )

  4. gnemmi

    It has like 2 dozen links!! đŸ€ŻđŸ« 

  5. Squeaky Latex Folf

    > this is interesting https://www.rfc-editor.org/rfc/rfc9842.html > http protocol to negotiate and use dictionaries for compression, it's long been on my to-do list to play with this kind of thing for XMPP I have a feeling this was already kind of done before in... https://xmpp.org/extensions/xep-0322.html

  6. moparisthebest

    nah exi has nothing to do with compression

  7. Link Mauve

    It does actually, based on the schema.

  8. jonas’

    yeah

  9. moparisthebest

    a different encoding isn't compression though right?

  10. jonas’

    moparisthebest, EXI is a bit more than that.

  11. jonas’

    or so I think.

  12. jonas’

    so far I have failed to understand the spec completely.

  13. nicoco

    > It has like 2 dozen links!! đŸ€ŻđŸ«  yes, well it just makes more sense for me to separate slidge "the lib" from slidge-based gateways
 😬

  14. gnemmi

    > yes, well it just makes more sense for me to separate slidge "the lib" from slidge-based gateways
 😬 yeah .. absolutely .. it makes a lot of sense 👍

  15. moparisthebest

    I think EXI is just an alternative way to encode XML and that's all

  16. gnemmi

    nicoco, and I was exaggerating just for the fun of it 😉

    😊 1
  17. moparisthebest

    iirc Guus has the only open implementation of EXI ?

  18. jonas’

    moparisthebest, https://www.w3.org/TR/exi/#compression :shrug:

    ❀ 1
  19. moparisthebest

    yea interesting https://www.w3.org/TR/exi/#CompressedStreams seems to arrange things a special way before just doing regular deflate, how odd

  20. jonas’

    EXI is _everything_ and I'm afraid it's got XEP-0060-level "wait was that there when I opened the spec the last time"-qualities.

  21. moparisthebest

    yea it certainly feels less KISS than using zstd on XML :/

  22. jonas’

    certainly

  23. jonas’

    it's plausible though that compression-less EXI with a specific schema fits on devices smaller than those which can fit zstd.

  24. moparisthebest

    probably, but I'm not convinced that's still a constraint in 2025, what with common very cheap MCUs that can do WiFi and TLS no problem

  25. Kev

    FWIW, I have use cases where XML through zlib is too heavy (for the network, rather than for the processing cost).

  26. moparisthebest

    zstd certainly compresses much better than zlib, but how it might compare to exi I have no clue, I suspect the difference would be negligible in most cases

  27. moparisthebest

    what are you doing over those links now Kev ?

  28. Kev

    Nothing yet.

  29. Zash

    perfect compression!

  30. Kev

    I have rough plans around something akin to a fixed dictionary encoding in CBOR, but haven’t found the cycles to try it yet and compare options.

  31. moparisthebest

    nothing is my favorite thing to do

  32. Kev

    I mean, we do transforms on egress to strip out strippable content for constrained links, and not using IP over HF and things, but there’s more to do.

  33. moparisthebest

    fixed dictionary with zstd is what I've been meaning to try

  34. Kev

    It could well be that fixed dictionary zstd is as efficient as what I want to try, although I *suspect* not, as understanding the form of what you’re sending lets you elide things rather than just compress them.

  35. Kev

    e.g. if you TLV-ish a stanza, you don’t have to compress all the closing tags, you can drop them completely.

  36. Kev

    Completely overkill in almost all cases, but the ‘almost’ is somewhat important.

  37. singpolyma

    Question about interpretation of https://xmpp.org/extensions/xep-0050.html -- it says <actions/> SHOULD be supplied with each step ("other than the last") and SHOULD be provided when "not complete". It says nothing about any other time AFAICT. I have been providing <actions><prev /></actions> on some "last" steps including with status="canceled" so that a user can choose an option which cancels the flow, see the result, then change their mind and go back. Is this in violation of the spec? Is it technically compliant but in a way the spec is silent on? Is it compliant because it's "not the last" and "not complete" if there is still an option to go back? Gajim anyway seems to just ignore the <actions/> when status is not "executing"

  38. flow

    singpolyma, that rings a bell, I believe there weas a discussion standards@ a few years ago

  39. flow

    but with no result

  40. flow

    https://github.com/xsf/xeps/pull/591

  41. flow

    There was a call for experience for xep50 around 2020-05

  42. flow

    and the Cuncil Minutes 2018-04-18 seem relevant, but I can't find them

  43. flow

    also a standards thread started by pep on 2019-04-14

  44. flow

    note that I not sure if any of this is your issue, I just knew that xep50 has issues that where discussed in the past and I thought it might help if I share that

    👍 1
  45. theTedd

    Relevant: https://wiki.xmpp.org/web/XEP-Remarks/XEP-0050:Ad-Hoc_Commands