gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2021-09-03T11:46:35Zhttps://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/10309Service Discovery shows RuntimeError if connection is lost while starting2020-10-13T07:00:55ZGhost UserService Discovery shows RuntimeError if connection is lost while starting## Versions
- OS: Fedora 33 (Workstation Edition Prerelease)
- GTK Version: 3.24.23
- PyGObject Version: 3.38.0
- GLib Version : 2.66.1
- python-nbxmpp Version: 1.0.0
- Gajim Version: 1.2.0
## Traceback
```
Traceback (most recent call l...## Versions
- OS: Fedora 33 (Workstation Edition Prerelease)
- GTK Version: 3.24.23
- PyGObject Version: 3.38.0
- GLib Version : 2.66.1
- python-nbxmpp Version: 1.0.0
- Gajim Version: 1.2.0
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/gajim/app_actions.py", line 104, in on_service_disco
ServiceDiscoveryWindow(account, address_entry=True)
File "/usr/lib/python3.9/site-packages/gajim/gtk/discovery.py", line 521, in __init__
raise RuntimeError('You must be connected to browse services')
RuntimeError: You must be connected to browse services
```
## Steps to reproduce the problem
...
Gajim keeps disconnecting then reconnecting from an XMPP server. I assume it was in the disconnect phase when I tried to click the button.https://dev.gajim.org/gajim/gajim/-/issues/10303Start Chat: Make local server MUCs searchable2020-10-08T16:16:29ZPhilipp Höristphilipp@hoerist.comStart Chat: Make local server MUCs searchablehttps://dev.gajim.org/gajim/gajim/-/issues/11502OMEMO HTTP File Upload succeeds despite of undecided keys2023-05-02T07:56:46ZAndrey GurskyOMEMO HTTP File Upload succeeds despite of undecided keys## Versions
- OS: Debian GNU/Linux bullseye/testing
- GTK Version: 3.24.22
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.91+78e4e2bab4da4
- OMEMO Plugin Version: 2.7.7+gajim-plugi...## Versions
- OS: Debian GNU/Linux bullseye/testing
- GTK Version: 3.24.22
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.91+78e4e2bab4da4
- OMEMO Plugin Version: 2.7.7+gajim-plugins@75795a292fe39cd8891e4ccd9dc1f58b9d4df2e9
If there are undecided keys, it is not possible to send a message, but sending a file via OMEMO HTTP File Upload succeeds.https://dev.gajim.org/gajim/gajim/-/issues/10250Don't display Roster Item Exchange requests when loading from MAM2020-08-30T20:42:05ZetaDon't display Roster Item Exchange requests when loading from MAMXEP-0144 Roster Item Exchange requests should not trigger a popup if they were loaded from MAM / history (or were sent more than *x* minutes/hours/seconds ago, where *x* is perhaps user-configurable).
The impetus for this suggestion com...XEP-0144 Roster Item Exchange requests should not trigger a popup if they were loaded from MAM / history (or were sent more than *x* minutes/hours/seconds ago, where *x* is perhaps user-configurable).
The impetus for this suggestion comes from triggering a history sync using `Advanced -> Synchronize History...` and suddenly having ~100 XEP-0144 requests pop up from when I was debugging a transport earlier (!)https://dev.gajim.org/gajim/gajim/-/issues/10209Add way to mark a Plugin as supplied by a distribution2022-10-31T11:10:40ZPhilipp Höristphilipp@hoerist.comAdd way to mark a Plugin as supplied by a distributionhttps://dev.gajim.org/gajim/gajim/-/issues/10183Better IRC Integration2023-11-26T22:03:19ZPhilipp Höristphilipp@hoerist.comBetter IRC Integration## Description of the new feature
* [ ] Provide easier UI for joining a IRC channel
* [ ] Remove show indicator in IRC channels
* [x] ~~Disable Nickname change in IRC channels~~
* [x] Provide nicer Icons/Avatar for IRC channels
* [ ] So...## Description of the new feature
* [ ] Provide easier UI for joining a IRC channel
* [ ] Remove show indicator in IRC channels
* [x] ~~Disable Nickname change in IRC channels~~
* [x] Provide nicer Icons/Avatar for IRC channels
* [ ] Somehow treat server messages from IRC better, maybe silence them
* [ ] Make AdHoc more discoverable, Server / IRC Server / Channelhttps://dev.gajim.org/gajim/gajim/-/issues/10178Add method to ignore MUC users2023-11-28T10:59:28ZPhilipp Höristphilipp@hoerist.comAdd method to ignore MUC usersThis should not be solved via blocking, we need to maintain a ignore list per MUC and simply drop messagesThis should not be solved via blocking, we need to maintain a ignore list per MUC and simply drop messageshttps://dev.gajim.org/gajim/gajim/-/issues/10157[meta] Ideas2021-08-22T18:57:54ZPhilipp Höristphilipp@hoerist.com[meta] Ideas* [x] ~~AccountWizard: Let the user choose an Avatar and nickname~~
* [x] GroupchatInfo: show Groupchat avatar (see !698)
* [x] Establish self contact as a 'Note to self' feature
* [x] Add small overlay arrow button in the bottom right o...* [x] ~~AccountWizard: Let the user choose an Avatar and nickname~~
* [x] GroupchatInfo: show Groupchat avatar (see !698)
* [x] Establish self contact as a 'Note to self' feature
* [x] Add small overlay arrow button in the bottom right of the Chatcontrol, when pressed chat scrolls to the end
* [ ] Ship plugin translations with Gajim (its only 100KB)
* [ ] Allow to get notified if a contact becomes available (after being offline/NA/away)https://dev.gajim.org/gajim/gajim/-/issues/10143Add API for plugins to add config options into Accounts2022-05-20T21:02:43ZPhilipp Höristphilipp@hoerist.comAdd API for plugins to add config options into Accountshttps://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/10139Reimplement Client Cert support2022-05-20T21:05:20ZPhilipp Höristphilipp@hoerist.comReimplement Client Cert supportNeeds support in nbxmppNeeds support in nbxmpphttps://dev.gajim.org/gajim/gajim/-/issues/10109Support DTLS-SRTP (XEP-0320) for audio/video with Conversations2023-11-26T22:05:13ZGhost UserSupport DTLS-SRTP (XEP-0320) for audio/video with Conversations## Description of the new feature
https://gist.github.com/iNPUTmice/a28c438d9bbf3f4a3d4c663ffaa224d9#notes-for-developers## Description of the new feature
https://gist.github.com/iNPUTmice/a28c438d9bbf3f4a3d4c663ffaa224d9#notes-for-developershttps://dev.gajim.org/gajim/gajim/-/issues/10078Provide a ignore autojoin setting for Bookmarks2022-10-31T11:10:40ZPhilipp Höristphilipp@hoerist.comProvide a ignore autojoin setting for Bookmarks## Description of the new feature
Add a `ignore autojoin flag` setting on a account
This is useful if you dont want changes on the autojoin flag in bookmarks, synced to Gajim.
For example if you leave a group chat on your smartphone b...## Description of the new feature
Add a `ignore autojoin flag` setting on a account
This is useful if you dont want changes on the autojoin flag in bookmarks, synced to Gajim.
For example if you leave a group chat on your smartphone because it is very noisy, also Gajim would leave this group chat.
The setting allows to have a local autojoin listhttps://dev.gajim.org/gajim/gajim/-/issues/10060GroupchatInvite: Implement lazy loading of contacts2022-10-31T11:10:40ZPhilipp Höristphilipp@hoerist.comGroupchatInvite: Implement lazy loading of contacts## Description of the new feature
On big rosters opening the invite page freezes Gajim. Implement lazy loading of contacts## Description of the new feature
On big rosters opening the invite page freezes Gajim. Implement lazy loading of contactshttps://dev.gajim.org/gajim/gajim/-/issues/10045SSL server validation ignores system-wide installed CAs2021-03-25T09:26:42ZEugene CrosserSSL server validation ignores system-wide installed CAsSince a while ago, server certificate validation started to fail in the nightly build. I use private CA, and CA certificate is installed system-wide (placed in /etc/ssl/certs and c_rehash'ed). `openssl s_client -verify 1 -host ... -port ...Since a while ago, server certificate validation started to fail in the nightly build. I use private CA, and CA certificate is installed system-wide (placed in /etc/ssl/certs and c_rehash'ed). `openssl s_client -verify 1 -host ... -port ...` succeeds with "Verification: OK". However gajim insists that certificate is signed by an unknown CA.
* While opening XMPP connection, it offers to accept "untrusted" server certificate and then works
* httpupload over aesgcm/https does not work at all:
```
02/04/20 10:45:33 (I) gajim.p.omemo.filedecryption| Start downloading: https://average.org:9443/0aaa8f2ecdc342cdea76820e6eba57e0884fd630/5Q7yPp7QsTc0blwTog5RuJwkABmYOOPX0VYmxrLq/FrdvSlyBQX-EjGTtfnUErQ.jpg
02/04/20 10:45:33 (W) gajim.p.omemo.filedecryption| Download failed: https://average.org:9443/0aaa8f2ecdc342cdea76820e6eba57e0884fd630/5Q7yPp7QsTc0blwTog5RuJwkABmYOOPX0VYmxrLq/FrdvSlyBQX-EjGTtfnUErQ.jpg
02/04/20 10:45:33 (W) gajim.p.omemo.filedecryption| SSL handshake failed
```
I believe that gajim should either honour system-wide set of trusted CAs, or, if it insists on using using a private set of CAs, allow adding new CAs to that set. The first option is preferable, in my opinion.https://dev.gajim.org/gajim/gajim/-/issues/11467XEP-0384: OMEMO Encryption 0.82023-04-14T16:10:16ZNeustradamusXEP-0384: OMEMO Encryption 0.8Can you update the XEP-0384: OMEMO Encryption support to 0.8.0?Can you update the XEP-0384: OMEMO Encryption support to 0.8.0?https://dev.gajim.org/gajim/gajim/-/issues/10038Reimplement POSH2022-05-20T20:55:11ZPhilipp Höristphilipp@hoerist.comReimplement POSH## Description of the new feature
https://datatracker.ietf.org/doc/rfc7711/## Description of the new feature
https://datatracker.ietf.org/doc/rfc7711/https://dev.gajim.org/gajim/gajim/-/issues/10036Authentication failed: no-password2020-04-30T17:44:04ZAndrey GurskyAuthentication failed: no-password## Versions
- OS: GNU/Linux Debian Bullseye testing
- Gajim version: b5924afddfe8cb
- GTK version: 3.24.13-1
- Python-nbxmpp version: python-nbxmpp@93e0a046cbc5e14e08b5ebe6a670fcbd5cddbbb3
## Steps to reproduce the problem
1. ...## Versions
- OS: GNU/Linux Debian Bullseye testing
- Gajim version: b5924afddfe8cb
- GTK version: 3.24.13-1
- Python-nbxmpp version: python-nbxmpp@93e0a046cbc5e14e08b5ebe6a670fcbd5cddbbb3
## Steps to reproduce the problem
1. Ensure Gajim setup: no auto-connect, no password saved.
1. Start Gajim.
1. In roster right-click on an account and choose "Status" --> "Available".
1. Window pops up with password prompt.
1. But simultaneously also a notification pops up: "Authentication failed: no-password".
## Expected behavior
No notification with failure, since user hadn't yet an opportunity to enter a password.
## Actual behavior
The notification pops up.https://dev.gajim.org/gajim/gajim/-/issues/10032Discovery: _update_info fails with TypeError: 'NoneType' object is not iterable2023-03-15T11:26:56ZGhost UserDiscovery: _update_info fails with TypeError: 'NoneType' object is not iterable## Versions
- OS: Debian GNU/Linux 10 (buster)
- GTK+ Version: 3.24.5
- PyGObject Version: 3.30.4
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-p...## Versions
- OS: Debian GNU/Linux 10 (buster)
- GTK+ Version: 3.24.5
- PyGObject Version: 3.30.4
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gi/overrides/GLib.py", line 662, in <lambda>
func_fdtransform = lambda _, cond, *data: callback(channel, cond, *data)
File "/usr/lib/python3/dist-packages/nbxmpp/idlequeue.py", line 563, in _process_events
return IdleQueue._process_events(self, fd, flags)
File "/usr/lib/python3/dist-packages/nbxmpp/idlequeue.py", line 411, in _process_events
obj.pollin()
File "/usr/lib/python3/dist-packages/nbxmpp/transports_nb.py", line 451, in pollin
self._do_receive()
File "/usr/lib/python3/dist-packages/nbxmpp/transports_nb.py", line 676, in _do_receive
self._on_receive(received)
File "/usr/lib/python3/dist-packages/nbxmpp/transports_nb.py", line 690, in _on_receive
self.on_receive(data)
File "/usr/lib/python3/dist-packages/nbxmpp/dispatcher_nb.py", line 535, in _WaitForData
resp(self._owner, _iq, **args)
File "/usr/lib/python3/dist-packages/gajim/common/modules/discovery.py", line 87, in _disco_response
success_cb()(from_, identities, features, data, node)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 412, in _disco_info_received
self._on_agent_info(str(from_), node, identities, features, data)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 440, in _on_agent_info
cb(fjid, node, identities, features, data)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 243, in __call__
return cb(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 1077, in _agent_info
self._update_info(iter_, jid, node, identities, features, data)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 1869, in _update_info
self._query_visible()
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 1801, in _query_visible
self.cache.get_info(jid, node, self._agent_info)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 359, in get_info
cb(jid, node, *args)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 1077, in _agent_info
self._update_info(iter_, jid, node, identities, features, data)
File "/usr/lib/python3/dist-packages/gajim/disco.py", line 1845, in _update_info
for form in data:
TypeError: 'NoneType' object is not iterable
```
## Steps to reproduce the problem
...