[jdev] How do I know when a MUC server restarts?
me at thijsalkema.de
Thu Mar 3 16:47:54 UTC 2016
> On 3 mrt. 2016, at 14:19, Stephen Paul Weber <singpolyma at singpolyma.net> wrote:
> I am writing a external component (using it with Prosody right now) that allows users to join MUCs on other servers. When a remote server restarts, I see this is my prosody log:
> info outgoing s2s stream singpolyma.net->chat.yax.im closed: system-shutdown (Received SIGTERM)
> Now, my component is not running on singpolyma.net (that is a different domain on the same Prosody instance), but either maybe all s2s were incoming at the time since no one had said anything recently?
> Anyway, looking at the logs on my component, I don't see any stanza indicating anything about this. I mean, I guess that makes sense. Server restarts don't generate stanzas.
> The problem is that when they restart the server, it comes back up with all MUCs empty and I need to get everyone on my component to re-join. But as it the component actually thinks they are still in the MUC!
> Other XMPP clients I use seem to (sometimes after awhile) detect this situation somehow and tell me I'm no longer in the room (or try to re-join). How are they doing this? Is this some quirk of the external component protocol where normally Prosody would generate this kind of stanza to a client? Or what else could I be missing? I really need to solve this issue...
> Many thanks for any help!
There was a bug in Prosody before 0.9.10 that caused "unavailable" presences
to occupants to never reach the users on remote servers as the s2s streams
were closed before sending those stanzas . I can't tell if chat.yax.im has
already updated to that version.
But even with that there's no guarantee it will always succeed: if the s2s
streams are closed your unavailable presence won't be sent before the server
 = https://hg.prosody.im/0.9/rev/301d58705667
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
More information about the JDev