I can send only one message from Salut to iChat if Salut closes the stream between the 2 messages. Next messages are never sent, although Salut can receive messages from iChat.
The explanation is here:
Sjoerd suggested that Salut should send the closing stanza and then wait until 10 seconds to receive the closing stanza from the remote contact. If the remote contact failed to send the closing stanza, Salut should close the TCP connection.
We may loose a message and this behavior is not compliant to the xep-0174 but if 10 seconds is not enough for the remote client, the remote client is clearly buggy. So this suggested behavior for salut is better than being pedantically xep-0174-compliant and being unable to send any more message to the remote contact.
Maybe 10 seconds is too long? 2 seconds?
This has changed a little with the switch to using WockyMetaPorter.
If you close the Telepathy channel, after a few seconds tries to close the session, and sends </stream:stream>. It gets no reply from iChat, and any messages iChat sends in the meantime are lost. (This is because calling _close_async() on the c2s porter makes it emit ::closing, and porter_closing_cb in meta-porter.c removes all handlers.)
But when you re-request a channel to that contact, WockyMetaPorter happily establishes a new connection, and you can exchange messages again. So the symptom is now:
After closing a channel with an iChat user, Salut cannot receive messages from the iChat user until the channel is reopened.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-salut/issues/7.