gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2024-01-26T04:12:08Zhttps://dev.gajim.org/gajim/gajim/-/issues/11143TypeError: JingleFileTransfer.init() missing 1 required positional argument: ...2024-01-26T04:12:08ZLuciano RosaTypeError: JingleFileTransfer.init() missing 1 required positional argument: 'file_props'Hello.
I'm using gajim with openfire server.
I am not able to do direct file transfers. When I send some file, nothing happens, the other PC does not receive any notification. But sending messages is working normally.
I've already disabl...Hello.
I'm using gajim with openfire server.
I am not able to do direct file transfers. When I send some file, nothing happens, the other PC does not receive any notification. But sending messages is working normally.
I've already disabled all firewalls and already freed up the port on the router.
In the log file there is an error: "TypeError: JingleFileTransfer.__init__() missing 1 required positional argument: 'file_props'"[13092022-103407-debug.log](/uploads/47574339150584bceace0572fd3c4e17/13092022-103407-debug.log)https://dev.gajim.org/gajim/gajim/-/issues/10689Inbound XEP-0353 (Jingle Message Initiation)2022-12-05T10:00:35ZStephen Paul WeberInbound XEP-0353 (Jingle Message Initiation)Would be very useful to have [XEP-0353](https://xmpp.org/extensions/xep-0353.html) support for inbound Jingle calls in Gajim.
My company, JMP.chat, is willing to sponsor this work if that would be of interest.
I know other things are n...Would be very useful to have [XEP-0353](https://xmpp.org/extensions/xep-0353.html) support for inbound Jingle calls in Gajim.
My company, JMP.chat, is willing to sponsor this work if that would be of interest.
I know other things are needed for compatibility with certain clients, but XEP-0353 alone would be very useful to us and would be a good step in that direction also.https://dev.gajim.org/gajim/gajim/-/issues/10557No file transfer - XEP-0260: Jingle SOCKS5 with proxy candidates2021-05-12T10:00:44ZTim ComsaNo file transfer - XEP-0260: Jingle SOCKS5 with proxy candidates## Versions:
- OS: Win 10
- Gajim: 1.3.1
- GTK Version: 3.24.25
- GLib Version: 2.66.2
- PyGObject Version: 3.38.0
- python-nbxmpp Version: 2.0.2
- XMPP servers : Openfire 4.5.2
## Environment:
- 2 domainA & domainB servers connected t...## Versions:
- OS: Win 10
- Gajim: 1.3.1
- GTK Version: 3.24.25
- GLib Version: 2.66.2
- PyGObject Version: 3.38.0
- python-nbxmpp Version: 2.0.2
- XMPP servers : Openfire 4.5.2
## Environment:
- 2 domainA & domainB servers connected together
- with SOCKS5 proxy configured on both servers (SOCKS5 proxy activated in server option)
- 1 Gajim client connected to domainA server
- with firewall activated to block p2p transfer
- 1 Gajim client connected to domainB server
- with firewall activated to block p2p transfer
## Steps to reproduce the problem:
1. Initiator Gajim client requests to send file to responder Gajim client
2. Responder Gajim client accepts the file transfer from initiator Gajim client
3. Nothing happens (no error, transfer rate remains at: 0%)
## Associated XEP extensions:
- https://xmpp.org/extensions/xep-0260.html
## Exchanges between clients:
- Session-initiate with direct & domainA SOCKS5 proxy candidates: OK
- Session-accept with direct & domainB SOCKS5 proxy candidates: OK
- Connected to domainB SOCKS5 proxy from initiator: OK
- Connected to domainA SOCKS5 proxy from responder: OK
- Candidate-used with domainB SOCKS5 proxy from initiator: OK
- Candidate-used with domainA SOCKS5 proxy from responder: OK
- Ack candidate-used from responder: OK
- Ack candidate-used from initiator: OK
- Connected to domainB SOCKS5 proxy from responder (candidate chosen by the initiator shall be considered the nominated candidate): OK
- Activate initiator to domainB SOCKS5 proxy from responder: OK
- Activated to initiator from responder: OK
- Ack activate from domainB SOCKS5 proxy to responder: OK
- Ack activated to responder from initiator: OK
- S5B Session : NOTHING SENT & RECEIVED
`Traces on responder Gajim:
gajim.c.ged | Raise event: file-transfer-completed
nbxmpp.idlequeue | read timeout set for fd XXX on 180 seconds`
- Terminate: NOTHING SENT & RECEIVED
## Remarks:
- Chat works between client A & client B and other services work
- File transfer works with only 1 SOCKS5 proxy configured on server of initiator side BUT if the other side sends a file, the same behavior occurs (no transfer & no error)
- File transfer works with firewall deactivated on both clients in order to use direct file transfer (in p2p)
- File transfer works with 2 Spark clients with firewall activated on both clients (the XEP-0065 SOCKS5 Bytestreams extension seems to be used in place of the XEP-0260 Jingle SOCKS5 Bytestreams Transport Method extension)https://dev.gajim.org/gajim/gajim/-/issues/10553No file transfer - XEP-0261: Jingle IBB in fall-back of XEP-0260: Jingle SOCKS52021-05-11T16:48:02ZTim ComsaNo file transfer - XEP-0261: Jingle IBB in fall-back of XEP-0260: Jingle SOCKS5## Versions:
- OS: Win 10
- Gajim: 1.3.1
- GTK Version: 3.24.25
- GLib Version: 2.66.2
- PyGObject Version: 3.38.0
- python-nbxmpp Version: 2.0.2
- XMPP servers : Openfire 4.5.2
## Environment:
- 2 domainA & domainB servers connected t...## Versions:
- OS: Win 10
- Gajim: 1.3.1
- GTK Version: 3.24.25
- GLib Version: 2.66.2
- PyGObject Version: 3.38.0
- python-nbxmpp Version: 2.0.2
- XMPP servers : Openfire 4.5.2
## Environment:
- 2 domainA & domainB servers connected together
- without SOCKS5 proxy configured on both servers (SOCKS5 proxy deactivated in server option)
- 1 Gajim client connected to domainA server
- with firewall activated to block p2p transfer
- 1 Gajim client connected to domainB server
- with firewall activated to block p2p transfer
## Steps to reproduce the problem:
1. Initiator Gajim client requests to send file to responder Gajim client
2. Responder Gajim client accepts the file transfer from initiator Gajim client
3. Nothing happens (no error, transfer rate remains at: 0%)
## Associated XEP extensions:
- https://xmpp.org/extensions/xep-0260.html#fallback
- https://xmpp.org/extensions/xep-0261.html
## Exchanges between clients:
- Session-initiate with only direct candidate: OK
- Session-accept with only direct candidate: OK
- Transport-info – candidate-error from responder: OK (to notify that direct connection in p2p is forbidden) and NO candidate-used is sent from responder
- Transport-info – candidate-error from initiator: OK (to notify that direct connection in p2p is forbidden) and NO candidate-used is sent from initiator
- Transport-replace (IBB): OK
`<iq xmlns="jabber:client" to="<user2>" from="<user1>" type="set" id="<id>"><jingle xmlns="urn:xmpp:jingle:1" action="transport-replace" sid="<sid>" initiator="<user1>"><content name="<file>" creator="initiator" senders="initiator"><transport xmlns="urn:xmpp:jingle:transports:ibb:1" block-size="4096" sid="None" /></content></jingle></iq>`
- Ack transport-replace: OK
`<iq id="<id>" to="<user1>" from="<user2>" type="result"/>` (x 2 messages)
- Transport-accept: OK
`<iq to="<user1>" from="<user2>" type="set" id="<id2>"><jingle xmlns="urn:xmpp:jingle:1" action="transport-accept" sid="<sid>" initiator="<user1>"><content name="<file>" creator="initiator" senders="both"><transport xmlns="urn:xmpp:jingle:transports:ibb:1" block-size="4096" sid="None"></transport></content></jingle></iq>`
- Ack Transport-accept: OK
`<iq id="<id2>" to="<user2>" from="<user1>" type="result"/>`
- In-Band Bytestreams Session: NOTHING SENT & RECEIVED (no `<open>`, `<data>` & `<close>` message)
- Terminate: NOTHING SENT & RECEIVED
## Remarks:
- Chat works between client A & client B and other services work
- File transfer works with firewall deactivated on both clients in order to use direct file transfer (in p2p)
- File transfer works with 2 Spark clients with firewall activated on both clients (with “IBB only” option activated in Spark admin interface, maybe the XEP-0047 In-Band Bytestreams extension is used in place of the XEP-0261 Jingle In-Band Bytestreams Transport Method extension)https://dev.gajim.org/gajim/gajim/-/issues/10495Gajim wrongly sends senders=both in Jingle FT session-accept2021-09-03T11:44:54ZSome OneGajim wrongly sends senders=both in Jingle FT session-acceptWhen Gajim receives an inbound jingle file transfer like
```xml
<iq id='iq1' type='set' to=paul@example.com/res>
<jingle xmlns='urn:xmpp:jingle:1' action='session-initiate' initiator=anna@example.com/res' sid='abc123'>
<content...When Gajim receives an inbound jingle file transfer like
```xml
<iq id='iq1' type='set' to=paul@example.com/res>
<jingle xmlns='urn:xmpp:jingle:1' action='session-initiate' initiator=anna@example.com/res' sid='abc123'>
<content creator='initiator' name='a-file-offer' senders='initiator'>
[description]
[transport]
</content>
</jingle>
</iq>
```
it answers with
```xml
<iq id='iq2' type='set' to=anna@example.com/res>
<jingle xmlns='urn:xmpp:jingle:1' action='session-accept' initiator=anna@example.com/res' sid='abc123'>
<content creator='initiator' name='a-file-offer' senders='both'>
[description]
[transport]
</content>
</jingle>
</iq>
```
The relevant bit is that Gajim wrongly switches `senders='initiator'` to `senders='both'`. The value should remain `senders='initiator'`. In this context, `senders='both'` doesn't make sense and just changing `senders` also isn't allowed at that point. This causes issues with clients that verify that the "senders" field is the one they expect.https://dev.gajim.org/gajim/gajim/-/issues/10311Device or resource busy in socks5::getaddrinfo2021-09-03T11:46:35ZGhost UserDevice or resource busy in socks5::getaddrinfo## Versions
- OS: Linux
- GTK+ Version: 3.24.14
- PyGObject Version: 3.36.0
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.3
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/dispatc...## Versions
- OS: Linux
- GTK+ Version: 3.24.14
- PyGObject Version: 3.36.0
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.3
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/dispatcher_nb.py", line 502, in dispatch
handler['func'](session, stanza)
File "/usr/lib/python3/dist-packages/gajim/common/protocol/bytestream.py", line 702, in _bytestreamResultCB
app.proxy65_manager.resolve_result(frm, query)
File "/usr/lib/python3/dist-packages/gajim/common/proxy65_manager.py", line 91, in resolve_result
self.proxies[proxy].resolve_result(host, port, jid)
File "/usr/lib/python3/dist-packages/gajim/common/proxy65_manager.py", line 126, in resolve_result
self.receiver_tester = ReceiverTester(self.host, self.port, self.jid,
File "/usr/lib/python3/dist-packages/gajim/common/proxy65_manager.py", line 379, in __init__
Socks5.__init__(self, app.idlequeue, host, port, None, None, None)
File "/usr/lib/python3/dist-packages/gajim/common/socks5.py", line 461, in __init__
self.ais = socket.getaddrinfo(host, port, socket.AF_UNSPEC,
File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
OSError: [Errno 16] Device or resource busy
```
## Steps to reproduce the problem
I can not reproduce, it happened once at startup. The machine was a bit loaded (i.e. swapping) at that time. Likewise to https://dev.gajim.org/gajim/gajim/-/issues/9551, I'm asking myself if this is a gajim issue or Linux issue? But according to `man getaddrinfo` it could return EAI_SYSTEM and any errno value.
## Extra information
```
$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
```https://dev.gajim.org/gajim/gajim/-/issues/10140Rewrite Jingle Code2022-10-05T21:42:45ZPhilipp Höristphilipp@hoerist.comRewrite Jingle CodeJingle Code right now too complex for what we use it for, it could be much simpler
- Add support to nbxmpp for parsing jingle stanzas
- Socket code should use GLib and can be made much smallerJingle Code right now too complex for what we use it for, it could be much simpler
- Add support to nbxmpp for parsing jingle stanzas
- Socket code should use GLib and can be made much smallerhttps://dev.gajim.org/gajim/gajim/-/issues/9701Jingle S5B proxy candidates sent with transport-info are handled wrong2019-05-18T09:41:27ZСергей ИльиныхJingle S5B proxy candidates sent with transport-info are handled wrong## Versions
- OS: Linux
- GTK+ Version: 3.22.30
- PyGObject Version: 3.26.1
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.3+b63dd2ed8
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxm...## Versions
- OS: Linux
- GTK+ Version: 3.22.30
- PyGObject Version: 3.26.1
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.3+b63dd2ed8
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/dispatcher_nb.py", line 502, in dispatch
handler['func'](session, stanza)
File "/usr/lib/python3/dist-packages/gajim/common/jingle.py", line 111, in _JingleCB
self._sessions[sid].on_stanza(stanza)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_session.py", line 354, in on_stanza
call(stanza=stanza, jingle=jingle, error=error, action=action)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_session.py", line 598, in __broadcast
cn.on_stanza(stanza, content, error, action)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_content.py", line 128, in on_stanza
callback(stanza, content, error, action)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_ft.py", line 308, in __on_transport_info
self.__state_changed(State.CAND_SENT_AND_RECEIVED, args)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_ft.py", line 130, in __state_changed
st.action(args)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_ftstates.py", line 126, in action
self._recv_candidate(args)
File "/usr/lib/python3/dist-packages/gajim/common/jingle_ftstates.py", line 98, in _recv_candidate
streamhost_cid = content.getTag('transport').getTag('candidate-used').\
AttributeError: 'NoneType' object has no attribute 'getAttr'
```
## Steps to reproduce the problem
1. Send a file via Jingle to the recent nightly Psi which is connected to a jabber host with available proxy streamer
1. Accept the file on Psi side. It will send session-accept with just host candidate
1. When finished discovering proxy streamer it will send it via transport-info request
1. Gajim will send candidate-error immediatelly
## Expected behavior
No backtraces
## Actual behaviorhttps://dev.gajim.org/gajim/gajim/-/issues/9691Gajim does not send proxy activated to other clients2019-11-28T14:58:05ZPhilipp Höristphilipp@hoerist.comGajim does not send proxy activated to other clients## Versions
- Gajim version: 1.1.2
## Steps to reproduce the problem
1. Client sends something to Gajim
2. Gajims proxys is chosen
3. Gajim should send proxy activated to other Client## Versions
- Gajim version: 1.1.2
## Steps to reproduce the problem
1. Client sends something to Gajim
2. Gajims proxys is chosen
3. Gajim should send proxy activated to other Clienthttps://dev.gajim.org/gajim/gajim/-/issues/9686When attempting file transfer with remote client: "AttributeError: 'NoneType'...2019-05-18T09:42:54ZAlexandria P.When attempting file transfer with remote client: "AttributeError: 'NoneType' object has no attribute 'fileno'"## Versions
- OS: Arch Linux
- GTK+ Version: 3.24.8
- PyGObject Version: 3.32.0
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/nbxmpp/d...## Versions
- OS: Arch Linux
- GTK+ Version: 3.24.8
- PyGObject Version: 3.32.0
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/nbxmpp/dispatcher_nb.py", line 502, in dispatch
handler['func'](session, stanza)
File "/usr/lib/python3.7/site-packages/gajim/common/connection_handlers.py", line 599, in _PubkeyResultCB
jingle_xtls.handle_new_cert(con, iq_obj, jid_from)
File "/usr/lib/python3.7/site-packages/gajim/common/jingle_xtls.py", line 185, in handle_new_cert
approve_pending_content(id_)
File "/usr/lib/python3.7/site-packages/gajim/common/jingle_xtls.py", line 37, in approve_pending_content
cb(*args)
File "/usr/lib/python3.7/site-packages/gajim/common/jingle_ft.py", line 242, in continue_session_accept
receiving=False)
File "/usr/lib/python3.7/site-packages/gajim/common/socks5.py", line 170, in connect_to_hosts
self.add_sockobj(account, socks5obj)
File "/usr/lib/python3.7/site-packages/gajim/common/socks5.py", line 276, in add_sockobj
result = sockobj.connect()
File "/usr/lib/python3.7/site-packages/gajim/common/socks5.py", line 523, in connect
self.fd = self._sock.fileno()
AttributeError: 'NoneType' object has no attribute 'fileno'
```
## Steps to reproduce the problem
* Attempt transfer with friend.
* Friend and I are both behind NAT firewalls, using no special settings.
* It does not work, throwing an exception.
(I would expect that at the very least this exception would have been handled if it were intentional, so I assume it's a bug of some kind.)
It's notable that I am able to send files back and forth between my laptop and my phone just fine, connecting to my private remote server. (Although it might be important that both client devices are on the same local network. More testing is needed.)
Edit: I have just disconnected my phone from my local network, forcing it to connect over cell tower. File transfer both ways is still working. I had OMEMO enabled, so I disabled that to mimic the circumstances of the conversation with my friend... still could not replicate the problem I had with sharing files with his client. I assume there's something different about his firewall.
Edit 2: It should be noted that I am aware of the contents of [this page](https://dev.gajim.org/gajim/gajim/wikis/development/FileTransfer).
It turns out my port 7777 is working just fine after all (BTW, someone should fix that page, because the servers it lists don't seem to work for testing don't seem to work anymore), so I'm going to have to test my friend's network next. He's not going to be happy about having to open a terminal again. :stuck\_out\_tongue\_closed\_eyes:
Edit 3: Forgot to mention that the server in question is running Prosody.https://dev.gajim.org/gajim/gajim/-/issues/9651Direct file transfer is slow on Windows2020-06-08T05:49:41ZnorstboxDirect file transfer is slow on Windows1. Jingle FT (Gajim <-> Gajim) is almost unusable. Speed is very slow, 700 KB/s at best. Also intermittent unhandled exceptions occur.
2. SI FT (Gajim <-> Psi+) is slow, but stable: steady speed (about 3 MB/s) and no errors.
In the same...1. Jingle FT (Gajim <-> Gajim) is almost unusable. Speed is very slow, 700 KB/s at best. Also intermittent unhandled exceptions occur.
2. SI FT (Gajim <-> Psi+) is slow, but stable: steady speed (about 3 MB/s) and no errors.
In the same environment, SI FT (Psi+ <-> Psi+) speed limited only by physical interface (11 MB/s).
## Versions
- OS: Windows 8.1, 10
- Gajim version: 1.1.2
- GTK version: 3.24.1
- Python-nbxmpp version: 0.6.9https://dev.gajim.org/gajim/gajim/-/issues/9540Ideas / tasks for making Jingle audio calls great again2023-05-28T10:14:38ZOliIdeas / tasks for making Jingle audio calls great again### Documentation
* [ ] update https://dev.gajim.org/gajim/gajim/wikis/help/gajimfaq#general
* [ ] add wiki page about audio calls
### Codecs
* [x] ~~Add iLBC and GSM as low bandwidth fallbacks for older voip clients (?)~~
* [x] Add ~~A...### Documentation
* [ ] update https://dev.gajim.org/gajim/gajim/wikis/help/gajimfaq#general
* [ ] add wiki page about audio calls
### Codecs
* [x] ~~Add iLBC and GSM as low bandwidth fallbacks for older voip clients (?)~~
* [x] Add ~~AMR-WB and~~ AMR codecs.
* [ ] Figure out how to set the bit rate for Opus.
### DSP
* [x] Echo canceller
### UI
* [ ] Info about the used codec, bit rate and STUN
* [x] Some icons for calling / hang-up? 📞
* [ ] Preferences: setting for bit rate preferences / max bit rate. could be just a slider. codecs are disabled or reordered accordingly (don't forget rtp overhead).
* [ ] Preferences: `[x] Enable STUN auto discovery (recommended)`
### Connection
* [ ] STUN auto discovery.
### Testing
* [ ] Jitsi
* [ ] Some qxmpp client (telepathy-nonsense?)
* [ ] aTalk
* [ ] Monal
* [ ] Asterisk
* [ ] Sylkserver: Echo and Playback
* [ ] Jingle-SIP-Gateway. If that works, test SIP clients:
* [ ] Linphone
* [ ] Fritzbox
* [ ] native Android SIP client
* [ ] baresip
* [ ] PhonerLite
* [ ] MicroSIP
### Open questions
* Is it possible to use a TURN server with farstream?
* Are there any web clients that do support Jingle audio?
* Is ICE supported (XEP-0371)?https://dev.gajim.org/gajim/gajim/-/issues/9325Automatically accept files for specific contacts2021-12-06T08:40:21ZParstionAutomatically accept files for specific contactsPlease add the ability to automatically accept/download files to a folder choosen beforehand (to avoid the "save as" popup).Please add the ability to automatically accept/download files to a folder choosen beforehand (to avoid the "save as" popup).https://dev.gajim.org/gajim/gajim/-/issues/9073Error when sending/receiving filetransfer with jingle2019-05-18T09:51:17ZquctexError when sending/receiving filetransfer with jingle## Versions
- OS: Windows 7
- GTK+ Version: 3.22.28
- PyGObject Version: 3.28.1
- python-nbxmpp Version: 0.6.4
- Gajim Version: 1.0.1
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_r...## Versions
- OS: Windows 7
- GTK+ Version: 3.22.28
- PyGObject Version: 3.28.1
- python-nbxmpp Version: 0.6.4
- Gajim Version: 1.0.1
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.6/site-packages/nbxmpp/dispatcher_nb.py", line 498, in dispatch
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.6/site-packages/gajim/common/jingle.py", line 111, in _JingleCB
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.6/site-packages/gajim/common/jingle_session.py", line 353, in on_stanza
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.6/site-packages/gajim/common/jingle_session.py", line 593, in __broadcast
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.6/site-packages/gajim/common/jingle_content.py", line 123, in on_stanza
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.6/site-packages/gajim/common/jingle_ft.py", line 274, in __on_transport_info
AttributeError: 'NoneType' object has no attribute 'connections'
```
## Steps to reproduce the problem
1. Send an image from One account with Conversations on Android to Another account with Gagim.
2. Accept file transfer request
3. Wait few minutes Gajim trying do download file (File transfers window is opened and demonstrates 0,0%)
4. An error occur.
...https://dev.gajim.org/gajim/gajim/-/issues/8608Only consider a file transfer successful once the recipient has said so2019-05-18T09:52:51ZLink MauveOnly consider a file transfer successful once the recipient has said soCurrently, the green check mark will be set as soon as the last chunk of the file has been sent, despite for example the recipient having had an error. Gajim should only mark it as received once a <received/> session-info has been receiv...Currently, the green check mark will be set as soon as the last chunk of the file has been sent, despite for example the recipient having had an error. Gajim should only mark it as received once a <received/> session-info has been received, or after a <success/> session-terminate.https://dev.gajim.org/gajim/gajim/-/issues/8606Don’t answer the same iq twice when a Jingle payload is unknown2019-08-16T17:58:06ZLink MauveDon’t answer the same iq twice when a Jingle payload is unknownDuring a Jingle session, sending e.g. <iq><jingle><unknown/></jingle></iq> will make Gajim answer an empty iq result first, followed by a <feature-not-implemented/>, both answering the same iq.During a Jingle session, sending e.g. <iq><jingle><unknown/></jingle></iq> will make Gajim answer an empty iq result first, followed by a <feature-not-implemented/>, both answering the same iq.https://dev.gajim.org/gajim/gajim/-/issues/8554Gajim-to-itself file transfer fails if I don't change the file name2020-06-08T05:51:17ZsingpolymaGajim-to-itself file transfer fails if I don't change the file nameIf I have two accounts (with the same, local XMPP server, though that probably doesn't matter) in the same Gajim install both connected, and I try to file transfer from one to the other, it works if I change the filename before saving, b...If I have two accounts (with the same, local XMPP server, though that probably doesn't matter) in the same Gajim install both connected, and I try to file transfer from one to the other, it works if I change the filename before saving, but if I don't it just hangs and I see an error about out-of-order or unexpected stanzas in the XML console.
XML logs attached.
[log1.txt](/uploads/d78ae2ab66db48af03eb4472bc476525/log1.txt)
[log2.txt](/uploads/a3ce9804973ac4c61f729bb6a2643830/log2.txt)