gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2023-05-28T10:14:19Zhttps://dev.gajim.org/gajim/gajim/-/issues/10852Message Box does not push chat up2023-05-28T10:14:19ZnicoMessage Box does not push chat up## Description of the new feature
When typing a multiline message the message box increases in size which blocks the view to the message history.
It would be nice if the growing message box would also scroll the chat view down to not lo...## Description of the new feature
When typing a multiline message the message box increases in size which blocks the view to the message history.
It would be nice if the growing message box would also scroll the chat view down to not lose sight on why I am replying to.https://dev.gajim.org/gajim/gajim/-/issues/10872Workspace layout is not stored when disabling account2023-06-15T19:54:56Zun99known99Workspace layout is not stored when disabling accountIf you do have more than one account and you switch from the one you setup (different workspaces, moving contacts and groups in etc.) to an different account AND BACK, the previous setup is not kept and you need to re-arrange everything ...If you do have more than one account and you switch from the one you setup (different workspaces, moving contacts and groups in etc.) to an different account AND BACK, the previous setup is not kept and you need to re-arrange everything from scratch.https://dev.gajim.org/gajim/gajim/-/issues/10957Add support for pinning chat messages2022-06-07T20:27:23ZDaniel BrötzmannAdd support for pinning chat messages## Description of the new feature
Pin a specific message/image to the top of the chat window to make it available for quick access. Use cases include:
* pinning an address
* pinning a schedule
* pinning a link to a pad / a share / a pr...## Description of the new feature
Pin a specific message/image to the top of the chat window to make it available for quick access. Use cases include:
* pinning an address
* pinning a schedule
* pinning a link to a pad / a share / a project
For group chats, we could re-use the subject for this, which would be displayed to all participants (synchronized). For 1:1 chats, this could be any message (not synchronized).https://dev.gajim.org/gajim/gajim/-/issues/10962Error with full JID in roster when loading roster from cache2022-11-29T15:03:12Zgordon bluffError with full JID in roster when loading roster from cache## Versions:
- OS: Fedora Linux 36 (Workstation Edition) 36
- GTK Version: 3.24.34
- PyGObject Version: 3.42.1
- GLib Version : 2.72.0
- python-nbxmpp Version: 3.0.2
- Gajim Version: 1.4.2
## Traceback
```
Traceback (most recent call la...## Versions:
- OS: Fedora Linux 36 (Workstation Edition) 36
- GTK Version: 3.24.34
- PyGObject Version: 3.42.1
- GLib Version : 2.72.0
- python-nbxmpp Version: 3.0.2
- Gajim Version: 1.4.2
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/gajim/gtk/application.py", line 252, in _startup
MainWindow()
File "/usr/lib/python3.10/site-packages/gajim/gtk/main.py", line 85, in __init__
self._main_stack = MainStack()
File "/usr/lib/python3.10/site-packages/gajim/gtk/main_stack.py", line 50, in __init__
self.add_account_page(account)
File "/usr/lib/python3.10/site-packages/gajim/gtk/main_stack.py", line 53, in add_account_page
account_page = AccountPage(account)
File "/usr/lib/python3.10/site-packages/gajim/gtk/account_page.py", line 70, in __init__
self._roster = Roster(account)
File "/usr/lib/python3.10/site-packages/gajim/gtk/roster.py", line 138, in __init__
self._initial_draw()
File "/usr/lib/python3.10/site-packages/gajim/gtk/roster.py", line 516, in _initial_draw
self._add_or_update_contact(contact)
File "/usr/lib/python3.10/site-packages/gajim/gtk/roster.py", line 629, in _add_or_update_contact
new_groups = set(contact.groups or [DEFAULT_GROUP])
AttributeError: 'ResourceContact' object has no attribute 'groups'
```
## Steps to reproduce the problem
...https://dev.gajim.org/gajim/gajim/-/issues/10964Attribute Error for get_default_button when executing command2022-06-10T07:08:29ZJ.P. NeverwasAttribute Error for get_default_button when executing command**Please first check if another issue has been opened for your problem**
## Versions
- OS: Linux 5.17.12-300.fc36.x86_64
- GTK Version: 3.24.34
- PyGObject Version: 3.42.1
- GLib Version : 2.72.2
- python-nbxmpp Version: 3.1.0
- Gajim ...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Linux 5.17.12-300.fc36.x86_64
- GTK Version: 3.24.34
- PyGObject Version: 3.42.1
- GLib Version : 2.72.2
- python-nbxmpp Version: 3.1.0
- Gajim Version: 1.4.3
## Traceback
```
Traceback (most recent call last):
File "/app/lib/python3.9/site-packages/gajim/gtk/assistant.py", line 188, in _on_visible_child_name
self._set_buttons_visible()
File "/app/lib/python3.9/site-packages/gajim/gtk/assistant.py", line 109, in _set_buttons_visible
default = self.get_page(page_name).get_default_button()
File "/app/lib/python3.9/site-packages/gajim/gtk/adhoc.py", line 337, in get_default_button
return self._last_stage_data.default.value
AttributeError: 'NoneType' object has no attribute 'value'
```
## Steps to reproduce the problem
Installed via Flatpak on Fedora 36 with omemo plugin installed via Gnome software
1. Accounts > Add contact > cheogram.com (no foo@ portion)
2. Right click cheogram.com avatar icon > Execute command ...
3. Register Back end with value "jmp.chat"
4. Select payment option and denomination unit
## Expected behavior
Dialog advances to next exchange
## Actual behavior
[gajim.log](/uploads/41142b7c407f6065de2c0c13d7465ec2/gajim.log)
Exception raised, main command window gone, replaced by basic popup showing message from sender (as well as another window with bug report message).https://dev.gajim.org/gajim/gajim/-/issues/11017Add support for XEP-0447: Stateless file sharing2022-08-13T23:32:35ZDaniel BrötzmannAdd support for XEP-0447: Stateless file sharing## Description of the new feature
Add support for [XEP-0447: Stateless file sharing](https://xmpp.org/extensions/xep-0447.html)
Provides users with metadata, e.g. file size, file type or thumbnail, to help them decide whether or not th...## Description of the new feature
Add support for [XEP-0447: Stateless file sharing](https://xmpp.org/extensions/xep-0447.html)
Provides users with metadata, e.g. file size, file type or thumbnail, to help them decide whether or not they want to load the file.
Needs [XEP-0446: File metadata element](https://xmpp.org/extensions/xep-0446.html).https://dev.gajim.org/gajim/gajim/-/issues/11024Multiple same-nick self-contacts in MUC after nick change2022-07-07T07:36:24ZsnilekMultiple same-nick self-contacts in MUC after nick changeWhen online in a MUC *with multiple devices* (e.g. Gajim and Conversations), after changing own nick in Gajim, there appears a second self-contact in MUCs roster with the new nick. This is "kind-of OK".
But, when changing the nick *back...When online in a MUC *with multiple devices* (e.g. Gajim and Conversations), after changing own nick in Gajim, there appears a second self-contact in MUCs roster with the new nick. This is "kind-of OK".
But, when changing the nick *back*, the two same-nick self-contacts are not re-joined into one and remain separate roster items. There are now *two* same-named self-contacts. When repeating the process yet again — change nickname to a different and back — a *third* contact is created. Repeating the process, you can create seemingly *unlimited number of same-named self-contacts*. See image below.
## Versions:
- OS: Debian GNU/Linux 11 (bullseye) 11 (bullseye)
- GTK Version: 3.24.24
- PyGObject Version: 3.38.0
- GLib Version : 2.66.2
- python-nbxmpp Version: 3.1.0
- Gajim Version: 1.4.5
## Steps to reproduce the problem
1. enter a room with at least two devices under the same nickname
2. change you nick in gajim
3. change your nick back
4. repeat from 2.
![gajim_multiple_muc_self-contacts](/uploads/279eb1476fd54b466011b8689c3187f2/gajim_multiple_muc_self-contacts.png)https://dev.gajim.org/gajim/gajim/-/issues/11027Roster issues with escaped characters in JID2022-07-18T20:39:46ZQuinnqstambaugh@stambell.netRoster issues with escaped characters in JIDI checked and couldn't find the issue mentioned in another ticket
## Versions
- OS: Pop!_OS 22.04 LTS x86_64
- Gajim version: 1.4.5 (flatpak)
- GTK version: 3.24.34
- Python-nbxmpp version: 3.1.0
## Steps to reproduce the prob...I checked and couldn't find the issue mentioned in another ticket
## Versions
- OS: Pop!_OS 22.04 LTS x86_64
- Gajim version: 1.4.5 (flatpak)
- GTK version: 3.24.34
- Python-nbxmpp version: 3.1.0
## Steps to reproduce the problem
1. Have someone in your roster with an escape `\` in their JID
2. Try to manage them from your roster
## Expected behavior
Remove them from your roster if you select "Remove..."
## Actual behavior
Whenever I try to remove a JID from my roster with an escaped character, nothing happens. I can't even get anything to show up in my log. It also doesn't hide subscription requests from JIDs with escaped characters after denying them.
I can block those JIDs and I do stop receiving messages from them, but in my roster, they're still treated as if they aren't blocked.https://dev.gajim.org/gajim/gajim/-/issues/11058Add support for XEP-0201: Best Practices for Message Threads2024-02-14T14:12:19ZDylan DonkersgoedAdd support for XEP-0201: Best Practices for Message Threads## Description of the new feature
Many chat apps (Slack, Mattermost, Zulip, I think Element/Matrix either has this or is implementing it) provide functionality for replying to a message and keeping the replies in a distinct thread which...## Description of the new feature
Many chat apps (Slack, Mattermost, Zulip, I think Element/Matrix either has this or is implementing it) provide functionality for replying to a message and keeping the replies in a distinct thread which does not pollute the main chat. This is very useful in chat rooms that have dozens (or even hundreds or more) of people.
I have never seen this feature in an XMPP client, but it seems as though XMPP as a protocol _does_ support it. See [XEP-0201](https://xmpp.org/extensions/xep-0201.html).
I would like to see this feature in Gajim.https://dev.gajim.org/gajim/gajim/-/issues/11067Workspace Searchbar: Allow to search through all contacts2023-02-20T22:22:03ZPhilipp Höristphilipp@hoerist.comWorkspace Searchbar: Allow to search through all contacts## Description of the new feature
We should question how useful it is that the workspace searchbar only searches chats inside the workspace.
It would be more useful if the searchbar searches through all contacts, its probably also a lo...## Description of the new feature
We should question how useful it is that the workspace searchbar only searches chats inside the workspace.
It would be more useful if the searchbar searches through all contacts, its probably also a lot more intuitive for users coming from clients like Whatsapp or Telegram / Teams.https://dev.gajim.org/gajim/gajim/-/issues/11068Workspaces: Allow to hide the workspace feature2022-11-14T09:06:54ZPhilipp Höristphilipp@hoerist.comWorkspaces: Allow to hide the workspace featureAs a user i want a simpler experience, hiding the workspace icon and the workspace add button could achieve that.
Maybe these power user features should not be activated by default.As a user i want a simpler experience, hiding the workspace icon and the workspace add button could achieve that.
Maybe these power user features should not be activated by default.https://dev.gajim.org/gajim/gajim/-/issues/11075Add support for XEP-0461: Message Replies2022-12-04T16:34:03ZPhilipp Höristphilipp@hoerist.comAdd support for XEP-0461: Message RepliesAdd support for [XEP-0461](https://xmpp.org/extensions/xep-0461.html).
Ideas:
- Display more metadata for replies, pull the username and time the original message was written and add them the quote
- Add somekind of Inbox feature where...Add support for [XEP-0461](https://xmpp.org/extensions/xep-0461.html).
Ideas:
- Display more metadata for replies, pull the username and time the original message was written and add them the quote
- Add somekind of Inbox feature where replies to our messages are tracked, currently this is only possible if the reply contains our username, this xep makes it possible to track this without it.https://dev.gajim.org/gajim/gajim/-/issues/11094clicking on message search results behavior is inconsistent2023-11-09T23:50:49Zdiode24clicking on message search results behavior is inconsistent- ubuntu 22.04
- gajim-default-nightly 20220816-1
## Description
Clicking on message history search has inconsistent behavior
## Expected behavior
Clicking on an item in message history search should:
1. Scroll the selected message int...- ubuntu 22.04
- gajim-default-nightly 20220816-1
## Description
Clicking on message history search has inconsistent behavior
## Expected behavior
Clicking on an item in message history search should:
1. Scroll the selected message into view. Should probably always be in the same part of the screen, either top, center, or bottom.
2. Selected message should be highlighted.
## Actual behavior
1. Sometimes message scrolls into view, but vertical place in view differs. Sometimes the message is a few lines above the view, out of view. Sometimes view scrolls to a seemingly random place that is multiple pages away from the selected message. Sometimes it scrolls to a place and stops, then scrolls again (this happened in the previous nightly, not sure if still happening).
2. Sometimes the selected message is highlighted, other times not. Sometimes it briefly highlights and it goes away, rather than the intended gradual fading effect. I might be in favor of a constant highlight.https://dev.gajim.org/gajim/gajim/-/issues/11097Manually approved self-signed certificate not used for HTTP file download2023-01-11T12:45:53ZthjderjktyrjktManually approved self-signed certificate not used for HTTP file download## Versions
- OS: Fedora 36
- Gajim version: 1.4.7
- GTK version: 3.24.34
- Python-nbxmpp version: 3.1.0
Basically the Flathub version.
## Steps to reproduce the problem
1. My XMPP server uses self-signed certificate.
2. Gaji...## Versions
- OS: Fedora 36
- Gajim version: 1.4.7
- GTK version: 3.24.34
- Python-nbxmpp version: 3.1.0
Basically the Flathub version.
## Steps to reproduce the problem
1. My XMPP server uses self-signed certificate.
2. Gajim prompts for certificate validation (do you want to trust this certificate balabala), I accepted the certificate.
3. Gajim connects to my server.
4. I upload a file using HTTP upload, the file got uploaded successfully, I try to check my uploaded file
## Expected behavior
I can see my uploaded file
## Actual behavior
I can't see the uploaded file, it says:
```
TLS verification failed: The signing certificate authority is not known
```
![image](/uploads/384b4f044f07bf6f256809d9083fc9f7/image.png)
---
This is not a cerfiticate issue as I use the same certificate on Conversations (Android) and HTTP file download has no issue.
Gajim has the same issue on Windows, although I could manually import my certificate to personal trust to workaround the issue. I don't know how to do that on Linux without root (user wide trust). Also from privacy perspective importing self-signed certificate into system store isn't a good idea, as all apps on this PC get to see that very unique certificate, this is better handled by specific application.
---
[#9179](https://dev.gajim.org/gajim/gajim/-/issues/9179) looks related to this issue but it seems you only fixed the uploading part but not downloading part, as I can see my uploaded file on my other device (with Conversations), which means Gajim actually used my self-signed certificate during uploading process.https://dev.gajim.org/gajim/gajim/-/issues/11124Port deprecated locale method2022-09-08T14:09:05ZPhilipp Höristphilipp@hoerist.comPort deprecated locale methodhttps://docs.python.org/3.11/whatsnew/3.11.html#deprecated
```
The locale.getdefaultlocale() function is deprecated and will be removed in Python 3.13. Use locale.setlocale(), locale.getpreferredencoding(False) and locale.getlocale() fu...https://docs.python.org/3.11/whatsnew/3.11.html#deprecated
```
The locale.getdefaultlocale() function is deprecated and will be removed in Python 3.13. Use locale.setlocale(), locale.getpreferredencoding(False) and locale.getlocale() functions instead.
```https://dev.gajim.org/gajim/gajim/-/issues/11131Preview: Add button to remove received files via the UI2022-09-28T08:38:06ZmjkPreview: Add button to remove received files via the UIGoing through a file manager/terminal is very inefficient, but most importantly seems to be pointless, as Gajim might automatically re-download the file on another occasion. The easiest way to tell Gajim to put a kind of tombstone on th...Going through a file manager/terminal is very inefficient, but most importantly seems to be pointless, as Gajim might automatically re-download the file on another occasion. The easiest way to tell Gajim to put a kind of tombstone on the file would be by going through the UI (but bonus points for watching the downloads directory for removals).
The feature would be best modeled after Conversations:
* a 'Remove file' context menu item for file-messages;
* a visual 'File was removed' tombstone;
* ability to re-download _manually_;
* the message history is left intact, as the point of the feature is keeping downloads tidy (e.g., for storage space oder Ordnung), not redacting past conversations.
AFAIK, Conversations also watches the directory for removals, but not entirely sure.https://dev.gajim.org/gajim/gajim/-/issues/11137Search: Improve message filters2022-10-18T15:59:51ZmesoniumSearch: Improve message filters### Issue
1. Have several jpg's downloaded and displayed in some public MUC
2. Filter the message `has:jpg` or `has:img`
Result: Nothing is found.### Issue
1. Have several jpg's downloaded and displayed in some public MUC
2. Filter the message `has:jpg` or `has:img`
Result: Nothing is found.https://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/11145Italic _URL_ parsed as if underscores were part of the URL and error logged o...2022-11-13T16:27:35ZmesoniumItalic _URL_ parsed as if underscores were part of the URL and error logged on click### Issue
Send or receive a URL, which was meant to appear italic, such as `_https://foo.bar.tld_`.
![Screenshot_20220914_150906](/uploads/6241cbba17ec7e56f09935ddb50609b1/Screenshot_20220914_150906.png)
Clicking on the link, `gajim -v...### Issue
Send or receive a URL, which was meant to appear italic, such as `_https://foo.bar.tld_`.
![Screenshot_20220914_150906](/uploads/6241cbba17ec7e56f09935ddb50609b1/Screenshot_20220914_150906.png)
Clicking on the link, `gajim -v` logs:
```
14.09.2022 15:06:24 (E) gajim.c.helpers g-io-error-quark: Operation not supported (15)
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/gajim/common/helpers.py", line 925, in func_wrapper
result = func(self, *args, **kwargs)
File "/usr/lib/python3.10/site-packages/gajim/common/helpers.py", line 1020, in open_uri
Gio.AppInfo.launch_default_for_uri(uri.data)
gi.repository.GLib.GError: g-io-error-quark: Operation not supported (15)
```
Gajim's UI does not display any errors to the user. For the latter it simply looks like nothing happened when clicking the link.
### Setup
* Gajim 1.4.7
* GTK-Version: 3.24.34
* GLib-Version: 2.72.3
* PyGObject-Version: 3.42.2
* Cairo-Version: 1.16.0
* python-cairo-Version: 1.20.1
* python-nbxmpp-Version: 3.2.1https://dev.gajim.org/gajim/gajim/-/issues/11147Feature: Support for accessibility (A11Y)2022-09-18T09:34:37ZAccerciserFeature: Support for accessibility (A11Y)**Please note by far the quickest way to get a new feature is to file a Merge Request.**
## Description of the new feature
For disable people like blind people, it will be great to have feature like Screen Reading, More Keyboard Hotkey...**Please note by far the quickest way to get a new feature is to file a Merge Request.**
## Description of the new feature
For disable people like blind people, it will be great to have feature like Screen Reading, More Keyboard Hotkey like Tor Messenger.https://dev.gajim.org/gajim/gajim/-/issues/11500OMEMO "error message" after purging Chat History2023-05-02T07:54:58ZBob.DigOMEMO "error message" after purging Chat History## Versions
- OS: Windows 10 & 11
- Gajim version: 1.5.1
- GTK version: 3.24.34
- Python-nbxmpp version: 3.2.2
## Steps to reproduce the problem
1. Send and receive OMEMO Encrypted Messages in chat (not MUC)
2. Later purge...## Versions
- OS: Windows 10 & 11
- Gajim version: 1.5.1
- GTK version: 3.24.34
- Python-nbxmpp version: 3.2.2
## Steps to reproduce the problem
1. Send and receive OMEMO Encrypted Messages in chat (not MUC)
2. Later purge Chat History
3. (Re-)Start Gajim
## Expected behavior
Nothing
## Actual behavior
Get flooded with "This message was encrypted with OMEMO and could not be decrypted." for all purged messages.
This behavior is new and not expected.
Tested on Prosody with "mam" enabledhttps://dev.gajim.org/gajim/gajim/-/issues/11178Allow correcting messages coming from other devices2023-01-13T08:54:20ZPhilipp Höristphilipp@hoerist.comAllow correcting messages coming from other devices## Description of the new feature
It would be great if one could edit a message sent from another device of myself## Description of the new feature
It would be great if one could edit a message sent from another device of myselfhttps://dev.gajim.org/gajim/gajim/-/issues/11181XML Console: Search results count2022-10-08T10:28:47Zdiode24XML Console: Search results countIt would be nice if searching the xml log produced a count of search results, current position in results (for example, 1 of 23), and maybe most importantly, an indication when there are no results.It would be nice if searching the xml log produced a count of search results, current position in results (for example, 1 of 23), and maybe most importantly, an indication when there are no results.https://dev.gajim.org/gajim/gajim/-/issues/11186MUC user avatars are not displayed when occupant is offline2023-06-09T07:58:18Zdiode24MUC user avatars are not displayed when occupant is offlinegajim version: gajim-default-nightly
It seems gajim does not display avatars of offline users, which I would expect it to do. I don't now whether to expect caching or downloading. Gajim is supposed to support XEP-0153.
According to XEP...gajim version: gajim-default-nightly
It seems gajim does not display avatars of offline users, which I would expect it to do. I don't now whether to expect caching or downloading. Gajim is supposed to support XEP-0153.
According to XEP-0153:
- Enable a contact to retrieve a user's avatar image if the user is offline.
# Steps to reproduce
1. load a chat with test user who has an avatar configured that is also displaying in gajim
2. test user goes offline
3. restart gajim while test user stays offline
# Expected behavior
The previous messages from test user should display the user's avatar.
# Actual behavior
The previous messages from test user do not display any avatar.https://dev.gajim.org/gajim/gajim/-/issues/11203Add back support for XEP-0224: Attention2022-10-31T11:10:40ZDaniel BrötzmannAdd back support for XEP-0224: AttentionAdd back support for messages with `urn:xmpp:attention:0` namespace ([XEP-0224](https://xmpp.org/extensions/xep-0224.html)), which allows users to mark messages as important.
These messages could be displayed with an exclamation mark in...Add back support for messages with `urn:xmpp:attention:0` namespace ([XEP-0224](https://xmpp.org/extensions/xep-0224.html)), which allows users to mark messages as important.
These messages could be displayed with an exclamation mark in the chat list for example.
Note: There is a leftover setting from earlier times: `ignore_incoming_attention`https://dev.gajim.org/gajim/gajim/-/issues/11204MUC: Deal with errors when sending message2024-03-16T18:57:08ZPhilipp Höristphilipp@hoerist.comMUC: Deal with errors when sending messageCurrently we show a message error icon on the message itself, but for MUCs we dont add a row before we get the message back from the MUC.
As we receive no message, there is no row, hence no place to put an errorCurrently we show a message error icon on the message itself, but for MUCs we dont add a row before we get the message back from the MUC.
As we receive no message, there is no row, hence no place to put an errorhttps://dev.gajim.org/gajim/gajim/-/issues/11209Jump to last mention2024-01-26T07:22:42ZmesoniumJump to last mention## Description of the new feature
If you are mentioned, the background color of the number of unread messages in the chat list turns blue and the message, in which you are mentioned is highlighted as well.
However, if there have been ma...## Description of the new feature
If you are mentioned, the background color of the number of unread messages in the chat list turns blue and the message, in which you are mentioned is highlighted as well.
However, if there have been many unread messages in between, e.g. in a public MUC, scrolling up and searching the message may turn out cumbersome.
It would therefore be convenient if there were a button to jump the last message(s), where you have been mentioned.
Alternatively, the Matrix messenger Element has implemented this feature quiet nicely: Here it looks like Gajim's search panel, but lists only the messages, where you have been mentioned. Clicking on the message, like in Gajim's search results, automatically opens the corresponding message.https://dev.gajim.org/gajim/gajim/-/issues/11232Add an option to show users who left recently for admins of public mucs2023-06-09T07:53:48ZPirate Praveen ArimbrathodiyilAdd an option to show users who left recently for admins of public mucsWhen permissions to view JID is set to moderators only, there is no easy way currently to ban a spammer who joins, posts spam, then leave immediately and repeat this behavior. The only way to get JID of such spammers is running poezio wh...When permissions to view JID is set to moderators only, there is no easy way currently to ban a spammer who joins, posts spam, then leave immediately and repeat this behavior. The only way to get JID of such spammers is running poezio which displays full jid.
So if a user has permission to see jid in a semi-anonymous muc, they should see a list of users who left in 24 hours and make this duration configurable.https://dev.gajim.org/gajim/gajim/-/issues/11251unread mentions count does not match actual mentions count2023-01-02T19:19:05Zdiode24unread mentions count does not match actual mentions count- OS: ubuntu 22.04
- gajim version: gajim-default-nightly 20221026-1
## Steps to reproduce
1. have multiple users in a muc
2. user1 mentions user2 in the muc
3. further chat ensues, not mentioning user2 or any user on this instance of g...- OS: ubuntu 22.04
- gajim version: gajim-default-nightly 20221026-1
## Steps to reproduce
1. have multiple users in a muc
2. user1 mentions user2 in the muc
3. further chat ensues, not mentioning user2 or any user on this instance of gajim
## Expected behavior
I expect that number in the corner of the workspace icon will match the number of unread messages mentioning my users in gajim. It should should not count unread messages that do not mention my nick. Since the workspace icon shows no message count until a user has been mentioned, I'm assuming that this count is intended to only show the number of unread messages with mentions of my user, not total unread messages.
## Actual behavior
After user2 is mentioned, the workspace icon mention count will match the number of total unread messages for the user that has been mentioned, as displayed on the tab for the given user in muc.
This is the total unread messages in the muc for user2:
![muc-unread-count](/uploads/a77b3f14e18d882de185c8ebd39a8eea/muc-unread-count.png)
This is the workspace icon showing that user2 has 8 unread mentions, while he only has 1 unread mention and 7 unread messages without mentions.
![workspace-mention-count](/uploads/e60c7c6f20f530fdfa7326be118628c2/workspace-mention-count.png)https://dev.gajim.org/gajim/gajim/-/issues/11252Excessive startup/connection time when connecting to a non-internet server2023-01-24T08:13:47Zbnk2Excessive startup/connection time when connecting to a non-internet server## Versions
- OS: Windows 10, Debian 11
- Gajim version: `1.4.7`, `1.5.2`
- GTK version: `3.24.24`, `3.24.34`
- Python-nbxmpp version: `3.2.3`, `3.2.4`
## Steps to reproduce the problem
1.Start Gajim in a network environment...## Versions
- OS: Windows 10, Debian 11
- Gajim version: `1.4.7`, `1.5.2`
- GTK version: `3.24.24`, `3.24.34`
- Python-nbxmpp version: `3.2.3`, `3.2.4`
## Steps to reproduce the problem
1.Start Gajim in a network environment which is **not** connected to the Internet.
## Expected behavior
A quicker startup.
## Actual behavior
It takes approximately one minute until the application icon turns into a world symbol and another minute until the client is connected to the server.
The Gajim client is running in the same intranet network environment like the Jabber server: `ejabberd 22.5.0`https://dev.gajim.org/gajim/gajim/-/issues/11256Improve Ctrl+Tab behavior, introduce hotkeys for chat history navigation2022-11-01T09:23:44ZAnon ymousImprove Ctrl+Tab behavior, introduce hotkeys for chat history navigation`Ctrl`+`Tab` is a really nice hotkey to quickly jump between conversations with unread messages.
I'd like to propose an improvement, where `Ctrl`+`Tab` would act like `Alt`+`Tab` when there are no conversations with unread messages (cur...`Ctrl`+`Tab` is a really nice hotkey to quickly jump between conversations with unread messages.
I'd like to propose an improvement, where `Ctrl`+`Tab` would act like `Alt`+`Tab` when there are no conversations with unread messages (currently `Ctrl`+`Tab` acts as `Ctrl`+`PgDown` when there are no unread messages).
It is more intuitive behavior, considering the behavior of `Alt`+`Tab` on most operating systems.
So, Gajim could take note of the previously active conversation in a variable, then switch back to that conversation with `Ctrl`+`Tab` _if_ there is no conversation with unread messages.https://dev.gajim.org/gajim/gajim/-/issues/11265Switching chat gives KeyError in app.nicks[account]2022-11-01T22:37:23Zdiode24Switching chat gives KeyError in app.nicks[account]## 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: 3.2.5
- Gajim Version: 1.5.3
## 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: 3.2.5
- Gajim Version: 1.5.3
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/gtk/chat_page.py", line 161, in _on_chat_selected
self._chat_stack.show_chat(account, jid)
File "/usr/lib/python3/dist-packages/gajim/gtk/chat_stack.py", line 193, in show_chat
self._message_action_box.switch_contact(self._current_contact)
File "/usr/lib/python3/dist-packages/gajim/gtk/message_actions_box.py", line 214, in switch_contact
self.msg_textview.switch_contact(contact)
File "/usr/lib/python3/dist-packages/gajim/gtk/message_input.py", line 243, in switch_contact
app.storage.drafts.set(self._contact, self.get_text())
File "/usr/lib/python3/dist-packages/gajim/common/storage/draft.py", line 31, in set
self.remove(contact)
File "/usr/lib/python3/dist-packages/gajim/common/storage/draft.py", line 42, in remove
self.notify('draft-update', contact, None)
File "/usr/lib/python3/dist-packages/gajim/common/helpers.py", line 1308, in notify
func(self, signal_name, *args, **kwargs)
File "/usr/lib/python3/dist-packages/gajim/gtk/chat_list_row.py", line 379, in _on_draft_update
self._show_draft(draft)
File "/usr/lib/python3/dist-packages/gajim/gtk/chat_list_row.py", line 384, in _show_draft
self._display_last_conversation_line()
File "/usr/lib/python3/dist-packages/gajim/gtk/chat_list_row.py", line 163, in _display_last_conversation_line
our_nick = get_group_chat_nick(
File "/usr/lib/python3/dist-packages/gajim/common/helpers.py", line 1418, in get_group_chat_nick
nick = app.nicks[account]
KeyError: 'example.com'
```
## Steps to reproduce the problem
I'm not sure exactly. The immediate action that seemed to cause it was clicking on a chat tab.https://dev.gajim.org/gajim/gajim/-/issues/11271Pass MessageProperties through add_message to the UI so that plugins can use it2024-02-21T22:19:07ZsingpolymaPass MessageProperties through add_message to the UI so that plugins can use itRight now, the raw MessageProperties is passed in to the message received event, but then in ChatControl they are not passed along to add_message or into the ConversationView or MessageRow at all, so plugins hooking into the view cannot ...Right now, the raw MessageProperties is passed in to the message received event, but then in ChatControl they are not passed along to add_message or into the ConversationView or MessageRow at all, so plugins hooking into the view cannot access this data.
Context: I would like to write a plugin to add an indicator to message that have a thread to show what thread they are in, but currently properties.thread is not passed in to the UI and so I don't have access to it there.https://dev.gajim.org/gajim/gajim/-/issues/11275Display chat markers in MUCs2023-10-06T15:03:34ZPhilipp Höristphilipp@hoerist.comDisplay chat markers in MUCs"Displayed" chat markers for MUCs do not seem to be in use in gajim.
This is nice to make sure that your messages are actually read by someone, especially in a context (mobile clients) where presence information is often irrelevant."Displayed" chat markers for MUCs do not seem to be in use in gajim.
This is nice to make sure that your messages are actually read by someone, especially in a context (mobile clients) where presence information is often irrelevant.https://dev.gajim.org/gajim/gajim/-/issues/11278Add support for XEP-0466: Ephemeral Messages2023-07-11T18:04:22ZpaskalitoAdd support for XEP-0466: Ephemeral Messageshttps://xmpp.org/extensions/xep-0466.html
This XEP allows to set a lifespan on Messages after that they shall be deleted.
This would allow for certain use cases not yet possible. And improve the "Datensparsamkeit" of Gajim.
So that if a...https://xmpp.org/extensions/xep-0466.html
This XEP allows to set a lifespan on Messages after that they shall be deleted.
This would allow for certain use cases not yet possible. And improve the "Datensparsamkeit" of Gajim.
So that if a Device gets in the Wrong hands Damage done by very Old Chathistory's is greatly reducedhttps://dev.gajim.org/gajim/gajim/-/issues/11282Crash when trying to remove an account with changed login details2023-02-16T21:37:53ZAurabindo PillaiCrash when trying to remove an account with changed login details## Versions:
- OS: Windows 10
- GTK Version: 3.24.34
- PyGObject Version: 3.42.1
- GLib Version : 2.72.3
- python-nbxmpp Version: 3.2.4
- Gajim Version: 1.5.2
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/ap...## Versions:
- OS: Windows 10
- GTK Version: 3.24.34
- PyGObject Version: 3.42.1
- GLib Version : 2.72.3
- python-nbxmpp Version: 3.2.4
- Gajim Version: 1.5.2
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/settings.py", line 841, in get_group_chat_setting
KeyError: 'notify_on_all_messages'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/status_icon.py", line 91, in _on_unread_count_changed
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/status_icon.py", line 234, in update_state
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/main.py", line 840, in get_total_unread_count
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/chat_list_stack.py", line 327, in get_total_unread_count
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/chat_list.py", line 111, in get_unread_count
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/chat_list.py", line 111, in <genexpr>
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/gtk/chat_list_row.py", line 196, in unread_count
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/modules/contacts.py", line 830, in can_notify
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/modules/contacts.py", line 91, in get
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/settings.py", line 844, in get_group_chat_setting
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.10/site-packages/gajim/common/app.py", line 160, in get_client
KeyError: 'matrix.amd.com'
```
1. Setup a local account with Prosody server
2. Sign in with username@domain.ext
3. Change the server installation (I switched over to Ejabberd) with a different username, say username2@domain.ext
4. Remove this account (intention was to login with new credentials). This causes crash.
...https://dev.gajim.org/gajim/gajim/-/issues/11285Add media/URL collection browser/gallery for conversations2023-11-17T06:23:20ZDaniel BrötzmannAdd media/URL collection browser/gallery for conversationsEach conversation should have a place where users can look up shared media/URLs.
This needs:
* A database for files shared in each conversation
* Reliable URL matching for searching in logsEach conversation should have a place where users can look up shared media/URLs.
This needs:
* A database for files shared in each conversation
* Reliable URL matching for searching in logshttps://dev.gajim.org/gajim/gajim/-/issues/11288Bookmarks (XEP-0402): Support leaving group chat if another client leaves2022-11-18T13:36:21ZDaniel BrötzmannBookmarks (XEP-0402): Support leaving group chat if another client leavesPart of [XEP-0402: PEP Native Bookmarks](https://xmpp.org/extensions/xep-0402.html)
See https://xmpp.org/extensions/xep-0402.html#notificationsPart of [XEP-0402: PEP Native Bookmarks](https://xmpp.org/extensions/xep-0402.html)
See https://xmpp.org/extensions/xep-0402.html#notificationshttps://dev.gajim.org/gajim/gajim/-/issues/11298Mirror message actions menu entries within row context menu2024-02-11T22:03:25ZJean LouisMirror message actions menu entries within row context menu12:10 - Louis: Gajim developers, the copy function on right side with ellipsis is almost invisible. Do what people expect in general from other software, and put copy, quote, select messages on the right mouse button menu12:10 - Louis: Gajim developers, the copy function on right side with ellipsis is almost invisible. Do what people expect in general from other software, and put copy, quote, select messages on the right mouse button menuhttps://dev.gajim.org/gajim/gajim/-/issues/11299[preview] Add 'Share…' menu item2023-06-09T12:46:33ZJean Louis[preview] Add 'Share…' menu item20:20 - Louis: It would be useful to have right click on those widgets that appear in Gajim for pictures, files, and "Share to..." and select one or multiple users and groups to share to.20:20 - Louis: It would be useful to have right click on those widgets that appear in Gajim for pictures, files, and "Share to..." and select one or multiple users and groups to share to.https://dev.gajim.org/gajim/gajim/-/issues/11301AssertionError when trying to send a form or a pubsub query via XML console2023-06-06T18:24:28ZJean LouisAssertionError when trying to send a form or a pubsub query via XML console## Versions:
- OS: Parabola GNU/Linux-libre rolling (n/a)
- GTK Version: 3.24.34
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 3.2.5
- Gajim Version: 1.5.3
## Traceback
```
Traceback (most recent call last...## Versions:
- OS: Parabola GNU/Linux-libre rolling (n/a)
- GTK Version: 3.24.34
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 3.2.5
- Gajim Version: 1.5.3
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/gajim/gtk/xml_console.py", line 253, in _on_send
assert isinstance(node, nbxmpp.Protocol)
AssertionError
```
## Steps to reproduce the problem
...
I have tried sending this, even if wrong, it should not be the error of this kind:
```
<x xmlns='jabber:x:data'
type='form'>
<title/>
<instructions/>
<field var='field-name'
type='text-single'
label='description'>
<desc/>
<required/>
<value>field-value</value>
<option label='option-label'><value>option-value</value></option>
<option label='option-label'><value>option-value</value></option>
</field>
</x>
```https://dev.gajim.org/gajim/gajim/-/issues/11313netifaces dependency not mentioned anywhere2022-12-04T16:40:13ZPhilipp Höristphilipp@hoerist.comnetifaces dependency not mentioned anywhereThere is one place in Jingle code where import the module netifaces.
Its unclear if this code path is every hit, because nobody complained that this is not in our dependency list.There is one place in Jingle code where import the module netifaces.
Its unclear if this code path is every hit, because nobody complained that this is not in our dependency list.https://dev.gajim.org/gajim/gajim/-/issues/11319ConversationView: Row gets scrolled to when clicked on2022-12-13T13:12:51ZMartinConversationView: Row gets scrolled to when clicked on**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian 12
- Gajim version: 1.5.4
- GTK version: 3.24.35
- Python-nbxmpp version: 3.2.5
## Steps to reproduce the problem
1. send/rec...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian 12
- Gajim version: 1.5.4
- GTK version: 3.24.35
- Python-nbxmpp version: 3.2.5
## Steps to reproduce the problem
1. send/receive a long preformatted text (enclosed in triple back ticks "```"), which does not fit completely on the screen
1. try to select text in one of the final lines by double-clicking on a word
## Expected behavior
word gets selected, nothing else
## Actual behavior
the conversation window jumps, so that the begin of the message becomes visible, but that distorts the selection most of the time and is also confusing and annoying for the userhttps://dev.gajim.org/gajim/gajim/-/issues/11322Clear pending subscriptions/notifications list of blocked contacts2022-12-12T08:27:06ZPirate Praveen ArimbrathodiyilClear pending subscriptions/notifications list of blocked contactsCurrently if I block a spam contact from chat details, the pending subscriptions list is not cleared automatically. Also if a user is blocked using another client, the subscription list is not cleared. I think when gajim starts it should...Currently if I block a spam contact from chat details, the pending subscriptions list is not cleared automatically. Also if a user is blocked using another client, the subscription list is not cleared. I think when gajim starts it should clear subscription requests of already blocked contacts.
## Versions
- OS: Debian sid
- Gajim version: 1.5.4-1
- GTK version: 4.8.2+ds-4
- Python-nbxmpp version: 3.2.5-1
## Steps to reproduce the problem
1. Send a contact request from another account and send a message
1. from the chat window, use block contact option
1. check the pending requests list (at bottom left)
## Expected behavior
The subscription request should be cleared from notifications along with the block.
## Actual behavior
we have to manually clear the blocked contact from the pending requests list/notifications.https://dev.gajim.org/gajim/gajim/-/issues/11337Captcha MUC: Gajim is unable to distinguish between groupchat and a roster co...2023-02-01T08:21:23ZJohn SmithCaptcha MUC: Gajim is unable to distinguish between groupchat and a roster contact**Please first check if another issue has been opened for your problem**
## Versions
- OS: Fedora 37
- Gajim version: 1.5.4
- GTK version: 3.24.35
- Python-nbxmpp version: 3.2.5
## Steps to reproduce the problem
I have two cl...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Fedora 37
- Gajim version: 1.5.4
- GTK version: 3.24.35
- Python-nbxmpp version: 3.2.5
## Steps to reproduce the problem
I have two clients: Conversations and Gajim. Both online at the same time. The story is like this:
1. I joined a groupchat with Conversations and got a message about a CAPTCHA that I need to enter
2. I entered the CAPTCHA and the server let me through with Conversations
3. Next I see that Gajim did not join the groupchat, but has several messages about CAPTCHA from this groupchat like from the roster contact
4. I am unable to join the groupchat because Gajim thinks it's a roster contact
5. Gajim restarted, the groupchat removed from roster manually (not sure in which order)
6. Joined the groupchat.
7. Now Gajim does not suggest nicks in the groupchat.
## Expected behavior
1. Gajim hadnles CAPTCHA messages properly and correctly distinguishes between groupchat and a 1-to-1 chat.
2. Gajim suggests nicknames in groupchats.
## Actual behavior
```
12/15/2022 12:24:04 (W) gajim.c.m.muc (helldev.net) Can’t join MUC xxx@conference.example.com, state: JOINING
Traceback (most recent call last):
File "/usr/lib/python3.11/site-packages/gajim/gtk/start_chat.py", line 483, in _on_join_clicked
app.window.show_add_join_groupchat(
File "/usr/lib/python3.11/site-packages/gajim/gtk/main.py", line 1125, in show_add_join_groupchat
self.add_group_chat(account, JID.from_string(jid), select=True)
File "/usr/lib/python3.11/site-packages/gajim/gtk/main.py", line 923, in add_group_chat
self._chat_page.add_chat_for_workspace(workspace_id,
File "/usr/lib/python3.11/site-packages/gajim/gtk/chat_page.py", line 235, in add_chat_for_workspace
client.get_module('Contacts').add_group_chat_contact(jid)
File "/usr/lib/python3.11/site-packages/gajim/common/modules/contacts.py", line 149, in add_group_chat_contact
raise ValueError(f'Trying to add GroupchatContact {jid}, '
ValueError: Trying to add GroupchatContact xxx@conference.example.com, but contact already exists as xxx@conference.example.com (helldev.net) (in roster: False)
```
```
Traceback (most recent call last):
File "/usr/lib/python3.11/site-packages/gajim/gtk/chat_action_processor.py", line 83, in _on_key_press
res = self._nick_completion.process_key_press(textview, event)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/gajim/gtk/groupchat_nick_completion.py", line 87, in process_key_press
self._suggestions = self._generate_suggestions(prefix)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/gajim/gtk/groupchat_nick_completion.py", line 149, in _generate_suggestions
if _nick_matching(nick):
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/gajim/gtk/groupchat_nick_completion.py", line 132, in _nick_matching
participant = self._contact.get_resource(nick)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/gajim/common/modules/contacts.py", line 714, in get_resource
contact = self.add_resource(resource)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/gajim/common/modules/contacts.py", line 690, in add_resource
assert resource is not None
AssertionError
```https://dev.gajim.org/gajim/gajim/-/issues/11345ValueError: Trying to add GroupchatContact, but contact already exists2024-01-19T19:38:41ZJean LouisValueError: Trying to add GroupchatContact, but contact already exists## Versions:
- OS: Parabola GNU/Linux-libre rolling (n/a)
- GTK Version: 3.24.35
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 3.2.5
- Gajim Version: 1.5.4
## Traceback
```
Traceback (most recent call last...## Versions:
- OS: Parabola GNU/Linux-libre rolling (n/a)
- GTK Version: 3.24.35
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 3.2.5
- Gajim Version: 1.5.4
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/gajim/gtk/application.py", line 384, in _handle_local_options
self._startup()
File "/usr/lib/python3.10/site-packages/gajim/gtk/application.py", line 269, in _startup
MainWindow()
File "/usr/lib/python3.10/site-packages/gajim/gtk/main.py", line 153, in __init__
self._load_chats()
File "/usr/lib/python3.10/site-packages/gajim/gtk/main.py", line 1216, in _load_chats
self._chat_page.load_workspace_chats(workspace_id)
File "/usr/lib/python3.10/site-packages/gajim/gtk/chat_page.py", line 266, in load_workspace_chats
self.add_chat_for_workspace(workspace_id,
File "/usr/lib/python3.10/site-packages/gajim/gtk/chat_page.py", line 235, in add_chat_for_workspace
client.get_module('Contacts').add_group_chat_contact(jid)
File "/usr/lib/python3.10/site-packages/gajim/common/modules/contacts.py", line 149, in add_group_chat_contact
raise ValueError(f'Trying to add GroupchatContact {jid}, '
ValueError: Trying to add GroupchatContact acihej@groups.xmpp.club, but contact already exists as acihej@groups.xmpp.club (xmpp.club) (in roster: True)
```
## Steps to reproduce the problem
...https://dev.gajim.org/gajim/gajim/-/issues/11346Adhoc error on lw.org when using 'Optin for the user search directory'2023-01-05T11:10:39Zdiode24Adhoc error on lw.org when using 'Optin for the user search directory'## 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: 3.2.5
- Gajim Version: 1.5.4
## 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: 3.2.5
- Gajim Version: 1.5.4
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/gtk/adhoc.py", line 148, in _on_button_clicked
self._on_cancel()
File "/usr/lib/python3/dist-packages/gajim/gtk/adhoc.py", line 184, in _on_cancel
command, _ = stage_page.stage_data
File "/usr/lib/python3/dist-packages/gajim/gtk/adhoc.py", line 280, in stage_data
assert self._dataform_widget is not None
AssertionError
```
## Steps to reproduce the problem
1. Discover Services on lightwitch.org
1. Select "LW.org IM User Directory" and press "Command"
1. Select and execute "Optin for the user search directory"
1. window displays "You can't signup to this directory sorry"
1. press the "Cancel" button on this windowhttps://dev.gajim.org/gajim/gajim/-/issues/11355chat search filter 'from:' cannot handle nicknames containing whitespace2023-01-05T10:12:41Zdiode24chat search filter 'from:' cannot handle nicknames containing whitespace- Gajim 1.5.4 (20230102-1)
## Steps to reproduce problem
1. set nickname to 'some person'
2. post a message with this nick
3. do chat search for `from:some person`, alternatively `from:'some person'`, or `from:"some person"`, or `from:s...- Gajim 1.5.4 (20230102-1)
## Steps to reproduce problem
1. set nickname to 'some person'
2. post a message with this nick
3. do chat search for `from:some person`, alternatively `from:'some person'`, or `from:"some person"`, or `from:some\ person`
4. no results show uphttps://dev.gajim.org/gajim/gajim/-/issues/11366Self-signed certificate issues2023-10-21T13:02:16ZMikriziSelf-signed certificate issues**Please first check if another issue has been opened for your problem**
## Versions
- OS:
- Gajim version: 1.6.0
- GTK version: 3.24.36
- Python-nbxmpp version: 4.0.0
The problem is with TLS certificates.
If you use your h...**Please first check if another issue has been opened for your problem**
## Versions
- OS:
- Gajim version: 1.6.0
- GTK version: 3.24.36
- Python-nbxmpp version: 4.0.0
The problem is with TLS certificates.
If you use your home server, not buying a TLS certificate from someone, but issuing it to yourself, then Gajim at first refuses to connect to the server, even if you check the box "add the certificate to the exception", you have to set the "use insecure connection" function in the profile settings .
Communication is available only in text, neither files nor photos are sent due to a self-signed certificate.
Question - why is Gajim still unable to provide full-fledged communication on his home server? Why am I obligated to buy TLS from someone, without the possibility of normal use of a self-issued one?
The problem does not depend on the version of Gajim
XMPP Server - OpenFirehttps://dev.gajim.org/gajim/gajim/-/issues/11374Feature request: remember workspace of closed chats2023-06-15T19:50:40ZNicocoFeature request: remember workspace of closed chats## Description of the new feature
It would be great if gajim "remembered" the workspace a chat was assigned to even when it's closed, so that it opens in the "right" workspace the next time it's opened (either because of an incoming mes...## Description of the new feature
It would be great if gajim "remembered" the workspace a chat was assigned to even when it's closed, so that it opens in the "right" workspace the next time it's opened (either because of an incoming message, or because of a double click in the roster view).https://dev.gajim.org/gajim/gajim/-/issues/11377AttributeError: 'BareContact' object has no attribute 'muc_context' on Reset ...2023-01-15T17:19:54ZmesoniumAttributeError: 'BareContact' object has no attribute 'muc_context' on Reset of various settings## Versions:
- OS: Linux 6.1.4-1-default
- GTK Version: 3.24.35
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 4.0.1
- Gajim Version: 1.6.1+1517a86593a3
## Steps to reproduce the problem
1. Open account ...## Versions:
- OS: Linux 6.1.4-1-default
- GTK Version: 3.24.35
- PyGObject Version: 3.42.2
- GLib Version : 2.74.0
- python-nbxmpp Version: 4.0.1
- Gajim Version: 1.6.1+1517a86593a3
## Steps to reproduce the problem
1. Open account page
2. Go to account settings -> Privacy
3. Reset "Send Read Markers" OR "Send Chatstate in Group Chats"
OR
1. Open Preferences
2. Go to chats
3. Reset "Show Joined / Left" or "Show Status Changes"
## Tracebacks
```
Traceback (most recent call last):
File "gajim/gajim/gtk/accounts.py", line 912, in _reset_send_read_marker
app.settings.set_group_chat_settings(
File "gajim/gajim/common/settings.py", line 1015, in set_group_chat_settings
if contact.muc_context != context:
^^^^^^^^^^^^^^^^^^^
AttributeError: 'BareContact' object has no attribute 'muc_context'
```
```
Traceback (most recent call last):
File "gajim/gajim/gtk/accounts.py", line 885, in _reset_gc_send_chatstate
app.settings.set_group_chat_settings('send_chatstate', None)
File "gajim/gajim/common/settings.py", line 1017, in set_group_chat_settings
self.set_group_chat_setting(account, jid, setting, value)
File "gajim/gajim/common/settings.py", line 966, in set_group_chat_setting
context = contact.muc_context
^^^^^^^^^^^^^^^^^^^
AttributeError: 'BareContact' object has no attribute 'muc_context'
```
```
Traceback (most recent call last):
File "gajim/gajim/gtk/preferences.py", line 384, in _reset_join_left
app.settings.set_group_chat_settings('print_join_left', None)
File "gajim/gajim/common/settings.py", line 1017, in set_group_chat_settings
self.set_group_chat_setting(account, jid, setting, value)
File "gajim/gajim/common/settings.py", line 966, in set_group_chat_setting
context = contact.muc_context
^^^^^^^^^^^^^^^^^^^
AttributeError: 'BareContact' object has no attribute 'muc_context'
```https://dev.gajim.org/gajim/gajim/-/issues/11393History is missing if one is joined a groupchat with 2 accounts2023-12-26T13:28:03ZPhilipp Höristphilipp@hoerist.comHistory is missing if one is joined a groupchat with 2 accountsWhen someone is joined with two accounts the same groupchat in Gajim, history is not downloaded for both accounts.
The problem seems to be that the database table who stores the last mam-id is not account specific.When someone is joined with two accounts the same groupchat in Gajim, history is not downloaded for both accounts.
The problem seems to be that the database table who stores the last mam-id is not account specific.https://dev.gajim.org/gajim/gajim/-/issues/11501OMEMO does not work in private group with only one member2023-11-15T21:26:39ZtapeteOMEMO does not work in private group with only one member## Versions
- OS: Linux Mint 21.1
- Gajim version: 1.7.0
- GTK version: ?
- Python-nbxmpp version: ?
## Steps to reproduce the problem
1. Create a private group using gajim
1. Add only yourself to the group (omemo activate...## Versions
- OS: Linux Mint 21.1
- Gajim version: 1.7.0
- GTK version: ?
- Python-nbxmpp version: ?
## Steps to reproduce the problem
1. Create a private group using gajim
1. Add only yourself to the group (omemo activated)
1. Write a message to the group
## Expected behavior
Message should show up
## Actual behavior
Message can not be send because of the following error:
![grafik](/uploads/540f566a914e71523fe092e3cfda583a/grafik.png)
All omemo keys of myself are trusted. This error does not appear if the group does have more members.https://dev.gajim.org/gajim/gajim/-/issues/11397Emacs key bindings GTK theme interference2023-02-11T21:42:23Zmjk-ghEmacs key bindings GTK theme interference**Please first check if another issue has been opened for your problem**
It seems there were a few issues about Emacs key-binding theme interferences in the past, but the patches/fixes introduced there seem to have worn off over time:
...**Please first check if another issue has been opened for your problem**
It seems there were a few issues about Emacs key-binding theme interferences in the past, but the patches/fixes introduced there seem to have worn off over time:
- #3738
- #6786
- #6874
- #7254
## Versions
- OS: Devuan Chimaera (stable), AMD64
- Gajim version: 1.4.7 (can't easily check newer versions)
- GTK version: 3.24.24
- Python-nbxmpp version: 3.2.3
## Steps to reproduce the problem
1. Hit Ctrl-p, Ctrl-n, Ctrl-s etc.
1. Watch them not doing the expected Emacs thing, but something Gajim specific (or nothing at all)
## Expected behavior
When the Emacs key-binding theme is configured in GTK, I expect most of the basic Emacs key-bindings to work:
Ctrl-f - move to next character
Ctrl-b - move to previous character
Alt-f - move to next word
Alt-b - move to previous word
Ctrl-n - next line
Ctrl-p - previous line
Ctrl-e - move to end of line [EDIT]
Alt-d - delete from current character to end of word
Ctrl-k - delete from current character to end of line
Ctrl-u - delete from current character to beginning of line
Ctrl-w - cut to "clipboard"
Alt-w - copy to "clipboard"
Ctrl-y - paste from "clipboard"
Ctrl-space - set mark (e.g. for operations above) / begin selection / end selection
Ctrl-h - same as backspace
I could personally live without Ctrl-h acting as backspace, because there is already a backspace key on the keyboard, but Ctrl-h can be actually much more efficient, so maybe Ctrl-h should also do the Emacs thing (instead of invoking the history dialog).
In the context of Gajim, I would also wish for at least one Gajim-specific adaptation/translation of an Emacs binding, namely:
Ctrl-s: Emacs: Incremental search, Gajim: Open (and maybe close) search dialog
## Actual behavior
Ctrl-n: opens start/join chat dialog
Ctrl-p: opens preferences dialog
Ctrl-e: opens plugins dialog [EDIT]
Ctrl-w: delete from current character to beginning of word
Alt-w: nothing happens
Ctrl-space: nothing happens
Ctrl-h: opens search dialoghttps://dev.gajim.org/gajim/gajim/-/issues/11399Implement XEP-0424: Message Retraction2024-02-15T11:23:42ZDaniel BrötzmannImplement XEP-0424: Message RetractionImplement [XEP-0424: Message Retraction](https://xmpp.org/extensions/xep-0424.html). Needs gajim/python-nbxmpp#138
From the XEP:
> A chat participant might want to retract a message which they've already sent out, for example if they'v...Implement [XEP-0424: Message Retraction](https://xmpp.org/extensions/xep-0424.html). Needs gajim/python-nbxmpp#138
From the XEP:
> A chat participant might want to retract a message which they've already sent out, for example if they've mistakenly sent it to the wrong recipient or groupchat.
> Due to the federated and extensible nature of XMPP it's not possible to remove a message with full certainty and a retraction can only be considered an unenforceable request for such removal. Clients which don't support message retraction are not obligated to enforce the request and people could have seen or copied the message contents already.
Gajim already supports [XEP-0425: Message Moderation](https://xmpp.org/extensions/xep-0425.html) for group chat moderation.https://dev.gajim.org/gajim/gajim/-/issues/11402Implement universal search2023-02-23T13:16:03ZDaniel BrötzmannImplement universal searchGajim offers multiple search inputs for various functionalities: Start Chat, chat list search, message history search, group chat participants filtering, ...
Ideas for a universal search:
* Use Start Chat as starting point, but maybe i...Gajim offers multiple search inputs for various functionalities: Start Chat, chat list search, message history search, group chat participants filtering, ...
Ideas for a universal search:
* Use Start Chat as starting point, but maybe in a Gajim-wide overlay
* Show universal search when clicking the chat list's search bar
* Show search results in a categorized layout, i.e. Show Chat, Preferences, Group chat participants
* Enable searching for:
- Chats
- Group chat participants
- Preferences
- Account settings
- Plugin settings
- Messages (chat history)
- Shortcuts
- Menu actions (i.e. Add Contact…, Plugins)https://dev.gajim.org/gajim/gajim/-/issues/11410Gajim ignores not-acceptable errors from MUCs2024-03-19T05:36:38ZNicocoGajim ignores not-acceptable errors from MUCsFrom https://xmpp.org/extensions/xep-0045.html#message
> If the sender is not an occupant of the room, the service SHOULD return a `<not-acceptable/>` error to the sender
## Versions
- OS: debian bullseye
- Gajim version: 1.7.0 (f...From https://xmpp.org/extensions/xep-0045.html#message
> If the sender is not an occupant of the room, the service SHOULD return a `<not-acceptable/>` error to the sender
## Versions
- OS: debian bullseye
- Gajim version: 1.7.0 (flatpak)
## Steps to reproduce the problem
1. Send a message in a MUC
1. Receive an error stanza from the MUC (that should be interpreted as 'gajim is not a participant')
## Expected behavior
Gajim should consider that it is not joined to the MUC, and either attempt to reconnect or at least display an error, ideally offering to reconnect.
## Actual behavior
The error stanza has not effect on gajim UI: the message is not reflected, which is a hint that something went wrong, but the only workaround is to close/reopen the MUC.
From the gajim XML console:
```xml
<!-- Outgoing mer. 22 févr. 2023 11:05:51 (test@localhost) -->
<message xmlns="jabber:client" to="prout-1@dummy.localhost" type="groupchat" id="a1026e5d-616f-4471-aa5c-8b8fd76ded74">
<body>f</body>
<origin-id xmlns="urn:xmpp:sid:0" id="a1026e5d-616f-4471-aa5c-8b8fd76ded74" />
<active xmlns="http://jabber.org/protocol/chatstates" />
<markable xmlns="urn:xmpp:chat-markers:0" />
</message>
<!-- Incoming mer. 22 févr. 2023 11:05:51 (test@localhost) -->
<message xmlns="jabber:client" xml:lang="en" to="test@localhost/gajim.EF51PE8Y" from="prout-1@dummy.localhost" type="error" id="a1026e5d-616f-4471-aa5c-8b8fd76ded74">
<error type="modify">
<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">You are not connected to this chat</text>
</error>
<stanza-id by="test@localhost" id="XwsqJxx7yw0YJKdUHumrCKef" xmlns="urn:xmpp:sid:0" />
</message>
```
(but nothing in the GUI)
## Additional context
This can happen when a MUC service goes down without notifying connected clients via "kick-like presences".
While this should not happen in theory, connectivity/hardware failures may happen.
FWIW, yes slidge does that sometimes (it shouldn't but well, stuff happens), but I believe I already saw this happen with 'regular MUCs' in the past. I noticed because no activity/messages I tried to send were not echoed.
MUC self-ping (https://dev.gajim.org/gajim/python-nbxmpp/-/issues/133) is another way to detect MUC services that went down, by regularly pinging the MUC, but I think both could be used in parallel.https://dev.gajim.org/gajim/gajim/-/issues/11415Preview: UnicodeEncodeError: 'latin-1' codec can't encode characters in posit...2023-04-26T18:03:53ZAlex HotoiPreview: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 56-59: ordinal not in range(256)## Versions:
- OS: Linux 5.19.0-29-generic
- GTK Version: 3.24.36
- PyGObject Version: 3.42.2
- GLib Version : 2.74.5
- python-nbxmpp Version: 4.2.0
- Gajim Version: 1.7.1
## Traceback
```
Traceback (most recent call last):
File "/app...## Versions:
- OS: Linux 5.19.0-29-generic
- GTK Version: 3.24.36
- PyGObject Version: 3.42.2
- GLib Version : 2.74.5
- python-nbxmpp Version: 4.2.0
- Gajim Version: 1.7.1
## Traceback
```
Traceback (most recent call last):
File "/app/lib/python3.10/site-packages/gajim/common/preview.py", line 550, in _on_finished
write_file_async(preview.orig_path,
File "/app/lib/python3.10/site-packages/gajim/common/helpers.py", line 1379, in write_file_async
file = Gio.File.new_for_path(str(path))
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 56-59: ordinal not in range(256)
```
## Steps to reproduce the problem
...https://dev.gajim.org/gajim/gajim/-/issues/11451Inline replies in notifications2023-03-26T18:54:26ZZimbelsternInline replies in notificationsHello from Debian bookworm with KDE Plasma running Gajim 1.7.1!
Thank you for developing one of my most used and most loved* applications!
## Description of the new feature
You can reply to new messages directly from the notification....Hello from Debian bookworm with KDE Plasma running Gajim 1.7.1!
Thank you for developing one of my most used and most loved* applications!
## Description of the new feature
You can reply to new messages directly from the notification.
Working examples:
- Chromium: Notifications sent from service workers ([inline replies](https://web.dev/push-notifications-notification-behaviour/#inline-replies))
- KDE Connect: Notifications on a connected Android device (I can reply to my XMPP chats from the desktop via KDE Connect and my Android phone running Conversations)
Thank you for considering this request.
---
_*though still waiting for XEP-0320 ;-)_https://dev.gajim.org/gajim/gajim/-/issues/11458Invalid certificate with generic error, since 1.7.x2023-04-15T08:21:41ZNoizetteInvalid certificate with generic error, since 1.7.xWhen trying to connect to my ejabberd server, Gajim fails with an unknown SSL certificate validation error.
This happens with Gajim 1.7.2 and 1.7.3 on different computers.
On one of them, it worked fine with 1.6 right before updating to...When trying to connect to my ejabberd server, Gajim fails with an unknown SSL certificate validation error.
This happens with Gajim 1.7.2 and 1.7.3 on different computers.
On one of them, it worked fine with 1.6 right before updating to 1.7.3, and I can connect with other clients (Dino, converse.js) without similar problem. So the certificate doesn't seem to be faulty.
It seems that on the first computer, it was working correctly on 1.7.2 until last week-end (so almost while 1 month) (not 100% sure it was effectively on 1.7.2, but like 90%, though).
Here's the log when launched with -v:
```
(I) nbxmpp.connection (noizette.net) Start TLS negotiation
(I) nbxmpp.stream (noizette.net) Start stream
(I) nbxmpp.stream (noizette.net) Set state: StreamState.WAIT_FOR_STREAM_START
(I) nbxmpp.connection (noizette.net) Found TLS certificate errors: {<flags G_TLS_CERTIFICATE_GENERIC_ERROR of type Gio.TlsCertificateFlags>}
(I) nbxmpp.connection (noizette.net) Signal: bad-certificate
(I) nbxmpp.stream (noizette.net) Set error: StreamError.BAD_CERTIFICATE, bad certificate, None
(I) nbxmpp.connection (noizette.net) Certificate Error: g-tls-error-quark: Certificat TLS inacceptable (2)
(I) nbxmpp.connection (noizette.net) Remove keepalive timer
(I) nbxmpp.connection (noizette.net) Set Connection State: TCPState.DISCONNECTED
(I) nbxmpp.connection (noizette.net) Signal: disconnected
(I) nbxmpp.stream (noizette.net) Set state: StreamState.DISCONNECTED
(I) nbxmpp.stream (noizette.net) Signal: disconnected
(I) gajim.client Disconnect noizette.net
(I) gajim.client State: ClientState.DISCONNECTED
```
It doesn't seem related to #11366, although it's a self-signed cert, as it was fine on 1.6, and I don't even have option to add the cert as an exception.
## Versions
- OS: Debian 11 / Ubuntu 22.04
- Gajim version: 1.7.2, 1.7.3
- GTK version: 3.24.37
- Python-nbxmpp version: 4.2.2https://dev.gajim.org/gajim/gajim/-/issues/11476Gajim does not use XEP-0172 (User Nickname) element in messages from entities...2024-03-06T15:15:10ZNicocoGajim does not use XEP-0172 (User Nickname) element in messages from entities not in rosterWhen receiving the following stanza…
```xml
<message type="chat" from="178220800@telegram.localhost/slidge" id="4731174912" to="test@localhost">
<body>Good news, no limits are currently applied to your account. You’re free as a bird!<...When receiving the following stanza…
```xml
<message type="chat" from="178220800@telegram.localhost/slidge" id="4731174912" to="test@localhost">
<body>Good news, no limits are currently applied to your account. You’re free as a bird!</body>
<active xmlns="http://jabber.org/protocol/chatstates" />
<markable xmlns="urn:xmpp:chat-markers:0" />
<store xmlns="urn:xmpp:hints" />
<!-- interesting part just below -->
<nick xmlns="http://jabber.org/protocol/nick">SpamBot</nick>
</message>
```
…which corresponds to the use case described in [4.2 Message Exchange](https://xmpp.org/extensions/xep-0172.html#message), gajim does not use the `<nick>` element and display the local part of the JID as the "chat title" in the UI.
It would be nice to use this "nick" element, when the user is not in the roster. This is useful for:
- bridges (obviously), where local parts are usually ugly integers
- quicksy contacts (maybe? not sure the `<nick>` element is included, but it should be…) that have a "phone number" local part, which is not very easy to identifyhttps://dev.gajim.org/gajim/gajim/-/issues/11481Let user choose preference on first window close2023-05-07T21:38:23ZPhilipp Höristphilipp@hoerist.comLet user choose preference on first window closeInstead of having defaults what to do on closing the main window, show a dialog with all options and a checkbox to save that preference, when first closing the window.
This allows us to accommodate all Desktop Environments, some of them...Instead of having defaults what to do on closing the main window, show a dialog with all options and a checkbox to save that preference, when first closing the window.
This allows us to accommodate all Desktop Environments, some of them may have no trayicon, some of them have.
Because there is no good way to discover that, lets simply ask the user.https://dev.gajim.org/gajim/gajim/-/issues/11483Improve Account Assistant2023-10-18T21:21:37ZPhilipp Höristphilipp@hoerist.comImprove Account AssistantI think the assistant could do more than *just* add an account.
My idea would be that the assistant after adding an account has a few more pages where it leads you through some account specific settings and lets you choose.
For example...I think the assistant could do more than *just* add an account.
My idea would be that the assistant after adding an account has a few more pages where it leads you through some account specific settings and lets you choose.
For example:
- Privacy Mode (Paranoid / Normal / Custom (then we jump into the account privacy tab))
Any other ideas?https://dev.gajim.org/gajim/gajim/-/issues/11489pasting large images into message input field causes delay2023-05-02T16:04:03Zdiode24pasting large images into message input field causes delay## Steps to reproduce
1. right click image in web browser that is greater than 10 MB
2. focus message input field in gajim and press ctrl+v
## Actual behavior
Gajim does not respond visibly for about 5 seconds.
## Expected behavior
I e...## Steps to reproduce
1. right click image in web browser that is greater than 10 MB
2. focus message input field in gajim and press ctrl+v
## Actual behavior
Gajim does not respond visibly for about 5 seconds.
## Expected behavior
I expect gajim to quickly show file upload view, or to give a visual indication that it is busy if this wait time is unavoidable.https://dev.gajim.org/gajim/gajim/-/issues/11497xml console account filter produces undesired new lines2023-12-18T15:08:40Zdiode24xml console account filter produces undesired new linesUsing the account filter in the xml console causes the console to print new lines (newlines) continually, as I assume these are not filtered out of the input.Using the account filter in the xml console causes the console to print new lines (newlines) continually, as I assume these are not filtered out of the input.https://dev.gajim.org/gajim/gajim/-/issues/11517Account window is not presented as foreground window when clicking manage keys2023-07-02T05:54:39Zdiode24Account window is not presented as foreground window when clicking manage keys- ubuntu 23.04
- gnome 1:42+8
- xorg 1:7.7+23ubuntu2
When opening the omemo manager for my own account via `private chat view > shield icon > gear icon 'Manage Your Devices...'`, the window that opens is behind the window used to open i...- ubuntu 23.04
- gnome 1:42+8
- xorg 1:7.7+23ubuntu2
When opening the omemo manager for my own account via `private chat view > shield icon > gear icon 'Manage Your Devices...'`, the window that opens is behind the window used to open it. It is hidden by the foreground window and cannot be brought to the foreground. I expect the new window to be raised to the foreground when opening.https://dev.gajim.org/gajim/gajim/-/issues/11531UI Feedback2024-02-16T12:17:29ZJim OlsonUI FeedbackThe redesign of Gajim is interesting and I am sure a lot of hard work went in it, however, some aspects of it make the UX very frustrating in my personal experience. Personally my experience would improve a lot with some small changes (u...The redesign of Gajim is interesting and I am sure a lot of hard work went in it, however, some aspects of it make the UX very frustrating in my personal experience. Personally my experience would improve a lot with some small changes (user-optional in some cases). Following is a list both of issues and new ideas:
1. Minimum width is too big and makes the app hard to use on small monitors and other setups. After a certain point some icons (eg send file button) get hidden but not others. This could be fixed simply by a) making the message input smaller to make room for these icons, or b) hiding the icons on both left and right, making the experience more consistent and easier to use with small setups. Moreover, after that, there is another point beyond which you can't make the window smaller anymore, this should also be removed.
2. Multiline message input behavior is inconsistent, at first if you write a second line then the first line becomes hidden, then after more lines you can see two lines at once but still not the first line, and then finally a scrollbar is added if you write a lot of lines at which point you can finally see everything. (tested on Lubuntu) Moreover the input only expands vertically up to a certain limited height which makes it very hard to deal with writing long messages. It should expand a lot more by default or at least the max height should be a user option.
3. A user should be able to constantly see the contact list while making it take up very small space if they want to (eg you see only avatar for each contact). This would be consistent with some popular messaging apps. Optimal would be an option for users to replace the workspaces on the left bar by this. A lot of people would prefer it that way. It would also save a lot of space. Actually if it replaces workspaces, user should be able to see usernames depending on how big they make the left bar.
4. You should be able to drag a contact/workspace to a new window.
5. User option to put contact list either on left of chat or at bottom of it by tabbed navigation, with option to show/hide usernames (keeping avatar only) in both instances.
6. Option to hide workspace name and contact search bar.https://dev.gajim.org/gajim/gajim/-/issues/11554MUC on re-join: AttributeError 'NoneType' object has no attribute 'send'2023-06-06T18:22:04ZDaniel BrötzmannMUC on re-join: AttributeError 'NoneType' object has no attribute 'send'# Error Details:
- Sentry event: https://dev.gajim.org/gajim/gajim/-/error_tracking/36/details
- First seen:
2023-06-06T04:03:56+00:00
- Last seen: 2023-06-06T04:03:57+00:00
- Event: 1
- Users: 0# Error Details:
- Sentry event: https://dev.gajim.org/gajim/gajim/-/error_tracking/36/details
- First seen:
2023-06-06T04:03:56+00:00
- Last seen: 2023-06-06T04:03:57+00:00
- Event: 1
- Users: 0https://dev.gajim.org/gajim/gajim/-/issues/11555Error handling for fatal SQL exceptions2023-06-06T15:31:02ZDaniel BrötzmannError handling for fatal SQL exceptionsGajim should have error handling for certain SQL exceptions we've seen in the past:
* `sqlite3.DatabaseError: database disk image is malformed`: For cache.db we simply reinitialize cache storage. While this would be okay-ish for setting...Gajim should have error handling for certain SQL exceptions we've seen in the past:
* `sqlite3.DatabaseError: database disk image is malformed`: For cache.db we simply reinitialize cache storage. While this would be okay-ish for settings.db and omemo.db, that's a no go for logs.db. In the case of logs.db, we need to inform the user about a critical database error and add an option to reinitialize (while creating a copy of the malformed database). See #11130, #10779, #9139
* `sqlite3.OperationalError: attempt to write a readonly database`: This issue has been seen for logs.db, cache.db, settings.db, and omemo.db from time to time on various operating systems. Since it may in some cases be a result of a locked file (AV software, etc.), we should probably inform the user as well and point to solutions (restart OS, check file, etc.) or offer to recreate storage. See #11081, #10976
* `sqlite3.OperationalError: database or disk is full`: In this case we should quit Gajim directly and leave a single dialog open which tells the user about the situation. Right now this situation leads to hundreds of database tracebacks. See #11428, #10864, #10864https://dev.gajim.org/gajim/gajim/-/issues/11556Add option to redact all messages when banning a user from a MUC2023-06-07T20:28:46ZJuliusAdd option to redact all messages when banning a user from a MUCQuite often when you ban a user from a MUC you also want to redact all the recent messages by the same user (spam etc.). Right now there is no easy way to do that and each message needs to be redacted individually.
A client side way to ...Quite often when you ban a user from a MUC you also want to redact all the recent messages by the same user (spam etc.). Right now there is no easy way to do that and each message needs to be redacted individually.
A client side way to easily deal with such cases would be a big time saver. Thanks!https://dev.gajim.org/gajim/gajim/-/issues/11561Windows: MSIX bundle/store page improvements2023-11-08T16:13:02ZDaniel BrötzmannWindows: MSIX bundle/store page improvementsSome things can be improved for the MS Store version.
Installer:
* [x] should register xmpp: scheme
* [ ] app manifest should include more languages than en-us
* [ ] create a desktop icon (?)
Store page:
* [ ] more screenshots at htt...Some things can be improved for the MS Store version.
Installer:
* [x] should register xmpp: scheme
* [ ] app manifest should include more languages than en-us
* [ ] create a desktop icon (?)
Store page:
* [ ] more screenshots at https://apps.microsoft.com/store/detail/gajim/9PGGF6HD43F9
* [x] high resolution screenshotshttps://dev.gajim.org/gajim/gajim/-/issues/11564TOR: Allow self-signed certs for http upload on .onion/.i2p domains2023-06-14T06:46:09Zlovetox fanboyTOR: Allow self-signed certs for http upload on .onion/.i2p domainsNow gajim allows plain next and self-signed for xmpp, BUT doesn't allow to send files via http upload neither with self-signed certificates nor with http plain text.
To support sending files to an xmpp server configured as a hidden ser...Now gajim allows plain next and self-signed for xmpp, BUT doesn't allow to send files via http upload neither with self-signed certificates nor with http plain text.
To support sending files to an xmpp server configured as a hidden service in anonymous networks such as tor and i2p we need a setting that would allow to use self-signed certificates
This setting must turn off certificate validation for all child subdomains: *.onion *.i2p (xyz.onion, upload.xyz.onion, a.b.c.d.onion, something.b32.i2p and etc). this should work for both file transfers and previews
1) i think the best solution could be a setting that would globally disable certificate check for any domain. this setting is insecure if we use in the same gajim profile accounts in both hidden service and clearnet at the same time. but this problem can be solved by using different profiles with different settings - one with certificate check for normal servers, one without certificate check for servers configured as a hidden service. the global setting is good because it is universal and not tied to a pseudodomain of specific anon network (onion/TOR, b32.i2p/I2P, may be not so popular now loki/Lokinet https://github.com/oxen-io/lokinet and etc.)
2) Another solution would be a setting that allows the user to choose for which domains certificates can be ignored (somethink like "disable_ssl_validation = *.onion, *.i2p").
A setting that is hardcoded to "onion" only will be non-universal. there are at least two pseudo-domains which are currently relevant: onion and i2p, but what if we need to configure a server in another anonymous network in the future?
3) self-signed vs http plain
using plain text is more logical because the encryption is provided by tor. but I don't know how other clients like conversations will respond to http (no ssl) file links - maybe they can only work with self-signed http certificates (I haven't checked it yet)https://dev.gajim.org/gajim/gajim/-/issues/11565Ampersand in Roster Groups2023-06-20T13:52:38ZQuinnqstambaugh@stambell.netAmpersand in Roster Groups## Versions
- OS: Pop!_OS 22.04 LTS x86_64
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.0
## Steps to reproduce the problem
1. Put contacts in your roster in a group with an ampersand in the nam...## Versions
- OS: Pop!_OS 22.04 LTS x86_64
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.0
## Steps to reproduce the problem
1. Put contacts in your roster in a group with an ampersand in the name
2. Have a contact in a different group be sorted above the group with an ampersand in the name
## Expected behavior
A group to display the name assigned to it, regardless of it having an ampersand in it
## Actual behavior
The group name will appear to be the same as whatever contact is show above it
Example: Group named "Kobolds & Kabinets" will show as "Dylan" if your roster has a contact named Dylan sorted above ithttps://dev.gajim.org/gajim/gajim/-/issues/11566MUC: Allow editing the moderator list2023-06-16T20:26:15ZPhilipp Höristphilipp@hoerist.comMUC: Allow editing the moderator listSeems we miss the feature to edit the moderator list
See
https://xmpp.org/extensions/xep-0045.html#modifymodSeems we miss the feature to edit the moderator list
See
https://xmpp.org/extensions/xep-0045.html#modifymodhttps://dev.gajim.org/gajim/gajim/-/issues/11571Gajim can't handle "interrobang" character in user's XMPP address2023-07-11T18:08:40ZEmberGajim can't handle "interrobang" character in user's XMPP address## Versions
- OS: Ubuntu 22.04.1 LTS
- GTK Version: 3.24.33
- PyGObject Version: 3.42.1
- GLib Version : 2.71.3
- python-nbxmpp Version: 2.0.4
- Gajim Version: 1.3.3
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/p...## Versions
- OS: Ubuntu 22.04.1 LTS
- GTK Version: 3.24.33
- PyGObject Version: 3.42.1
- GLib Version : 2.71.3
- python-nbxmpp Version: 2.0.4
- Gajim Version: 1.3.3
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/protocol.py", line 501, in validate_localpart
return username.enforce(localpart)
File "/usr/lib/python3/dist-packages/precis_i18n/profile.py", line 69, in enforce
return self.base.enforce(temp, self.name)
File "/usr/lib/python3/dist-packages/precis_i18n/baseclass.py", line 57, in enforce
raise_error(codec_name, value, i, kind)
File "/usr/lib/python3/dist-packages/precis_i18n/baseclass.py", line 103, in raise_error
raise UnicodeEncodeError(encoding, value, start, end, reason)
UnicodeEncodeError: 'UsernameCaseMapped' codec can't encode character '\u203d' in position 0: DISALLOWED/punctuation
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/message_window.py", line 831, in _on_notebook_switch_page
old_ctrl.set_control_active(False)
File "/usr/lib/python3/dist-packages/gajim/chat_control_base.py", line 1415, in set_control_active
con.get_module('Chatstate').set_chatstate(self.contact,
File "/usr/lib/python3/dist-packages/gajim/common/modules/chatstates.py", line 50, in func_wrapper
return func(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/gajim/common/modules/chatstates.py", line 259, in set_chatstate
if self._con.get_own_jid().bare_match(contact.jid):
File "/usr/lib/python3/dist-packages/nbxmpp/protocol.py", line 712, in bare_match
other = JID.from_string(other)
File "/usr/lib/python3/dist-packages/nbxmpp/protocol.py", line 628, in from_string
return cls(jid=None,
File "/usr/lib/python3/dist-packages/nbxmpp/protocol.py", line 598, in __new__
localpart = validate_localpart(localpart)
File "/usr/lib/python3/dist-packages/nbxmpp/protocol.py", line 503, in validate_localpart
raise LocalpartNotAllowedChar
nbxmpp.protocol.LocalpartNotAllowedChar: Not allowed character in localpart
```
## Steps to reproduce the problem
...https://dev.gajim.org/gajim/gajim/-/issues/11578Re-enable gupnp-igd feature2023-08-25T17:44:15ZJeremy BichaRe-enable gupnp-igd featureThis is a follow-up from https://dev.gajim.org/gajim/gajim/-/issues/11277 and https://dev.gajim.org/gajim/gajim/-/issues/11183
The gupnp-igd feature was disabled with https://dev.gajim.org/gajim/gajim/-/commit/4b497df5 but I believe gaj...This is a follow-up from https://dev.gajim.org/gajim/gajim/-/issues/11277 and https://dev.gajim.org/gajim/gajim/-/issues/11183
The gupnp-igd feature was disabled with https://dev.gajim.org/gajim/gajim/-/commit/4b497df5 but I believe gajim 1.8.0 no longer uses libsoup2. Is it possible for this feature to be re-enabled now?https://dev.gajim.org/gajim/gajim/-/issues/11583New Database Layout2024-03-25T22:03:04ZDaniel BrötzmannNew Database LayoutThis issue tracks remaining tasks for !966
See branch: https://dev.gajim.org/gajim/gajim/-/commits/storage
* [x] Store security labels in DB, see #10842
* [x] Check file transfer rows
* [x] Check call rows
* [x] Ensure corrections wo...This issue tracks remaining tasks for !966
See branch: https://dev.gajim.org/gajim/gajim/-/commits/storage
* [x] Store security labels in DB, see #10842
* [x] Check file transfer rows
* [x] Check call rows
* [x] Ensure corrections work correctly (message merge state)
* [x] Sending multiple messages in a MUC does not merge correctly anymore, check acknowledge_message()
* [ ] Check "jump to message" feature in message search view
* [ ] Search for corrected messages in SearchView
* [x] correcting a MUC message shows forever as pending
* [x] Fix displaying sent MUC messages
* [ ] real jid is currently only available via occupants table, needs a solution, maybe fake occupant id
* [x] Display "pending" state for MUC messages, see #8746
* [ ] Show errors on MUC messages, see #11204
* [ ] Database migration
* [x] Don’t allow corrections and any other actions for pending groupchat messages
* [ ] Check if displayed / Received marker work
* [x] Reset Displayed / Received marker when a message was corrected
* [x] Dont allow to retract moderated messages in the GUIhttps://dev.gajim.org/gajim/gajim/-/issues/11587Add a minimal mode (Focus Mode)2023-07-28T20:32:44ZPhilipp Höristphilipp@hoerist.comAdd a minimal mode (Focus Mode)As a user i want to be able to hide everything except the chat, to make the window as small as possible.
This is useful for example when i want to have a chat visible while doing something else, like watching a film.
The mode should be ...As a user i want to be able to hide everything except the chat, to make the window as small as possible.
This is useful for example when i want to have a chat visible while doing something else, like watching a film.
The mode should be activated/deactivated with a shortcut.
Example
![Screenshot_from_2023-07-28_22-24-48](/uploads/b7ae9f26ea037847c821367d41191086/Screenshot_from_2023-07-28_22-24-48.png)https://dev.gajim.org/gajim/gajim/-/issues/11591Viewing a group chat invitation causes it to be dismissed automatically2023-11-08T16:09:37Zdiode24Viewing a group chat invitation causes it to be dismissed automatically- Gajim version 1.8.0
## Actual behavior
When receiving a group chat invitation, there is the option 'Show' and 'Decline'. If I click Show, a window opens with some details and the option to join or decline. I close the window without c...- Gajim version 1.8.0
## Actual behavior
When receiving a group chat invitation, there is the option 'Show' and 'Decline'. If I click Show, a window opens with some details and the option to join or decline. I close the window without clicking Join or Decline and the group chat invitation is gone.
## Expected behavior
I expect that viewing the invitation and closing the window will neither join nor decline, and the invitation will remain until I choose one of these.https://dev.gajim.org/gajim/gajim/-/issues/11592Received group chat invitations do not persist between gajim restarts2023-11-08T07:51:58Zdiode24Received group chat invitations do not persist between gajim restarts## Actual Behavior
I receive a group chat invitation. I do not respond to it because I am busy or unsure if I want to join. I close gajim with the expectation that I can deal with it later. When I start gajim again, the invitation is gon...## Actual Behavior
I receive a group chat invitation. I do not respond to it because I am busy or unsure if I want to join. I close gajim with the expectation that I can deal with it later. When I start gajim again, the invitation is gone.
## Expected Behavior
I expect that the group chat invitation will remain until I choose to join or decline it.https://dev.gajim.org/gajim/gajim/-/issues/11595Add dictionaries under User's profile, not under program directory (Windows, ...2023-08-27T20:21:18ZFrank LeekAdd dictionaries under User's profile, not under program directory (Windows, AppX)## Versions
- OS: Windows 11 (build 22621.2070)
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.1
## Description
After a while I decided to open this bug to issue the lack of other dictionaries in th...## Versions
- OS: Windows 11 (build 22621.2070)
- Gajim version: 1.8.0
- GTK version: 3.24.38
- Python-nbxmpp version: 4.3.1
## Description
After a while I decided to open this bug to issue the lack of other dictionaries in the AppX installation of Gajim, and the inability to add more dictionaries for the AppX Gajim.
When the AppX Gajim is installed (from the MS Store) it gets updated automatically and when this happens, the app folder gets overwritten. Furthermore, the program folder it's not easly reachable for a normal user with default user's permissions, neither writable, because the `%programfiles%\WindowsApps` hierarchy is hidden, unreadable and unwritable by default.
These facts make impossibile or extremely inconvenient for a user to manually put .dic files into the installation directory.
## Expected behavior
The users should be able to put more .dic files under a subdirectory of user's profile (ie. `%appdata%\Local\Packages\2126Gajim.Gajim_cyk1dwtbfm75p\LocalCache\Roaming\Gajim`) without hassle.
## Current behaviour
I looked into the profile directory but didn't find out any proper location where to put .dic files. If I try to put .dic under the program folder, Explorer says I don't have the permission to do it. And also for an Administrator, it requires relabelling of folder's ACL.https://dev.gajim.org/gajim/gajim/-/issues/11596Clicking a picture preview fails to open the default image viewer (Windows, A...2024-01-28T01:21:49ZFrank LeekClicking a picture preview fails to open the default image viewer (Windows, AppX)## Actual behavior
The Windows appX Gajim fails to display a picture when clicked on an inline preview.
## Expected behavior
The image is displayed in the default image viewer when clicked on an inline preview.
## Versions
* OS: Win...## Actual behavior
The Windows appX Gajim fails to display a picture when clicked on an inline preview.
## Expected behavior
The image is displayed in the default image viewer when clicked on an inline preview.
## Versions
* OS: Windows 11 (build 22621.2070)
* Gajim version: 1.8.0
* GTK version: 3.24.38
* Python-nbxmpp version: 4.3.1
## Steps to reproduce the problem
1. Open a random chat
1. Click on a pic preview
1. The default img viewer can't open it
in my case it's Windows Photos app, it shows an error message:
"the file has been moved or renamed" (translated from italian).
![Screenshot_2023-08-05_150218](/uploads/ba93c79a921b39486e11bdb746f50361/Screenshot_2023-08-05_150218.png)
The image property inspector point to a file that is:
C:\Users\frapox\AppData\Roaming\Gajim\downloads\RImBlUN_QOO9nd_Xtr1KTg_d58f03e56b2a29d739f67afce0e1b6fc193f4f49.jpg
![Screenshot_2023-08-05_150228](/uploads/646097d69f643888418a05877c3dff5c/Screenshot_2023-08-05_150228.png)
That of course doesn't exist because it should point to:
C:\Users\frapox\AppData\Local\Packages\2126Gajim.Gajim_cyk1dwtbfm75p\LocalCache\Roaming\Gajim\downloads
Where the file actually reside.https://dev.gajim.org/gajim/gajim/-/issues/11599Message merge checks only for nickname2024-02-16T18:24:52ZPhilipp Höristphilipp@hoerist.comMessage merge checks only for nicknameThis is a problem in single chats when both parties have the same nick, it should check at least also for message direction.This is a problem in single chats when both parties have the same nick, it should check at least also for message direction.https://dev.gajim.org/gajim/gajim/-/issues/11603File download on Windows gets stuck at 100% when filename contains fullwidth ...2023-08-14T21:27:32ZkabelsalatFile download on Windows gets stuck at 100% when filename contains fullwidth questionmark## Versions
- OS: Windows 10 and 11
- Gajim version: 1.8.0
- GTK version: ?
- Python-nbxmpp version: ?
## Steps to reproduce the problem
Try to download a file with a filename like "wtf?.png" over HTTP. Notice that this is a "...## Versions
- OS: Windows 10 and 11
- Gajim version: 1.8.0
- GTK version: ?
- Python-nbxmpp version: ?
## Steps to reproduce the problem
Try to download a file with a filename like "wtf?.png" over HTTP. Notice that this is a "?" not a "?".
## Expected behavior
File is downloaded and a preview is shown. This works as expected on Linux.
## Actual behavior
![16a7588b-31c6-4f24-86b7-d24dcb9549df](/uploads/9495be22a5e699defaa7d497d63e7e45/16a7588b-31c6-4f24-86b7-d24dcb9549df.png)https://dev.gajim.org/gajim/gajim/-/issues/11604Contact list enhancement2023-08-22T16:29:13ZticktostickContact list enhancementIf possible search in contact list include nicknames and jids its now only nicknames and cannot search jids.
Also we use shared roster and they are shown in list but we cannot Expand/Collapse the groups there in older gajim versions we h...If possible search in contact list include nicknames and jids its now only nicknames and cannot search jids.
Also we use shared roster and they are shown in list but we cannot Expand/Collapse the groups there in older gajim versions we had this.https://dev.gajim.org/gajim/gajim/-/issues/11605Chat commands: Missing feedback when sending MUC invite fails2023-08-14T21:48:12Zlis sineChat commands: Missing feedback when sending MUC invite fails## 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. Be a member/no affiliation participant in a group chat where only admins/owners are allo...## 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. Be a member/no affiliation participant in a group chat where only admins/owners are allowed to send MUC invites
2. attempt to invite someone using the /invite command
## Expected behavior
An error is shown to the user, to tell them that they lack the proper permission.
## Actual behavior
`command executed successfully` is the only thing shown, leading the user to believe the invite was successful.https://dev.gajim.org/gajim/gajim/-/issues/11615AttributeError: 'NoneType' object has no attribute 'abort'2023-08-29T21:31:50ZPhilipp Höristphilipp@hoerist.comAttributeError: 'NoneType' object has no attribute 'abort'# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4432943067
- First seen:
2023-08-29T06:40:36+00:00
- Last seen: 2023-08-29T06:40:36+00:00
- Event: 1
- Users: 0# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4432943067
- First seen:
2023-08-29T06:40:36+00:00
- Last seen: 2023-08-29T06:40:36+00:00
- Event: 1
- Users: 0https://dev.gajim.org/gajim/gajim/-/issues/11619Gajim fails to launch if the current working directory is not <installpath>\g...2023-11-29T16:30:09ZKurt FitznerGajim fails to launch if the current working directory is not <installpath>\gajim\bin## Versions
- OS: Windows 10
- Gajim version: 1.8.1
- GTK version:3.24.39
- Python-nbxmpp version: 4.3.2
## Steps to reproduce the problem
Attempt to run at any time when the current directory is not the \<installpath\>\\gajim\\bin, f...## Versions
- OS: Windows 10
- Gajim version: 1.8.1
- GTK version:3.24.39
- Python-nbxmpp version: 4.3.2
## Steps to reproduce the problem
Attempt to run at any time when the current directory is not the \<installpath\>\\gajim\\bin, fo rexample:
1. `cd \`
2. `c:\<installdir>\gajim\bin\gajim.exe`
(no result)
3. `c:\<installdir>\gajim\bin\gajim-debug.exe`
```
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.11/ctypes/__init__.py", line 8, in <module>
ImportError: DLL load failed while importing _ctypes: The specified module could not be found.
```
## Expected behavior
Program runs, or a URI is passed successfully from a browser
## Actual behavior
URI's are not passed from the browser because the executable cannot start where the current working directory is not gajim\\binDaniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim/-/issues/11621Advanced settings for new account setup is confusing in some cases2023-10-18T21:21:38Zdiode24Advanced settings for new account setup is confusing in some cases- gajim-nightly 20230913-1
Note: I have a custom GTK theme set that is part of the problem, but I still think this is worth addressing.
## Steps to reproduce
1. go to Accounts > Modify Accounts > Add Account
2. enter username and passw...- gajim-nightly 20230913-1
Note: I have a custom GTK theme set that is part of the problem, but I still think this is worth addressing.
## Steps to reproduce
1. go to Accounts > Modify Accounts > Add Account
2. enter username and password, check 'Advanced Settings', click 'Log In'
3. We only wish to change the hostname, so we change that. All other settings on the page are apparently preset to the values we want, so we are done and ready to move forward. But, the 'Log In' button is disabled for no apparent reason. In reality, the 5222 in the Port field is only a placeholder and gajim requires us to type 5222 in the Port field, yet there is nothing to indicate this to the user. So, the user can end up feeling stuck. Adwaita and Adwaita Dark make it more obvious that the 5222 is placeholder text.
This is how it looks with the placeholder text in the Port field with theme I was using:
![bugs-gajim-new-account-advanced](/uploads/4d8f548cbad4fcafbe261ef5f5942b01/bugs-gajim-new-account-advanced.png)
## Suggestions for solutions
Any field that must be filled in should probably have the warning icon (⚠) until it is filled. Alternatively, we can preset fields to the most likely value. Hostname and port can be preset.
(extra text so my edit is not flagged as spam)https://dev.gajim.org/gajim/gajim/-/issues/11624Add tooltip/popover for avatars2023-12-03T11:48:46ZDaniel BrötzmannAdd tooltip/popover for avatarsAdd a general tooltip/popover for avatars, which shows additional infos, e.g.
* status message
* idle time
* specific vcard elements
* maybe chat actions
This element should be available for avatars in (almost) any place, and a pointer...Add a general tooltip/popover for avatars, which shows additional infos, e.g.
* status message
* idle time
* specific vcard elements
* maybe chat actions
This element should be available for avatars in (almost) any place, and a pointer cursor should make users aware of its existence.
It should be available for contacts, group chats, and group chat participants.Daniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim/-/issues/11625Improve Start Chat Dialog2023-11-29T16:29:01ZPhilipp Höristphilipp@hoerist.comImprove Start Chat Dialog## Current State
One functionality the current Roster has left which is nowhere else replaced is to get a quick overview over a group of people and there status.
This can be for example the wish to know if someone from a specific depart...## Current State
One functionality the current Roster has left which is nowhere else replaced is to get a quick overview over a group of people and there status.
This can be for example the wish to know if someone from a specific department is available.
The current Start Chat dialog mostly assumes you already know the name of the contact you want to chat with or look at. It provides some basic filters like "Chat" and "Group Chat" but nothing that replaces roster groups.
# Description of the new feature
- Add more filters to the start chat Dialog. Especially make it easy to look up contacts in a specific roster group.
- Add more data to the rows, for example the status message and the idle time (when away)Daniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim/-/issues/11627Roster entries bulk operations2023-10-21T12:48:09ZNicocoRoster entries bulk operationsSome versions ago, it was possible to select multiple contacts in gajim's roster and either remove them or move them to another group. I think this is useful feature that is missing in modern gajim.
To me, the roster view feels like the...Some versions ago, it was possible to select multiple contacts in gajim's roster and either remove them or move them to another group. I think this is useful feature that is missing in modern gajim.
To me, the roster view feels like the "natural" place to do that, and I'd like to submit a patch that allows these things:
- "Group" context menu with the actions:
- Rename group
- Delete group (and contacts)
- Delete group (but keep contacts)
- Multiple contact selection
- Remove contacts
- Move contacts to group xxx
Is the roster view's fate to completely disappear? If yes, where would be an appropriate place in the UI for these operations? The start chat dialog? A new dialog "Manage contact list"?
Or maybe these actions do not belong in gajim?
(One issue with my UI proposition is that contacts can have several groups, so a tree view is not the most appropriate way to display groups they belong to. They're more like "tags".)https://dev.gajim.org/gajim/gajim/-/issues/11628Do not use local part of JID when private group has no name2023-12-11T10:48:49ZNicocoDo not use local part of JID when private group has no nameConversations (+forks, and probably some other clients) create "private groups" with no proper name, subject, or description, and a gibberish JID local part. Then in their UIs, for the group name they use the list of (other) participants...Conversations (+forks, and probably some other clients) create "private groups" with no proper name, subject, or description, and a gibberish JID local part. Then in their UIs, for the group name they use the list of (other) participants (Dino does that too).
But for the same groups, gajim uses the MUC JID local part, which is ugly and inconsistent.
Would it be OK to align gajim's behaviour with other clients? I think the MUC name in the UI should be, by order of priority:
1. Bookmark name (possibly customized by the user)
2. MUC disco name
3. **If private group, alphabetical list of participants' nicknames** (or maybe if participants are contacts, the names we use for them in our roster? or maybe, their PEP nickname?)
4. Then, only if none of that is available, use the JID local part
Would a MR that does that be accepted?https://dev.gajim.org/gajim/gajim/-/issues/11630Improve support for Gateways2023-10-29T15:23:32ZPhilipp Höristphilipp@hoerist.comImprove support for GatewaysIssue to gather ideas how to better support gateways
- [x] Refactor code so all gateway contacts have a gateway icon in the avatar
- [ ] Introduce Gateway Dialog where user can register and check options of gateways
- [ ] When an adhoc ...Issue to gather ideas how to better support gateways
- [x] Refactor code so all gateway contacts have a gateway icon in the avatar
- [ ] Introduce Gateway Dialog where user can register and check options of gateways
- [ ] When an adhoc command is named 'jabber:iq:register', redirect there for the 'register' button
- [ ] Implement 'jabber:iq:gateway' to easily add contact when their legacy user ID
- [ ] Expose 'jabber search' (XEP-0055) on available (?) components in the start chathttps://dev.gajim.org/gajim/gajim/-/issues/11632Message row merging interacts badly with receipts2024-03-28T14:01:34ZNicocoMessage row merging interacts badly with receiptsWhen activating "delivery receipts" in the settings, we get a check mark next to the our name and the message timestamp whenever a device of the recipient sends a XEP-0184 delivery receipt. But if we send two or more messages in a row, t...When activating "delivery receipts" in the settings, we get a check mark next to the our name and the message timestamp whenever a device of the recipient sends a XEP-0184 delivery receipt. But if we send two or more messages in a row, this "check mark" only concerns the first message of the merged messages. I see 3 possible fixes for this:
- "Un-merge" the rows until all have got a receipt. I think this might look weird
- Do not display/remove the checkmark until all merged messages have got their receipts.
- (my favorite) move the checkmark to the right, where the "..." menu appears. This way each individual message can get its checkmark.
What do you think is the best option?https://dev.gajim.org/gajim/gajim/-/issues/11633MUC PM received via MAM dont show up in conversation list2023-10-05T20:18:20Zlis sineMUC PM received via MAM dont show up in conversation list## 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. Join a public channel with another client (using the same account as Gajim)
2....## 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. Join a public channel with another client (using the same account as Gajim)
2. Close Gajim
3. Someone sends you a private message in the channel
4. Open Gajim
## Expected behavior
The PM conversation appears in the list of chats, with the private messages you missed.
## Actual behavior
If the PM conversation wasn't already in your list of chats, it doesn't show up there.
You need to find out by yourself that you received a PM, and go to the related channel and
and click on the relevant participant
## More info
Tested with channels hosted on ejabberd as well as prosody.https://dev.gajim.org/gajim/gajim/-/issues/11635Duplicate messages received in MUC private messages synced with MAM2023-10-17T14:16:35Zlis sineDuplicate messages received in MUC private messages synced with MAM## 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. Join a public channel with a client other than Gajim
2. Close Gajim
3. Someone sends y...## 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. Join a public channel with a client other than Gajim
2. Close Gajim
3. Someone sends you a private message
4. Open Gajim
5. Open the corresponding PM conversation
## Expected behavior
I see the PM history as it is.
## Actual behavior
Each private message received from the person I spoke with, is displayed twice or more.
My own messages are displayed only once.
Here's the what happens on the XML console:
```xml
<!-- Incoming Thu 05 Oct 2023 04:18:04 PM CET (lissine@jabbers.one) -->
<message xmlns="jabber:client" to="lissine@jabbers.one/gajim.XB8U44PB">
<result queryid="1be2a51c-b44e-4b33-9bc8-d1277314a62e" id="2023-10-05-f08621e678e41465" xmlns="urn:xmpp:mam:2">
<forwarded xmlns="urn:xmpp:forward:0">
<delay stamp="2023-10-05T15:17:40Z" xmlns="urn:xmpp:delay" />
<message to="lissine@jabbers.one/Conversations Self-built.0fsZ" id="b0cf05cf-79a9-46a5-a893-e5f586d5a028" xmlns="jabber:client" type="chat" from="slidge@conference.nicoco.fr/lissine" xml:lang="en">
<body>Did you get my message?</body>
<request xmlns="urn:xmpp:receipts" />
<origin-id xmlns="urn:xmpp:sid:0" id="b0cf05cf-79a9-46a5-a893-e5f586d5a028" />
<x xmlns="http://jabber.org/protocol/muc#user" />
<occupant-id xmlns="urn:xmpp:occupant-id:0" id="2bdSV81eaMmWYmRXHUKRX1ZTLZooKxraYMGAgWzlqbw=" />
</message>
</forwarded>
</result>
</message>
<!-- Incoming Thu 05 Oct 2023 04:18:04 PM CET (lissine@jabbers.one) -->
<message xmlns="jabber:client" to="lissine@jabbers.one/gajim.XB8U44PB">
<result queryid="1be2a51c-b44e-4b33-9bc8-d1277314a62e" id="2023-10-05-b8c5715d6c0cce82" xmlns="urn:xmpp:mam:2">
<forwarded xmlns="urn:xmpp:forward:0">
<delay stamp="2023-10-05T15:17:40Z" xmlns="urn:xmpp:delay" />
<message to="slidge@conference.nicoco.fr/lissine" xmlns="jabber:client" type="chat" from="lissine@jabbers.one/Conversations Self-built.0fsZ" xml:lang="en">
<received xmlns="urn:xmpp:receipts" id="b0cf05cf-79a9-46a5-a893-e5f586d5a028" />
<store xmlns="urn:xmpp:hints" />
</message>
</forwarded>
</result>
</message>
```
As far as I can tell, the message was received only once. So this is probably a problem in Gajim's processing.https://dev.gajim.org/gajim/gajim/-/issues/11640URL previews2023-11-15T22:21:35ZNicocoURL previewsIf you share a URL in most modern proprietary IM clients, instead of the URL is shown a preview of it, with a title, a description and usually a thumbnail too.
A possible solution to have that in gajim would be to make gajim fetch the co...If you share a URL in most modern proprietary IM clients, instead of the URL is shown a preview of it, with a title, a description and usually a thumbnail too.
A possible solution to have that in gajim would be to make gajim fetch the content of URLs and generate a preview from it. While that's probably reasonable for known contacts and private groups for most users, this is a privacy issue in public groups.
The elegant way to solve that is sender-generated previews. [Cheogram already does that in a custom way](https://wiki.soprani.ca/CheogramApp/LinkPreviews). There is no XEP yet, but it would be nice if gajim parsed and possibly sent these sender-generated URL previews.https://dev.gajim.org/gajim/gajim/-/issues/11641'Local' account: LocalpartByteLimit: Localpart must be between 1 and 1023 bytes2023-11-26T21:44:04ZDaniel Brötzmann'Local' account: LocalpartByteLimit: Localpart must be between 1 and 1023 bytes# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4546159911
- First seen:
2023-10-13T17:47:06+00:00
- Last seen: 2023-10-13T17:47:06+00:00
- Event: 1
- Users: 0# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4546159911
- First seen:
2023-10-13T17:47:06+00:00
- Last seen: 2023-10-13T17:47:06+00:00
- Event: 1
- Users: 0https://dev.gajim.org/gajim/gajim/-/issues/11644AttributeError: 'Roster' object has no attribute '_contacts'2023-10-17T14:40:33ZDaniel BrötzmannAttributeError: 'Roster' object has no attribute '_contacts'# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4489767570
- First seen:
2023-09-19T20:26:45+00:00
- Last seen: 2023-09-19T20:26:45+00:00
- Event: 1
- Users: 0# Error Details:
- Sentry event: https://sentry.io/gajim-aec982731/gajim/issues/4489767570
- First seen:
2023-09-19T20:26:45+00:00
- Last seen: 2023-09-19T20:26:45+00:00
- Event: 1
- Users: 0