jdev - 2023-02-24

  1. pep.

    I wonder if there's a way to tell a client which is in a reconnect loop to try something else :/

  2. pep.

    has left the room (Stream closed by us: Replaced by new connection (conflict)) joined the room

  3. pep.

    programming@ is getting spammed with this atm

  4. MattJ

    That is the server telling it to try something else :)

  5. MattJ

    conflict means your resource is being used elsewhere

  6. MattJ

    That should be a red flag to any client, but instead it is reconnecting with the same resource

  7. pep.

    Ok that's what I assumed. And the client doesn't care :/

  8. pep.

    That's gajim, I don't know which version

  9. pep.

    But anyway reconnect loops also happen in other cases

  10. wurstsalat

    I've seen this once on a Windows device, where two Gajim instances were started in parallel (which should not be possible using the same profile). both instances tried to connect endlessly. never got to the bottom of that issue though

  11. soulcaramel

    I’m looking to start a hobby project of creating a JavaScript frontend xmpp chat and i found xmpp.js. For this browser integration I need to connect to a websocket server, and im wondering if all xmpp servers expose a websocket connection 🤔

  12. Zash

    Not all deployments but you can find out by way of https://xmpp.org/extensions/xep-0156.html

  13. soulcaramel

    Ok. I read through that and am trying to connect the dots in how I can use xep-0156 to determine which servers offer a websocket connection

  14. soulcaramel

    Ok actually i happened to find a server whose homepage advertises a websocket url

  15. soulcaramel

    So i guess it’s a matter of figuring out a jid for a group chat. Is that the right way to phrase it? “Jid for a group chat”?

  16. singpolyma

    soulcaramel: in practise you need to run xmpp-proxy or similar to get the websockets if you want to connect to servers other than your own

  17. Zash

    soulcaramel, given xmpp:example.com you query https://example.com/.well-known/host-meta (and/or .json), easy as that.

  18. Zash

    But, "jid for a group chat" is something unrelated. You connect to a server that serves user accounts, and via that connect to group chats. You only need to find the websocket endpoint for the server, not the group chat.

  19. pep.

    soulcaramel, if as a hobby project you're also interested in contributing in existing projects, there's a few using xmpp.js already, like https://github.com/nioc/xmpp-web :)

  20. soulcaramel

    Thank you all for the context and examples 🙏

  21. soulcaramel

    And yes pep. I will look at that too ty!