Message can be sent during reconnection
While sending a message I've received an error:
[22:10:44] Message text
[22:10:46] error while sending message ( service-unavailable )
Logs revealed, that Gajim was exchanging stanzas for reestablishing a connection but inserted already the message in-between:
06/22/2018 22:10:39 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<?xml version='1.0'?><stream:stream xmlns="jabber:client" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" to="trashserver.net" xml:lang="en" >
_____________
...
06/22/2018 22:10:44 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<message xmlns="jabber:client" to="
...
06/22/2018 22:10:45 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' from='trashserver.net'
...
06/22/2018 22:10:45 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<resume xmlns="urn:xmpp:sm:3" h="385" previd="........." />
_____________
...
06/22/2018 22:10:46 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<message id='7ae91331-636d-46d7-b7a2-fc19c0ccc901' type='error' from='......' <error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></message><failed xmlns='urn:xmpp:sm:3'><item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></failed>
...
06/22/2018 22:10:47 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<iq type="set" id="af7e7d14-3ae6-4b33-9f45-3f5553a4cc37"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>gajim.MYRESOURCE</resource></bind></iq>
_____________
Traceback (most recent call last):
File "/home/andrey/progs/gajim.git/gajim/chat_control_base.py", line 1259, in _on_edge_reached
elif self.session and self.session.remove_events(types_list):
AttributeError: 'ChatControlSession' object has no attribute 'remove_events'
Traceback (most recent call last):
File "/home/andrey/progs/gajim.git/gajim/chat_control_base.py", line 1259, in _on_edge_reached
elif self.session and self.session.remove_events(types_list):
AttributeError: 'ChatControlSession' object has no attribute 'remove_events'
[...and repeating about 20 times...]
06/22/2018 22:10:51 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<iq id='af7e7d14-3ae6-4b33-9f45-3f5553a4cc37' type='result'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>MYJID@trashserver.net/gajim.MYRESOURCE</jid></bind></iq>
_____________
...
06/22/2018 22:10:51 (D) nbxmpp.smacks Clearing smacks uqueue
06/22/2018 22:10:51 (I) nbxmpp.transports_nb Plugging fd 31, W:False, R:True
06/22/2018 22:10:51 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<enable xmlns="urn:xmpp:sm:3" resume="true" />
_____________
06/22/2018 22:10:51 (I) nbxmpp.transports_nb Plugging fd 31, W:True, R:True
06/22/2018 22:10:51 (I) gajim.c.connection Bound JID: MYJID@trashserver.net/gajim.MYRESOURCE
06/22/2018 22:10:52 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<enabled id='51bfb24b-852d-4f4e-8511-a941000d4acc' resume='true' xmlns='urn:xmpp:sm:3'/>
_____________
06/22/2018 22:10:52 (I) nbxmpp.smacks Session resumption: true
The server icon is still displayed as "connecting". The contact I've sent the message to has not been displayed as available despite of Gajim received a delivered receipt after I've sent another one message.