python-nbxmpp issueshttps://dev.gajim.org/gajim/python-nbxmpp/-/issues2024-02-12T21:47:12Zhttps://dev.gajim.org/gajim/python-nbxmpp/-/issues/154MUC subject should not update if there is a <thread/>2024-02-12T21:47:12ZsingpolymaMUC subject should not update if there is a <thread/>Thus saith the xep:
```
Note: A message with a <subject/> and a <body/> or a <subject/> and a <thread/> is a legitimate message, but it SHALL NOT be interpreted as a subject change.
```Thus saith the xep:
```
Note: A message with a <subject/> and a <body/> or a <subject/> and a <thread/> is a legitimate message, but it SHALL NOT be interpreted as a subject change.
```https://dev.gajim.org/gajim/python-nbxmpp/-/issues/152AttributeError: 'TcpConnection' object has no attribute 'get_base_io_stream'2023-10-22T09:42:16ZDaniel BrötzmannAttributeError: 'TcpConnection' object has no attribute 'get_base_io_stream'# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4536174894
- First seen:
2023-10-09T15:57:19+00:00
- Last seen: 2023-10-09T15:57:19+00:00
- Event: 1
- Users: 0# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4536174894
- First seen:
2023-10-09T15:57:19+00:00
- Last seen: 2023-10-09T15:57:19+00:00
- Event: 1
- Users: 0https://dev.gajim.org/gajim/python-nbxmpp/-/issues/151Participant not shown in private MUC even though present2023-08-28T15:50:29ZsingpolymaParticipant not shown in private MUC even though presentWe have a participant in our private MUC which has a JID that is a bare domain (but a fairly ordinary nick, nick is `sgx-jmp` JID is `jmp.chat`) this participant shows fine in other clients, but not in Gajim. This is true in Gajim 1.7.2...We have a participant in our private MUC which has a JID that is a bare domain (but a fairly ordinary nick, nick is `sgx-jmp` JID is `jmp.chat`) this participant shows fine in other clients, but not in Gajim. This is true in Gajim 1.7.2 and also in 1.8.1 nightly.
Messages from this participant appear when they are delivered live, even though they are not in participants list, but when re-connecting to the room and doing MAM sync messages from this participant do not show up in Gajim.https://dev.gajim.org/gajim/python-nbxmpp/-/issues/150Regular MUC members can't change a room's subject when hosted on prosody, des...2023-08-13T08:46:41Zlis sineRegular MUC members can't change a room's subject when hosted on prosody, despite having the proper permission## Versions
- OS: Void Linux
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.0
## Steps to reproduce the problem
1. Log in to Gajim with an account that's a `Member` in a prosody-hosted group chat (...## Versions
- OS: Void Linux
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.0
## Steps to reproduce the problem
1. Log in to Gajim with an account that's a `Member` in a prosody-hosted group chat (or with no affiliation in a public channel)
2. Make sure the Owner Has set `Allow anyone to set the room's subject` to enabled
(that's the default for newly created rooms using Gajim)
3. Try to change the room's subject (using the Member/no affiliation account)
## Expected behavior
I'm able to change the room's subject
## Actual behavior
The text field for changing the room's subject is greyed-out
## More information
If I use dino, I'm able to change the subject using /topic
(and I'm not able to do so, if the permission is set to Owners/Admins only)
So, Gajim is able to correctly update the `Allow anyone to set the room's subject` field in the MUC settings (stored server-side), but for some reason Gajim isn't able to act on its value.
Note that everything works correctly when the MUC is hosted on an ejabberd server.
This might be unrelated, but I captured logs when changing the `Allow anyone to set the room's subject` from disabled to enabled, once using ejabberd (messaging.one) and once using prosody (jabbers.one)
I attached the full logs as well as summarized versions showing only the relevant lines.
[jabbers.one](/uploads/f677c6cb7857cbf3544f86f48b49cfb8/jabbers.one)
[jabbers.one_summary](/uploads/f8cba2aa1c5c7e776468aa410cc543c8/jabbers.one_summary)
[messaging.one](/uploads/0c3fb23f20044d68ec02525532d01b20/messaging.one)
[messaging.one_summary](/uploads/1dee4147cda3d100e2d6171f504f7201/messaging.one_summary)
P.S: Prosody's devs told me that the absence of a `value` tag implies a value of false.
P.P.S: unrelated to the bug, but when opening a room's settings in Gajim's UI, two identical copies of the following stanza are sent at roughly the same time (but with different id's)
```xml
<!-- Outgoing Fri 11 Aug 2023 03:32:01 PM CET (lissine@messaging.one) -->
<iq xmlns="jabber:client" to="mohegax@conference.messaging.one" type="get" id="fa15badb-8a2f-4d95-bb7a-3bde7f8f824a">
<query xmlns="http://jabber.org/protocol/muc#owner" />
</iq>
```
The iq results are obviously the same.
Unless this is intended behavior, the redundant stanza should probably be removed.https://dev.gajim.org/gajim/python-nbxmpp/-/issues/144Gajim became unresponsive on error2023-12-22T11:06:23Zdiode24Gajim became unresponsive on error## Versions:
- Gajim Version: 1.7.3+e3366360fa64
- GTK Version: 3.24.37
- GLib Version: 2.76.0
- Pango Version: 1.50.12
- PyGObject Version: 3.44.1
- cairo Version: 1.16.0
- pycairo Version: 1.20.1
- python-nbxmpp Version: 4.2.2
- libsou...## Versions:
- Gajim Version: 1.7.3+e3366360fa64
- GTK Version: 3.24.37
- GLib Version: 2.76.0
- Pango Version: 1.50.12
- PyGObject Version: 3.44.1
- cairo Version: 1.16.0
- pycairo Version: 1.20.1
- python-nbxmpp Version: 4.2.2
- libsoup Version: 3.4.0
## Description:
Gajim suddenly became unresponsive and would not exit with tray icon menu. I have image previews enabled. I have multiple of this error in my logs "Stream has outstanding operation". The included log excerpt is from the very end of the log.
## Debug log output:
```
05/20/2023 14:44:02 (I) nbxmpp.stream | (gajim.org) Start ping timer
05/20/2023 14:44:02 (I) nbxmpp.http | Request(140457406164864): Finished reading
05/20/2023 14:44:02 (I) nbxmpp.http | Request(140457406164864): Set Failed: 4
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 441, in _on_got_body_data
self._check_content_overflow()
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 459, in _check_content_overflow
self._finish_read(HTTPRequestError.CONTENT_OVERFLOW)
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 397, in _finish_read
self._set_failed(error)
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 507, in _set_failed
self._close_all_streams()
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 533, in _close_all_streams
input_stream.close(None)
gi.repository.GLib.GError: g-io-error-quark: Stream has outstanding operation (20)
05/20/2023 14:44:02 (I) nbxmpp.http | Request(140457406164864): Finished reading
05/20/2023 14:44:02 (I) nbxmpp.http | Request(140457406164864): Set Failed: 4
05/20/2023 14:44:02 (W) gajim.c.preview | Download failed: https://draugr.de/upload/00f530bb49b4e1685114d28f8bb6fb44b2fcbc2f/NTJyLpJBAPuN3fi6SPHbraBTi4wrCYXAsxtr2W2W/CkHnbZuWYAAkRD3.jpeg - <HTTPRequestError.CONTENT_OVERFLOW: 4>
05/20/2023 14:44:02 (I) nbxmpp.http | Request(140457406164864): Run cleanup
```https://dev.gajim.org/gajim/python-nbxmpp/-/issues/143Downloading preview in MUC: HTTPRequestError.CONTENT_OVERFLOW: 42023-05-21T10:17:40ZmesoniumDownloading preview in MUC: HTTPRequestError.CONTENT_OVERFLOW: 4## Versions
- OS: openSUSE TW
- Gajim version: 1.7.3+gajim@e145689e3317da0a020d3fded830ede894574b6a
- GTK version: 3.24.38
- Python-nbxmpp version: 4.2.2
## Steps to reproduce the problem
1. In the public _Linux & FLOSS_ MUC...## Versions
- OS: openSUSE TW
- Gajim version: 1.7.3+gajim@e145689e3317da0a020d3fded830ede894574b6a
- GTK version: 3.24.38
- Python-nbxmpp version: 4.2.2
## Steps to reproduce the problem
1. In the public _Linux & FLOSS_ MUC someone* shared an XML file
2. Click on "Download"
* simon on May 16, 09:01 am (UTC)
## Actual behavior
Gajim fails to download the image. The log says
```
05/16/2023 21:31:15 (I) gajim.c.preview Start downloading: https://upload.wiuwiu.de/share.php/817f5e65-7f3a-47cd-b1e2-9fb87651c4d8/google.com%21meinedomain.de%211684108800%211684195199.xml
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Created
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Request sent, method: GET, uri: https://upload.wiuwiu.de/share.php/817f5e65-7f3a-47cd-b1e2-9fb87651c4d8/google.com%21meinedomain.de%211684108800%211684195199.xml
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Sniffed: content-type: application/xml, content-length: 609
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Request response received
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Start downloading response body
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Finished reading
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Set Failed: 4
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Message finished
05/16/2023 21:31:15 (W) gajim.c.preview Download failed: https://upload.wiuwiu.de/share.php/817f5e65-7f3a-47cd-b1e2-9fb87651c4d8/google.com%21meinedomain.de%211684108800%211684195199.xml - <HTTPRequestError.CONTENT_OVERFLOW: 4>
05/16/2023 21:31:15 (I) nbxmpp.http Request(140015253475456): Run cleanup
```
Downloading works fine with Conversations. The issue was reproducible in Gajim with 1.7.2 and git master.https://dev.gajim.org/gajim/python-nbxmpp/-/issues/142failure to download svg files2023-03-26T08:44:40Zdiode24failure to download svg files- Gajim 1.7.2 gajim-nightly
- python-nbxmpp Version: 4.2.1
# Description
Gajim does not preview svg files.
# Steps to reproduce
1. turn on file previews
2. post a link to a svg file in a muc, such as https://upload.wikimedia.org/wikipe...- Gajim 1.7.2 gajim-nightly
- python-nbxmpp Version: 4.2.1
# Description
Gajim does not preview svg files.
# Steps to reproduce
1. turn on file previews
2. post a link to a svg file in a muc, such as https://upload.wikimedia.org/wikipedia/commons/3/3f/Wikipedia_svg_logo-ca.svg
# What happens
No preview is shown.
From the debug log:
```
03/26/2023 05:30:10 (I) nbxmpp.http | Request(): Sniffed: content-type: image/svg+xml, content-length: 56669
03/26/2023 05:30:10 (I) nbxmpp.http | Request(): Request response received
03/26/2023 05:30:10 (I) nbxmpp.http | Request(): Start downloading response body
03/26/2023 05:30:10 (D) gajim.gtk.conversation_view| emit autoscroll-changed, (True,)
03/26/2023 05:30:10 (I) nbxmpp.http | Request(): Finished reading
03/26/2023 05:30:10 (I) nbxmpp.http | Request(): Set Failed: HTTPRequestError.CONTENT_OVERFLOW
03/26/2023 05:30:11 (W) gajim.c.preview | Download failed: https://upload.wikimedia.org/wikipedia/commons/3/3f/Wikipedia_svg_logo-ca.svg - <HTTPRequestError.CONTENT_OVERFLOW: 4>
03/26/2023 05:30:11 (I) nbxmpp.http | Request(): Run cleanup
```https://dev.gajim.org/gajim/python-nbxmpp/-/issues/141nbxmpp/http Error message thrown on startup.2023-12-22T11:06:23ZNoXPhasmanbxmpp/http Error message thrown on startup.## Versions:
- OS: Arch Linux rolling (n/a)
- GTK Version: 3.24.37
- PyGObject Version: 3.44.1
- GLib Version : 2.76.1
- python-nbxmpp Version: 4.2.1
- Gajim Version: 1.7.1
## Traceback
```
Traceback (most recent call last):
File "/us...## Versions:
- OS: Arch Linux rolling (n/a)
- GTK Version: 3.24.37
- PyGObject Version: 3.44.1
- GLib Version : 2.76.1
- python-nbxmpp Version: 4.2.1
- Gajim Version: 1.7.1
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 327, in _on_response
self._set_failed(HTTPRequestError.STATUS_NOT_OK)
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 475, in _set_failed
self._cleanup()
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 511, in _cleanup
del self._cancellable
AttributeError: _cancellable
```
Debug logfile: [debug.log](/uploads/f6e93916aba314fdf12fdbe4a5108d7a/debug.log)
## Steps to reproduce the problem
Start Gajimhttps://dev.gajim.org/gajim/python-nbxmpp/-/issues/140Gajim never succeed to log in since last upgrade2023-03-20T14:31:16ZÉtienne DeparisGajim never succeed to log in since last upgrade## Versions:
- OS: Arch Linux
- GTK Version: 3.24.37
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 4.2.0
- Gajim Version: 1.7.1
## Traceback
First and second error popup (same content):
```
Traceback (mo...## Versions:
- OS: Arch Linux
- GTK Version: 3.24.37
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 4.2.0
- Gajim Version: 1.7.1
## Traceback
First and second error popup (same content):
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 463, in _on_finished
self._set_complete()
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 481, in _set_complete
self._close_all_streams()
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 488, in _close_all_streams
self._input_stream.close(None)
gi.repository.GLib.GError: g-io-error-quark: Le flux a une opération en cours (20)
```
Third error popup (probably due to the two first ones?):
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 303, in _on_timeout
self.cancel()
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 175, in cancel
raise ValueError('Session already finished')
ValueError: Session already finished
```
## Steps to reproduce the problem
Open gajim. Three error popups are stacked. Their content is reported above. Then gajim seems stuck in "connecting…" status (and never succeed to connect to my xmpp server).
I don’t know if it can be of any help, but looking at the "features" popup, I have all necessary dependencies installed but "gupnpigd-1.0". On my system, the only related package I found (installed or available) is gupnp-igd 1.2.0. It seems to be there from a long time…
Rollbacking both gajim and python-nbxmpp does not help :/https://dev.gajim.org/gajim/python-nbxmpp/-/issues/139libsoup3 update to 3.4.0-1 breaks nbxmpp/http.py2023-03-20T14:31:16ZAndrewlibsoup3 update to 3.4.0-1 breaks nbxmpp/http.py## Versions:
- OS: EndeavourOS rolling (rolling)
- GTK Version: 3.24.37
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 4.2.0
- Gajim Version: 1.7.2
## Traceback
```
Traceback (most recent call last):
File...## Versions:
- OS: EndeavourOS rolling (rolling)
- GTK Version: 3.24.37
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 4.2.0
- Gajim Version: 1.7.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 303, in _on_timeout
self.cancel()
File "/usr/lib/python3.10/site-packages/nbxmpp/http.py", line 175, in cancel
raise ValueError('Session already finished')
ValueError: Session already finished
```
## Steps to reproduce the problem
simply start gajimhttps://dev.gajim.org/gajim/python-nbxmpp/-/issues/138Implement XEP-0424 Message Retraction2023-03-02T13:36:05ZDaniel BrötzmannImplement XEP-0424 Message Retraction[XEP-0424 Message Retraction](https://xmpp.org/extensions/xep-0424.html)
Before implementing, some changes are on their way: https://github.com/xsf/xeps/pull/1270[XEP-0424 Message Retraction](https://xmpp.org/extensions/xep-0424.html)
Before implementing, some changes are on their way: https://github.com/xsf/xeps/pull/1270https://dev.gajim.org/gajim/python-nbxmpp/-/issues/137Update XEP-0425 Message Moderation implementation2024-03-19T05:37:40ZDaniel BrötzmannUpdate XEP-0425 Message Moderation implementationChanges are planned here: https://github.com/xsf/xeps/pull/1271Changes are planned here: https://github.com/xsf/xeps/pull/1271https://dev.gajim.org/gajim/python-nbxmpp/-/issues/136file preview error on invalid link to pdf2023-01-17T15:47:03Zdiode24file preview error on invalid link to pdf## Versions:
- OS: Ubuntu 22.04.1 LTS 22.04 (jammy)
- GTK Version: 3.24.33
- PyGObject Version: 3.42.1
- GLib Version : 2.71.3
- python-nbxmpp Version: 4.0.0
- Gajim Version: 1.6.0
## Traceback
```
Traceback (most recent call last):
F...## Versions:
- OS: Ubuntu 22.04.1 LTS 22.04 (jammy)
- GTK Version: 3.24.33
- PyGObject Version: 3.42.1
- GLib Version : 2.71.3
- python-nbxmpp Version: 4.0.0
- Gajim Version: 1.6.0
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 312, in _on_response
self._input_stream = session.send_finish(result)
gi.repository.GLib.GError: g-io-error-quark: Operation was cancelled (19)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 316, in _on_response
self._set_failed(HTTPRequestError.CANCELLED)
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 464, in _set_failed
self._cleanup()
File "/usr/lib/python3/dist-packages/nbxmpp/http.py", line 489, in _cleanup
del self._cancellable
AttributeError: _cancellable
```
## Steps to reproduce the problem
1. enable file preview
2. post link to a pdf from archive.org with date removed from URL
original link:
`https://web.archive.org/web/20081001170454/https://www.adobe.com/devnet/acrobat/pdfs/pdf_reference_1-7.pdf`
posted link has date removed:
`https://web.archive.org/web/https://www.adobe.com/devnet/acrobat/pdfs/pdf_reference_1-7.pdf`https://dev.gajim.org/gajim/python-nbxmpp/-/issues/135GError: g-tls-error-quark: TLS connection closed unexpectedly (6)2024-03-16T09:34:53ZJorge GomezGError: g-tls-error-quark: TLS connection closed unexpectedly (6)## Versions:
- OS: Linux 6.0.12
- GTK Version: 3.24.30
- PyGObject Version: 3.40.1
- GLib Version : 2.70.2
- python-nbxmpp Version: 3.1.0
- Gajim Version: 1.4.6
## Traceback
```
Traceback (most recent call last):
File "/gnu/store/lsfw...## Versions:
- OS: Linux 6.0.12
- GTK Version: 3.24.30
- PyGObject Version: 3.40.1
- GLib Version : 2.70.2
- python-nbxmpp Version: 3.1.0
- Gajim Version: 1.4.6
## Traceback
```
Traceback (most recent call last):
File "/gnu/store/lsfwppir7mgkn4xacw7af19y0xwhsg84-python-nbxmpp-3.1.0/lib/python3.9/site-packages/nbxmpp/tcp.py", line 197, in _on_read_async_finish
data = stream.read_bytes_finish(result)
gi.repository.GLib.GError: g-tls-error-quark: TLS connection closed unexpectedly (6)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/gnu/store/lsfwppir7mgkn4xacw7af19y0xwhsg84-python-nbxmpp-3.1.0/lib/python3.9/site-packages/nbxmpp/tcp.py", line 213, in _on_read_async_finish
self._finalize('disconnected')
File "/gnu/store/lsfwppir7mgkn4xacw7af19y0xwhsg84-python-nbxmpp-3.1.0/lib/python3.9/site-packages/nbxmpp/tcp.py", line 383, in _finalize
self.notify(signal_name)
File "/gnu/store/lsfwppir7mgkn4xacw7af19y0xwhsg84-python-nbxmpp-3.1.0/lib/python3.9/site-packages/nbxmpp/util.py", line 428, in notify
func(self, signal_name, *args, **kwargs)
File "/gnu/store/lsfwppir7mgkn4xacw7af19y0xwhsg84-python-nbxmpp-3.1.0/lib/python3.9/site-packages/nbxmpp/client.py", line 472, in _on_disconnected
self.notify('disconnected')
File "/gnu/store/lsfwppir7mgkn4xacw7af19y0xwhsg84-python-nbxmpp-3.1.0/lib/python3.9/site-packages/nbxmpp/util.py", line 428, in notify
func(self, signal_name, *args, **kwargs)
File "/gnu/store/ss8z4dgh3zpylai67yc99dngd87bj0kf-gajim-1.4.6/lib/python3.9/site-packages/gajim/common/client.py", line 300, in _on_disconnected
self.notify('state-changed', SimpleClientState.DISCONNECTED)
File "/gnu/store/ss8z4dgh3zpylai67yc99dngd87bj0kf-gajim-1.4.6/lib/python3.9/site-packages/gajim/common/helpers.py", line 1268, in notify
func(self, signal_name, *args, **kwargs)
File "/gnu/store/ss8z4dgh3zpylai67yc99dngd87bj0kf-gajim-1.4.6/lib/python3.9/site-packages/gajim/common/modules/muc.py", line 962, in _on_client_state_changed
self._reset_state()
File "/gnu/store/ss8z4dgh3zpylai67yc99dngd87bj0kf-gajim-1.4.6/lib/python3.9/site-packages/gajim/common/modules/muc.py", line 219, in _reset_state
room.set_not_joined()
AttributeError: 'BareContact' object has no attribute 'set_not_joined'
```
## Steps to reproduce the problem
...https://dev.gajim.org/gajim/python-nbxmpp/-/issues/133Implement XEP-0410: MUC Self-Ping (Schrödinger's Chat)2023-02-22T11:11:22ZDaniel BrötzmannImplement XEP-0410: MUC Self-Ping (Schrödinger's Chat)From [XEP-0410: MUC Self-Ping (Schrödinger's Chat)](https://xmpp.org/extensions/xep-0410.html):
> The Multi-User Chat (XEP-0045) protocol was not designed to handle s2s interruptions or message loss well. Rather often, the restart of a ...From [XEP-0410: MUC Self-Ping (Schrödinger's Chat)](https://xmpp.org/extensions/xep-0410.html):
> The Multi-User Chat (XEP-0045) protocol was not designed to handle s2s interruptions or message loss well. Rather often, the restart of a server or a component causes a client to believe that it is still joined to a given chatroom, while the chatroom service does not know of this occupant.
> This specification aims to provide the most efficient, albeit not the most elegant, way for clients to periodically check whether they are still joined to a chatroom. However, it can not ensure that a client remains joined to a room without any interruptions.https://dev.gajim.org/gajim/python-nbxmpp/-/issues/132xmpp-websocket: Missing User-Agent field2023-12-22T11:06:23Zcr04chxmpp-websocket: Missing User-Agent field## Versions
- OS: Debian GNU/Linux bookworm/sid
- Gajim version: 1.5.2
- GTK version: 3.24.34
- Python-nbxmpp version: 3.2.4
There is no User-Agent field in the request sent by Gajim when trying to establish a websocket connect...## Versions
- OS: Debian GNU/Linux bookworm/sid
- Gajim version: 1.5.2
- GTK version: 3.24.34
- Python-nbxmpp version: 3.2.4
There is no User-Agent field in the request sent by Gajim when trying to establish a websocket connection.https://dev.gajim.org/gajim/python-nbxmpp/-/issues/131anonymous login account status stuck at "connecting"2022-10-17T21:38:31Zdiode24anonymous login account status stuck at "connecting"From the debug log:
```
(I) nbxmpp.connection | (localhost12) Signal: data-received
(I) nbxmpp.dispatcher | (localhost12) Signal: before-dispatch
(I) nbxmpp.stream | (localhost12) Sign...From the debug log:
```
(I) nbxmpp.connection | (localhost12) Signal: data-received
(I) nbxmpp.dispatcher | (localhost12) Signal: before-dispatch
(I) nbxmpp.stream | (localhost12) Signal: stanza-received
(D) gajim.c.ged | Raise event: stanza-received
(I) nbxmpp.stream | (localhost12) Execute state machine
(I) nbxmpp.stream | (localhost12) Set state: StreamState.WAIT_FOR_FEATURES
(I) nbxmpp.dispatcher | (localhost12) Signal: before-dispatch
(I) nbxmpp.stream | (localhost12) Signal: stanza-received
(D) gajim.c.ged | Raise event: stanza-received
(I) nbxmpp.stream | (localhost12) Execute state machine
(I) nbxmpp.stream | (localhost12) Set state: StreamState.PROCEED_WITH_AUTH
(I) nbxmpp.sasl | (localhost12) Available mechanisms: {'ANONYMOUS'}
(I) nbxmpp.sasl | (localhost12) Chosen auth mechanism: ANONYMOUS
(E) nbxmpp.connection | (localhost12) Error while executing data-received:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/tcp.py", line 280, in _on_read_async_finish
self.notify('data-received', data)
File "/usr/lib/python3/dist-packages/nbxmpp/util.py", line 436, in notify
func(self, signal_name, *args, **kwargs)
File "/usr/lib/python3/dist-packages/nbxmpp/client.py", line 556, in _on_data_received
self._dispatcher.process_data(data)
File "/usr/lib/python3/dist-packages/nbxmpp/dispatcher.py", line 243, in process_data
self._parser.Parse(data)
File "../Modules/pyexpat.c", line 468, in EndElement
File "/usr/lib/python3/dist-packages/nbxmpp/simplexml.py", line 739, in endtag
self.dispatch(self._mini_dom)
File "/usr/lib/python3/dist-packages/nbxmpp/dispatcher.py", line 354, in dispatch
self._dispatch_callback(stanza)
File "/usr/lib/python3/dist-packages/nbxmpp/client.py", line 671, in _xmpp_state_machine
self._on_stream_features(Features(stanza))
File "/usr/lib/python3/dist-packages/nbxmpp/client.py", line 768, in _on_stream_features
self._start_auth(features)
File "/usr/lib/python3/dist-packages/nbxmpp/client.py", line 806, in _start_auth
self._sasl.start_auth(features)
File "/usr/lib/python3/dist-packages/nbxmpp/sasl.py", line 157, in start_auth
mech_class = self._mechanism_classes[chosen_mechanism]
KeyError: 'ANONYMOUS'
(I) gajim.c.settings | Commit
(I) gajim.p.repository | Refresh index
(I) gajim.p.repository | Refresh successful
(I) nbxmpp.connection | (localhost12) Send keepalive
(I) nbxmpp.connection | (localhost12) ::::: DATA SENT ::::
```
I setup a local prosody server and followed https://prosody.im/doc/anonymous_loginshttps://dev.gajim.org/gajim/python-nbxmpp/-/issues/130gajim takes over 60 seconds to connect when no web server listening2022-10-26T11:45:31Zdiode24gajim takes over 60 seconds to connect when no web server listening## Description
I discovered that when an xmpp server is being run without a web server, gajim consistently takes over 60 seconds to connect. This seems unreasonably long. After studying gajim's debug output, I noticed that connecting to ...## Description
I discovered that when an xmpp server is being run without a web server, gajim consistently takes over 60 seconds to connect. This seems unreasonably long. After studying gajim's debug output, I noticed that connecting to my server caused the output:
`(I) nbxmpp.addresses | Failed to retrieve host-meta file: 7 Could not connect: Socket I/O timed out`
Connecting to other servers produced a different line instead:
`(I) nbxmpp.addresses | Failed to retrieve host-meta file: 404 Not Found`
So, I started up nginx on the server and both gajim started connecting quickly, and my gajim debug started showing the 404 line. Looking at my nginx access.log, I see:
`"GET /.well-known/host-meta HTTP/1.1" 404 134 "-" "nbxmpp/3.1.1"`
I believe this is covered by https://xmpp.org/extensions/xep-0156.html
What happens is gajim is performing this request for /.well-known/host-meta on port 443. If there is a web server listening and the resource does not exist, the server replies with a 404 and gajim moves to the next step in the connection process. If there is no web server response, gajim waits 60 seconds to timeout, then moves to the next step in the connection process.
I don't recall seeing any mention of the need for a running web server in any xmpp server documentation. I'm not sure what the proper fix is for this, but this seems like an unacceptably long wait time. Also, I'd like to prevent someone else from spending hours figuring out what is going on like I did, or even someone just living with it.
## Steps to reproduce
1. run xmpp server - prosody in this case - with no web server listening on port 443
2. attempt to connect to server with gajim, either for account creation or after an account is configured
## Expected behavior
Gajim connects in about 10 seconds or less
## Actual behavior
Gajim takes about 66 seconds to connecthttps://dev.gajim.org/gajim/python-nbxmpp/-/issues/129python-nbxmpp to nbxmpp2022-07-29T12:20:29ZNeustradamuspython-nbxmpp to nbxmppHello the team,
Have you planned to rename this repository?
- python-nbxmpp -> nbxmpp
Thanks in advance.Hello the team,
Have you planned to rename this repository?
- python-nbxmpp -> nbxmpp
Thanks in advance.https://dev.gajim.org/gajim/python-nbxmpp/-/issues/128RFC 9266: Channel Bindings for TLS 1.3 support2023-11-14T20:10:22ZNeustradamusRFC 9266: Channel Bindings for TLS 1.3 supportCan you add the support of RFC 9266: Channel Bindings for TLS 1.3?
- https://datatracker.ietf.org/doc/html/rfc9266
Little details, to know easily:
- tls-unique for TLS =< 1.2
- tls-server-end-point
- tls-exporter for TLS = 1.3
Thanks i...Can you add the support of RFC 9266: Channel Bindings for TLS 1.3?
- https://datatracker.ietf.org/doc/html/rfc9266
Little details, to know easily:
- tls-unique for TLS =< 1.2
- tls-server-end-point
- tls-exporter for TLS = 1.3
Thanks in advance.
Linked to:
- https://dev.gajim.org/search?group_id=6&project_id=11&scope=blobs&search=tls-unique