XSF Communications Team - 2023-09-29


  1. Schimon_

    emus, the RSS Bot is (almost) ready for production, thanks to Laura (especially), Link Mauve, Ramiro Romani and friends https://gitgud.io/sjehuda/slixfeed

  2. Kris

    can it also post to a MUC?

  3. Kris

    or only 1:1

  4. Kris

    or only 1:1?

  5. TheCoffeMaker

    Schimon_: it will fail eventually on server disconnection ... checkout hiw I've solved it (it is also an RSS to XMPP bot) https://codeberg.org/TheCoffeMaker/Morbot

  6. TheCoffeMaker

    Schimon_: it will fail eventually on server disconnection ... checkout how I've solved it (it is also an RSS to XMPP bot) https://codeberg.org/TheCoffeMaker/Morbot

  7. TheCoffeMaker

    adding a callback to the disconnected event only is not enough

  8. Link Mauve

    TheCoffeMaker, why do you call xmpp.process(forever=False) and then do the forever=True the next line?

  9. Link Mauve

    (271-272)

  10. TheCoffeMaker

    Link Mauve, xmpp.process() is deprecated... the forever goes to the asyncio event loop

  11. Link Mauve

    Correct, but then you can just not use it at all and run the asyncio loop yourself.

  12. Link Mauve

    Basically remove line 271.

  13. TheCoffeMaker

    thx

  14. TheCoffeMaker

    will do

  15. TheCoffeMaker

    Link Mauve, in Morbot check the keep_alive method ... it's who does the actual disconnection handling magic

  16. Link Mauve

    I’d love to fix reconnection someday.

  17. Link Mauve

    In the library.

  18. Link Mauve

    Instead of relying on the user having to implement such workarounds all the time.

  19. TheCoffeMaker

    I would prefer to have it well documented instead of blindly delegating it to the library

  20. Link Mauve

    No I mean, slixmpp’s role as a library is to make XMPP usable, and reconnecting is part of it.

  21. TheCoffeMaker

    I understand your point

  22. Link Mauve

    The library is the best place to know when stanzas got sent, received, didn’t get a reply and so on.

  23. Link Mauve

    TheCoffeMaker, “ elif type(fut.exception()) is iqError:”, I think you meant IqError, with an uppercase I.

  24. TheCoffeMaker

    thx

  25. Link Mauve

    Static analysers could help you find this kind of error, for instance pylint or cython.

  26. TheCoffeMaker

    yeah 😅

  27. Link Mauve

    mypy as well I think.

  28. cal0pteryx

    I can recommend ruff+pyright