gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2023-10-22T07:37:04Zhttps://dev.gajim.org/gajim/gajim/-/issues/9143Show additional chatstates in MUCs2023-10-22T07:37:04ZAndrey GurskyShow additional chatstates in MUCsJabber clients send chatstate changes like "composing" also in MUCs. Do not ignore them.
Besides of a trivial solution showing them like joined/left events, the last line could be reserved for such status messages. Since more than one c...Jabber clients send chatstate changes like "composing" also in MUCs. Do not ignore them.
Besides of a trivial solution showing them like joined/left events, the last line could be reserved for such status messages. Since more than one can be in "composing" state, it would be better to combine jids together and display "composing" only once.1.8.2https://dev.gajim.org/gajim/gajim/-/issues/11048Delay element of carbon message is ignored2023-10-19T04:47:28ZNicocoDelay element of carbon message is ignored## Versions
- Gajim version: 1.4.6
## Steps to reproduce the problem
1. Receive a carbon with a delay element, eg:
```xml
<message xmlns="jabber:client" from="test@localhost" type="chat" to="test@localhost/gajim.YZFE1D2Z">
<s...## Versions
- Gajim version: 1.4.6
## Steps to reproduce the problem
1. Receive a carbon with a delay element, eg:
```xml
<message xmlns="jabber:client" from="test@localhost" type="chat" to="test@localhost/gajim.YZFE1D2Z">
<sent xmlns="urn:xmpp:carbons:2">
<forwarded xmlns="urn:xmpp:forward:0">
<message xmlns="jabber:client" to="xxxxxxx@hackernews.localhost" type="chat" from="test@localhost/slidge">
<body>xxxxxxxxxx</body>
<delay xmlns="urn:xmpp:delay" stamp="2022-07-15T22:25:43+00:00" />
</message>
</forwarded>
</sent>
</message>
```
## Expected behavior
Gajim should use the delay and place the carboned message in the chat view accordingly.
## Actual behavior
The carbon appears as if it had no delay information associated, ie, as if the message was just posted now.
Maybe there is something wrong that I missed with the stanza, but FWIW dino handles it well.https://dev.gajim.org/gajim/gajim/-/issues/11646AttributeError: 'TcpConnection' object has no attribute 'get_base_io_stream'2023-10-17T16:10:41ZDaniel 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/gajim/-/issues/11645KeyError: 'المستخدم'2023-10-17T15:40:58ZDaniel BrötzmannKeyError: 'المستخدم'# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4468674559
- First seen:
2023-09-11T06:21:27+00:00
- Last seen: 2023-09-21T06:56:57+00:00
- Events: 8
- Users: 0# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4468674559
- First seen:
2023-09-11T06:21:27+00:00
- Last seen: 2023-09-21T06:56:57+00:00
- Events: 8
- Users: 0https://dev.gajim.org/gajim/gajim/-/issues/11608nbxmpp client is not configured when reconnecting from SSLErrorDialog2023-10-17T14:03:58Zbob 131nbxmpp client is not configured when reconnecting from SSLErrorDialog## Versions
- OS: Fedora
- Gajim version: Current master (3acc01e2b8adb425a4eab11f73b093f56810eeb5)
- GTK version: gtk3-3.24.38-1.fc38.x86_64
- Python-nbxmpp version: Current master (92dc358)
## Steps to reproduce the problem
...## Versions
- OS: Fedora
- Gajim version: Current master (3acc01e2b8adb425a4eab11f73b093f56810eeb5)
- GTK version: gtk3-3.24.38-1.fc38.x86_64
- Python-nbxmpp version: Current master (92dc358)
## Steps to reproduce the problem
1. Attempt to connect to a server with an expired certificate
1. Click the red "Connect" button on the resulting error dialog to continue
## Expected behavior
The connection is retried using the appropriate password, proxy, SASL etc settings.
## Actual behavior
Gajim attempts to connect directly (ignoring the configured proxy) and fails with a password prompt when challenged by the server for credentials.
When the connection fails with domain `StreamError.BAD_CERTIFICATE`, Gajim tears down the current nbxmpp client instance (see [`client.py:288`](https://dev.gajim.org/gajim/gajim/-/blob/3acc01e2b8adb425a4eab11f73b093f56810eeb5/gajim/common/client.py#L288), [`:298`](https://dev.gajim.org/gajim/gajim/-/blob/3acc01e2b8adb425a4eab11f73b093f56810eeb5/gajim/common/client.py#L298)). Clicking the "Connect" button in the resulting `SSLErrorDialog` results in a call to `Client.connect` without the new nbxmpp client instance being configured by [`Client._prepare_for_connect()`](https://dev.gajim.org/gajim/gajim/-/blob/3acc01e2b8adb425a4eab11f73b093f56810eeb5/gajim/common/client.py#L524) (see [`ssl_error_dialog.py:97`](https://dev.gajim.org/gajim/gajim/-/blob/3acc01e2b8adb425a4eab11f73b093f56810eeb5/gajim/gtk/ssl_error_dialog.py#L97)).
This has the annoying result of getting stuck in a TLS error/password prompt loop, and the more alarming result of things like the configured Tor proxy settings being ignored in favour of a direct connection.
The following rough patch fixes the problem, although it's mainly meant to be illustrative:
```diff
diff --git a/gajim/common/client.py b/gajim/common/client.py
index 0cb217425..70da7bcd7 100644
--- a/gajim/common/client.py
+++ b/gajim/common/client.py
@@ -521,7 +521,7 @@ def _send_message(self, message: OutgoingMessage) -> None:
msg_log_id=log_line_id,
play_sound=message.play_sound))
- def _prepare_for_connect(self) -> None:
+ def _prepare_for_connect(self, ignored_tls_errors: IgnoredTlsErrorsT = None) -> None:
custom_host = get_custom_host(self._account)
if custom_host is not None:
self._client.set_custom_host(*custom_host)
@@ -547,7 +547,7 @@ def _prepare_for_connect(self) -> None:
password = passwords.get_password(self._account)
self._client.set_password(password)
- self.connect()
+ self.connect(ignored_tls_errors=ignored_tls_errors)
def connect(self, ignored_tls_errors: IgnoredTlsErrorsT = None) -> None:
if self._state not in (ClientState.DISCONNECTED,
diff --git a/gajim/gtk/ssl_error_dialog.py b/gajim/gtk/ssl_error_dialog.py
index 04b6366c3..6643d94b4 100644
--- a/gajim/gtk/ssl_error_dialog.py
+++ b/gajim/gtk/ssl_error_dialog.py
@@ -94,4 +94,4 @@ def _on_connect_clicked(self, _button: Gtk.Button) -> None:
self._ignored_errors.add(Gio.TlsCertificateFlags.EXPIRED)
self.destroy()
- self._client.connect(ignored_tls_errors=self._ignored_errors)
+ self._client._prepare_for_connect(ignored_tls_errors=self._ignored_errors)
```1.8.2https://dev.gajim.org/gajim/gajim/-/issues/11636Error when accepting sub request while offline2023-10-15T19:18:31ZPhilipp Höristphilipp@hoerist.comError when accepting sub request while offlineI think this error happens, when we are offline, but still have a sub request open and we click accept.
I dont think we considered the case, or do anything with the requests when we go offline.
```python
TypeError: 'NoneType' object is...I think this error happens, when we are offline, but still have a sub request open and we click accept.
I dont think we considered the case, or do anything with the requests when we go offline.
```python
TypeError: 'NoneType' object is not callable
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.11/site-packages/gajim/gtk/notification_manager.py", line 139, in _on_subscription_accept
```https://dev.gajim.org/gajim/gajim/-/issues/10701[preview] Use the Open Graph Protocol (OGP) to generate website previews2023-10-15T19:16:31Zpg mr[preview] Use the Open Graph Protocol (OGP) to generate website previews## Description of the new feature
The Open Graph protocol could be used to generate a short website preview. An example from Discord can be seen below:
![Screenshot_20210508_235713](/uploads/0c5d2aa7e8ab299378d41e62f899f537/Screenshot_...## Description of the new feature
The Open Graph protocol could be used to generate a short website preview. An example from Discord can be seen below:
![Screenshot_20210508_235713](/uploads/0c5d2aa7e8ab299378d41e62f899f537/Screenshot_20210508_235713.png)https://dev.gajim.org/gajim/gajim/-/issues/11637Options should be statements but no questions2023-10-15T13:00:42ZJonas SteinOptions should be statements but no questions`"Enable archiving?" [x]`
in `Group Chat details widget` tab `Configuration` should be changed to
`"Archive chat on server" [x] `
**Reason:**
Enable/Disable is the meaning of [x] and it should be clear what is archived where.`"Enable archiving?" [x]`
in `Group Chat details widget` tab `Configuration` should be changed to
`"Archive chat on server" [x] `
**Reason:**
Enable/Disable is the meaning of [x] and it should be clear what is archived where.https://dev.gajim.org/gajim/gajim/-/issues/10857Error when executing Show Monthly Usage command on cheogram.com2023-10-13T01:03:26ZaereauxError when executing Show Monthly Usage command on cheogram.com## Versions
- OS: Arch Linux
- Gajim version: 1.4.0+516119cf6311
- GTK version: 3.24.33
- Python-nbxmpp version: 3.0.0.dev3
## Steps to reproduce the problem
1. Choose Execute Command on cheogram.com contact (maybe just as a...## Versions
- OS: Arch Linux
- Gajim version: 1.4.0+516119cf6311
- GTK version: 3.24.33
- Python-nbxmpp version: 3.0.0.dev3
## Steps to reproduce the problem
1. Choose Execute Command on cheogram.com contact (maybe just as a jmp.chat subscriber).
1. Select Show Monthly Usage
## Expected behavior
Will show monthly usage in a form
## Actual behavior
Stuck on Executing..., and error appears in console:
```
2022-05-13 15:15:44 (E) nbxmpp.dispatcher (<account>) Error while handling stanza
Traceback (most recent call last):
File "/home/user/Downloads/gajim/venv/lib/python3.10/site-packages/nbxmpp/dispatcher.py", line 441, in dispatch
func(self._client, stanza, **user_data)
File "/home/user/Downloads/gajim/venv/lib/python3.10/site-packages/nbxmpp/task.py", line 339, in _async_finished
self._next_step(result)
File "/home/user/Downloads/gajim/venv/lib/python3.10/site-packages/nbxmpp/task.py", line 229, in _next_step
self._set_finished()
File "/home/user/Downloads/gajim/venv/lib/python3.10/site-packages/nbxmpp/task.py", line 233, in _set_finished
self._invoke_callbacks()
File "/home/user/Downloads/gajim/venv/lib/python3.10/site-packages/nbxmpp/task.py", line 255, in _invoke_callbacks
callback(self)
File "/home/user/Downloads/gajim/gajim/gtk/util.py", line 467, in func_wrapper
return func(self, *args, **kwargs)
File "/home/user/Downloads/gajim/gajim/gtk/adhoc.py", line 122, in _received_stage
page.process_stage(stage)
File "/home/user/Downloads/gajim/gajim/gtk/adhoc.py", line 370, in process_stage
self._show_form(stage_data.data)
File "/home/user/Downloads/gajim/gajim/gtk/adhoc.py", line 390, in _show_form
self._dataform_widget = DataFormWidget(
File "/home/user/Downloads/gajim/gajim/gtk/dataform.py", line 61, in __init__
self._form_grid = FormGrid(form_node, options)
File "/home/user/Downloads/gajim/gajim/gtk/dataform.py", line 139, in __init__
self._analyse_fields(form_node, options)
File "/home/user/Downloads/gajim/gajim/gtk/dataform.py", line 154, in _analyse_fields
for field in form_node.iter_fields():
File "/home/user/Downloads/gajim/venv/lib/python3.10/site-packages/nbxmpp/simplexml.py", line 540, in __getattr__
raise AttributeError
AttributeError
```
What I assume is the offending stanza (partly redacted):
```
<!-- Incoming 2022-05-13T15:15:44 PDT (redacted) -->
<iq xmlns="jabber:client" from="cheogram.com" xml:lang="en" to="redacted" type="result" id="redacted">
<command status="completed" sessionid="redacted" xmlns="http://jabber.org/protocol/commands" node="usage">
<x xmlns="jabber:x:data" type="result">
<instructions>Usage from 2022-05-13 to 2022-04-13</instructions>
<title>Usage from 2022-05-13 to 2022-04-13</title>
<reported>
<field var="day" label="Day" />
<field var="messages" label="Messages" />
<field var="minutes" label="Minutes" />
</reported>
<item>
<field var="day">
<value>2022-05-13</value>
</field>
<field var="messages">
<value>redacted</value>
</field>
<field var="minutes">
<value>redacted</value>
</field>
</item>
[Many more <item>s]
</x>
</command>
</iq>
```
Let me know if there's any other information I can provide.1.8.2https://dev.gajim.org/gajim/gajim/-/issues/10963Component presences are ignored2023-10-13T01:03:26ZNicocoComponent presences are ignored## Versions
- OS: Debian bullseye
- Gajim version: 1.4.3 flatpak
- GTK version: 3.24.34
- Python-nbxmpp version: 3.1.0
## Steps to reproduce the problem
1. Receive a presence from a component that is part of your roster
## ...## Versions
- OS: Debian bullseye
- Gajim version: 1.4.3 flatpak
- GTK version: 3.24.34
- Python-nbxmpp version: 3.1.0
## Steps to reproduce the problem
1. Receive a presence from a component that is part of your roster
## Expected behavior
The roster view in gajim should show the component as "online" and display its status
## Actual behavior
The component appears as offline.
Screenshot showing the problem, along with psi's behaviour, that seems more correct:
![gajim](/uploads/8be35906dd399d819bd2515a40de3fc8/gajim.png)
## Additional info
Gajim's debug logs:
```
<presence xml:lang='en' from='dummy.localhost' to='test@localhost' id='1801ee36ca194b00a43691f1c5ea4966'><status>Connected</status><x xmlns='vcard-temp:x:update'><photo/></x></presence>
09/06/2022 08:54:36 (I) nbxmpp.connection (localhost) Signal: data-received
09/06/2022 08:54:36 (I) nbxmpp.dispatcher (localhost) Signal: before-dispatch
09/06/2022 08:54:36 (I) nbxmpp.stream (localhost) Signal: stanza-received
09/06/2022 08:54:36 (D) gajim.c.ged Raise event: stanza-received
09/06/2022 08:54:36 (D) gajim.c.ged Call handler _nec_stanza_received on <xml_console.XMLConsoleWindow object at 0x7fbd2300c600 (gajim+gui+xml_console+XMLConsoleWindow at 0x564e26e239c0)>
09/06/2022 08:54:36 (I) nbxmpp.dispatcher (localhost) Call handler: BasePresence._process_presence_base
09/06/2022 08:54:36 (I) nbxmpp.dispatcher (localhost) Call handler: VCardAvatar._process_avatar
09/06/2022 08:54:36 (I) nbxmpp.m.vcardavatar (localhost) dummy.localhost empty avatar advertised
09/06/2022 08:54:36 (I) nbxmpp.dispatcher (localhost) Call handler: Presence._presence_received
09/06/2022 08:54:36 (I) gajim.c.m.presence (localhost) Received from dummy.localhost
09/06/2022 08:54:36 (I) gajim.c.m.contacts (localhost) Signal: presence-update
09/06/2022 08:54:36 (D) gajim.c.storage.cache Execution time for get_contact: 1 ms
09/06/2022 08:54:36 (D) gajim.c.ged Raise event: presence-received
09/06/2022 08:54:36 (D) gajim.c.ged Call handler handle_event_presence on <gajim.gui_interface.Interface object at 0x7fbd23206df0>
09/06/2022 08:54:36 (D) gajim.c.ged Call handler _on_event on <main.MainWindow object at 0x7fbd22706fc0 (gajim+gui+main+MainWindow at 0x564e2670cb40)>
09/06/2022 08:54:36 (I) nbxmpp.dispatcher (localhost) Call handler: Chatstate._presence_received
09/06/2022 08:54:36 (I) nbxmpp.dispatcher (localhost) Call handler: VCardAvatars._presence_received
09/06/2022 08:54:36 (I) gajim.c.m.vcardavatars (localhost) dummy.localhost has no avatar published
09/06/2022 08:54:36 (D) gajim.c.storage.cache Execution time for set_contact: 1 ms
09/06/2022 08:54:36 (I) nbxmpp.stream (localhost) Remove ping timer
09/06/2022 08:54:36 (I) nbxmpp.stream (localhost) Start ping timer
09/06/2022 08:54:36 (I) nbxmpp.connection (localhost) Remove keepalive timer
09/06/2022 08:54:36 (I) nbxmpp.connection (localhost) Add keepalive timer
09/06/2022 08:54:36 (I) nbxmpp.connection (localhost) ::::: DATA RECEIVED ::::
```
In previous versions of gajim, gateway components had a special roster group called "transports" if I recall correctly, which was nice IMHO1.8.2https://dev.gajim.org/gajim/gajim/-/issues/11631"The last message was written on a mobile client" does not show up2023-10-08T07:04:02ZNicoco"The last message was written on a mobile client" does not show upI thought this functionality was actually removed because I hadn't seen in a while, and skimming through the code I realised it's still here. It relies on having `phone-apple-iphone-symbolic` icon available on the system, but I don't thi...I thought this functionality was actually removed because I hadn't seen in a while, and skimming through the code I realised it's still here. It relies on having `phone-apple-iphone-symbolic` icon available on the system, but I don't think it's standard at all.
Maybe that's just a packaging issue, and a dep should be added to the debian package? Or maybe the icon is supposed to be packed with gajim's icons? Or maybe we should just use `phone`?https://dev.gajim.org/gajim/gajim/-/issues/10616Server Info: request_software_version not callable2023-10-06T22:04:08ZhsdredgunServer Info: request_software_version not callable## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.30
- PyGObject Version: 3.40.1
- GLib Version : 2.68.0
- python-nbxmpp Version: 2.0.2
- Gajim Version: 1.3.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python...## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.30
- PyGObject Version: 3.40.1
- GLib Version : 2.68.0
- python-nbxmpp Version: 2.0.2
- Gajim Version: 1.3.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/gajim/app_actions.py", line 175, in on_server_info
open_window('ServerInfo', account=account)
File "/usr/lib/python3.9/site-packages/gajim/gtk/util.py", line 823, in open_window
window = window_cls(**kwargs)
File "/usr/lib/python3.9/site-packages/gajim/gtk/server_info.py", line 68, in __init__
con.get_module('SoftwareVersion').request_software_version(
TypeError: 'NoneType' object is not callable
```
## Steps to reproduce the problem
...1.8.2https://dev.gajim.org/gajim/gajim/-/issues/11634changing multiple MUC affiliations at once doesn't work, on prosody hosted MUCs2023-10-05T17:03:22Zlis sinechanging multiple MUC affiliations at once doesn't work, on prosody hosted MUCsBeing a prosody-hosted room owner, when trying to modify many participants' affiliations at once, only one of them is changed.
So as of now, you have to hit the `Apply` button after each time you change an affiliation.
This problem doe...Being a prosody-hosted room owner, when trying to modify many participants' affiliations at once, only one of them is changed.
So as of now, you have to hit the `Apply` button after each time you change an affiliation.
This problem does not exist on ejabberd-hosted MUCs.
Not sure if it's a client issue or a server issue.
Versions:
- OS: Void Linux
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.0https://dev.gajim.org/gajim/gajim/-/issues/11357Service disco UI: gateways that advertise MUC support are not listed under "g...2023-10-02T10:06:08ZNicocoService disco UI: gateways that advertise MUC support are not listed under "gateways"The service discovery dialog splits gateways and rooms into two separate categories, but gateways can have MUC support too. Wouldn't it be preferable that the gateway identity has "more priority" than the conference identity and that the...The service discovery dialog splits gateways and rooms into two separate categories, but gateways can have MUC support too. Wouldn't it be preferable that the gateway identity has "more priority" than the conference identity and that the component is listed in "gateways"?
I'm mostly opening this issue for feedback, I am not even sure what the best UI is for this case. I just know that the current behaviour is (a bit) confusing.https://dev.gajim.org/gajim/gajim/-/issues/11514<idle> and <status> ignored in "unavailable" presences2023-10-02T10:04:40ZNicoco<idle> and <status> ignored in "unavailable" presencesTitle mostly says it all. In the roster view, on the tooltip, gajim can show both the "Last Interaction in Presence" (XEP-0319) and the presence status, except if the presence type=unavailable.
By the way, it would be awesome that the "...Title mostly says it all. In the roster view, on the tooltip, gajim can show both the "Last Interaction in Presence" (XEP-0319) and the presence status, except if the presence type=unavailable.
By the way, it would be awesome that the "Last Interaction in Presence" info was more easy to see in the UI, since this is more or less the "modern" way of displaying presences in IM, which makes sense in a context where most users connect via mobile phones.https://dev.gajim.org/gajim/gajim/-/issues/11626Use "description label" box in the chat banner for 1:1 chats2023-10-01T03:07:54ZNicocoUse "description label" box in the chat banner for 1:1 chatsThis has some overlap with the discussion in #11624 and #11625.
Currently, this label box is only used for the `<description>` of MUCs. I think it would be nice to display something here for 1:1 too. Are you firmly opposed to that?
An ...This has some overlap with the discussion in #11624 and #11625.
Currently, this label box is only used for the `<description>` of MUCs. I think it would be nice to display something here for 1:1 too. Are you firmly opposed to that?
An example of how this can look:
![Screenshot_20230928_095042](/uploads/fa2e8cf517dacd3804ed1d0386c1a79b/Screenshot_20230928_095042.png)
Are you firmly opposed to using this banner more? The screenshot above is not a definitive design at all.
I'd really like to have that honestly, so maybe if you don't like it, this behaviour could be controlled by an "advanced setting", off by default?https://dev.gajim.org/gajim/gajim/-/issues/10502Certificate warning does NOT go away - Cannot connect to XMPP server2023-09-24T15:18:20ZAndyCertificate warning does NOT go away - Cannot connect to XMPP serverCertificate warning does NOT go away - Cannot connect to XMPP server
## Versions
- OS: Windows 10
- Gajim version: 1.3.1
## Steps to reproduce the problem
1. Connecting to my own XMPP server (Ejabberd) I get the error "SSL Cer...Certificate warning does NOT go away - Cannot connect to XMPP server
## Versions
- OS: Windows 10
- Gajim version: 1.3.1
## Steps to reproduce the problem
1. Connecting to my own XMPP server (Ejabberd) I get the error "SSL Certificate Verification Error"
2. Certificate is a valid self-signed certificate (see screen shots)
3. I check the box and select CONNECT (see screen shots)
4. Error Prompt "SSL Certificate Verification Error" keeps reappearing
## Expected behavior
1. You are supposed to be able to select the "Add this certificate to the list of trusted certificated (see screen shot)
2. Then you select "CONNECT" and it should be able to connect.
3. Works fine for mobile XMPP clients that allow you to ignore Certificate warnings
## Actual behavior
It does not connect and error box "SSL Certificate Verification Error" keeps popping back up after a few seconds the same "SSL Certificate Verification Error" (see screen shots)
[Error1](/uploads/a54d554835131ab7e8e7c2fe5c45e609/Error1.png)
[Error2](/uploads/823476af3e2cfde0753843b06c2b34a1/Error2.png)https://dev.gajim.org/gajim/gajim/-/issues/11598Gajim.exe -w crashes with AttributeError: 'NoneType' object has no attribute ...2023-09-23T15:30:38ZmesoniumGajim.exe -w crashes with AttributeError: 'NoneType' object has no attribute 'write' on Windows## Versions:
- OS: Windows 10.0.19045
- GTK Version: 3.24.38
- PyGObject Version: 3.44.1
- GLib Version : 2.76.1
- libsoup Version: 3.4.2
- python-nbxmpp Version: 4.3.0
- Gajim Version: 1.8.0 (Portable)
## Traceback
```
Traceback (most ...## Versions:
- OS: Windows 10.0.19045
- GTK Version: 3.24.38
- PyGObject Version: 3.44.1
- GLib Version : 2.76.1
- libsoup Version: 3.4.2
- python-nbxmpp Version: 4.3.0
- Gajim Version: 1.8.0 (Portable)
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/application.py", line 388, in _handle_local_options
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/application.py", line 227, in _startup
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/application.py", line 76, in _init_core
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/app.py", line 262, in detect_dependencies
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/warnings.py", line 109, in _showwarnmsg
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/application.py", line 270, in warn_with_traceback
AttributeError: 'NoneType' object has no attribute 'write'
```
## Steps to reproduce the problem
Start Gajim with `Gajim.exe -w` in CMD or Powershttps://dev.gajim.org/gajim/gajim/-/issues/11616Error on unrecognized avatar file type AVIF2023-09-23T14:52:13Zdiode24Error on unrecognized avatar file type AVIF- ubuntu 23.04
- gajim-nightly 20230831-1
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/gtk/util.py", line 614, in load_pixbuf
return GdkPixbuf.Pixbuf.new_from_file_at_scale(
^^^^^^^^...- ubuntu 23.04
- gajim-nightly 20230831-1
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/gtk/util.py", line 614, in load_pixbuf
return GdkPixbuf.Pixbuf.new_from_file_at_scale(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: gdk-pixbuf-error-quark: Couldn’t recognize the image file format for file “/home/user/.cache/gajim/avatars/8b69a199a1d00143d621d8f54cf5526addd17f33” (3)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/gtk/util.py", line 620, in load_pixbuf
img = Image.open(im_handle)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PIL/Image.py", line 3283, in open
raise UnidentifiedImageError(msg)
PIL.UnidentifiedImageError: cannot identify image file <_io.BufferedReader name='/home/user/.cache/gajim/avatars/8b69a199a1d00143d621d8f54cf5526addd17f33'>
```
I run:
`file /home/user/.cache/gajim/avatars/8b69a199a1d00143d621d8f54cf5526addd17f33`
output:
```
/home/user/.cache/gajim/avatars/8b69a199a1d00143d621d8f54cf5526addd17f33: ISO Media, AVIF Image
```1.8.2https://dev.gajim.org/gajim/gajim/-/issues/11600Gajim crashes when using a specific font2023-09-23T14:52:13ZMarcus BajohrGajim crashes when using a specific font**Please first check if another issue has been opened for your problem**
There were similar issues - they solved it by simply deleting the theme config - which is by no means a solution
## Versions
Windows:
* OS: Windows
* Gajim ver...**Please first check if another issue has been opened for your problem**
There were similar issues - they solved it by simply deleting the theme config - which is by no means a solution
## Versions
Windows:
* OS: Windows
* Gajim version: 1.8.0
* GTK version: 3.24.38
* Python-nbxmpp version: 4.3.0
Linux:
* OS: void linux (rolling release, up to date)
* Gajim version: 1.8.0
* GTK version: 3.24.38
* Python-nbxmpp version: 4.3.0
Installed font to reproduce the issue : https://fonts.google.com/specimen/Source+Serif+4
## Steps to reproduce the problem
1. open Preferences > Style > Theme
1. add your new theme, name it e.g myTheme
2. edit theme, e.g. Add Setting -> Conversation: Text font
3. Select font from the list (see above..), e.g. "Source Serif 4"
4. Click Select - Error Window opens in the background
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/themes.py", line 416, in _on_font_set
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/css_config.py", line 356, in set_font
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/css_config.py", line 290, in _write
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/css_config.py", line 602, in _activate_theme
gi.repository.GLib.GError: gtk-css-provider-error-quark: <data>:2:30Junk at end of value for font-family (1)
```
Similar traceback appears with void linux.
## Expected behavior
Gajim should accept the selected font
## Actual behavior
Gajim crashes
## Workaround / Possible fix??
Quit all gajim tasks, open your style.css in `Userdata\Theme\myTheme.css`, enclose the font name with quotation marks.
Start Gajim - it'll show the right (selected) font with no issues
Workaround works for linux, too1.8.2