gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2023-06-14T06:46:09Zhttps://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/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/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/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/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/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/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/11510OMEMO: Messages not displayed when OMEMO disabled2023-05-02T08:01:44ZbodqhrohroOMEMO: Messages not displayed when OMEMO disabled## Versions
- OS: Debian 11
- Gajim version: 1.3.2
- GTK version: 3.24.24
- Python-nbxmpp version: 2.0.2
## Steps to reproduce the problem
The server where the account is registered supports both XEP-0280 and XEP-0313.
1. D...## Versions
- OS: Debian 11
- Gajim version: 1.3.2
- GTK version: 3.24.24
- Python-nbxmpp version: 2.0.2
## Steps to reproduce the problem
The server where the account is registered supports both XEP-0280 and XEP-0313.
1. Disable OMEMO for a private chat with buddy1 in Gajim.
1. In Conversations with the same account, send and receive some messages from buddy1 with OMEMO enabled.
1. Enable OMEMO in Gajim and disconnect/connect the account.
## Expected behavior
After the step 2, Gajim should display the encrypted messages or inform that there were some encrypted messages it cannot display.
## Actual behavior
After the step 2, Gajim does not display anything.
After the step 3, Gajim displays the incoming messages with a red lock, and still does not display anything about outgoing ones.https://dev.gajim.org/gajim/gajim/-/issues/11509OMEMO: Create new session automatically when client is over 2000 messages behind2023-05-02T07:59:59ZzebsterOMEMO: Create new session automatically when client is over 2000 messages behindIn a multi-device setup, when one user's client (let's call it A) falls behind the other clients of that user for over 2000 messages, the session becomes invalidated. Consequently, client A does not receive the messages from the other cl...In a multi-device setup, when one user's client (let's call it A) falls behind the other clients of that user for over 2000 messages, the session becomes invalidated. Consequently, client A does not receive the messages from the other clients anymore. This becomes visible in the logs like so:
```
18.08.2017 21:05:38 (W) gajim.plugin_system.omemo: No Session found No valid sessionsOver 2000 messages into the future!
18.08.2017 21:05:38 (W) gajim.plugin_system.omemo: sender_jid => zb@REDACTED sid =>1505163973
```
It would be desirable that a new session is created automatically at client A, when such a state is reached.https://dev.gajim.org/gajim/gajim/-/issues/11508OMEMO silently drops messages to be sent if there is no valid session2023-05-02T07:59:43ZAndrey GurskyOMEMO silently drops messages to be sent if there is no valid session- gajim-plugins git master, OMEMO: 2.6.40
How to reproduce:
- enter message, send, GUI pop-up with keys and what?
```
(I) gajim.plugin_system.omemo: Load: 111111111111111111111111 2
(I) gajim.plugin_system.omemo: Load: 22222222222222222...- gajim-plugins git master, OMEMO: 2.6.40
How to reproduce:
- enter message, send, GUI pop-up with keys and what?
```
(I) gajim.plugin_system.omemo: Load: 111111111111111111111111 2
(I) gajim.plugin_system.omemo: Load: 222222222222222222222222 2
(I) gajim.plugin_system.omemo: Load: 333333333333333333333333 2
(D) gajim.plugin_system.omemo: MYSERVER => Showing Fingerprint Prompt for CONTACT
(D) gajim.plugin_system.omemo: MYSERVER => Sending Message to CONTACT
(D) gajim.plugin_system.omemo: Skipped Device because Trust is: 2
(E) gajim.plugin_system.omemo: Encrypted keys empty
(W) gajim.plugin_system: Error executing <bound method OmemoPlugin._encrypt_message of <omemo.omemoplugin.OmemoPlugin object at 0x7f2bbd862630>>
Traceback (most recent call last):
File "/home/andrey/progs/gajim.git/gajim/plugins/pluginmanager.py", line 366, in _execute_all_handlers_of_gui_extension_point
handlers[0](*args)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/omemoplugin.py", line 214, in _encrypt_message
app.connections[conn.name].get_module('OMEMO').encrypt_message(conn, obj, callback)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/modules/omemo.py", line 576, in encrypt_message
msg_dict = self.omemo.create_msg(self.own_jid, to_jid, plaintext)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/omemo/state.py", line 252, in create_msg
raise NoValidSessions('Encrypted keys empty')
omemo.omemo.aes_gcm.NoValidSessions: Encrypted keys empty
```
- message disappeared
- enter message, send
```
(I) nbxmpp.transports_nb: Plugging fd 39, W:False, R:True
(D) gajim.plugin_system.omemo: MYSERVER => Sending Message to CONTACT
(D) gajim.plugin_system.omemo: Skipped Device because Trust is: 2
(E) gajim.plugin_system.omemo: Encrypted keys empty
(W) gajim.plugin_system: Error executing <bound method OmemoPlugin._encrypt_message of <omemo.omemoplugin.OmemoPlugin object at 0x7f2bbd862630>>
Traceback (most recent call last):
[... same exception ...]
```
- message disappeared
- restart gajim, enter message, send, [same exception], message disappearedhttps://dev.gajim.org/gajim/gajim/-/issues/11507[omemo] Implement automatic recovery from broken session2023-05-02T07:59:24ZDaniel Brötzmann[omemo] Implement automatic recovery from broken sessionOnce an OMEMO session is broken, users have to manually remove the affected fingerprint, restart Gajim, and then write a message to that contact (and trust the fingerprint) in order to be able to send OMEMO encrypted messages again.
Aut...Once an OMEMO session is broken, users have to manually remove the affected fingerprint, restart Gajim, and then write a message to that contact (and trust the fingerprint) in order to be able to send OMEMO encrypted messages again.
Automating this process would improve UX.https://dev.gajim.org/gajim/gajim/-/issues/11505If Axolotl fails to decrypt a message, raising a DuplicateMessageException, a...2023-05-02T07:58:58ZMarcin MielniczukIf Axolotl fails to decrypt a message, raising a DuplicateMessageException, a dummy message should be createdConsider the following scenario (it's something I actually experienced):
1. A message is received, either directly or from MAM. It's decrypted but for some reason not stored or displayed to the user
2. A MAM query occurs, the client rece...Consider the following scenario (it's something I actually experienced):
1. A message is received, either directly or from MAM. It's decrypted but for some reason not stored or displayed to the user
2. A MAM query occurs, the client receives a stanza corresponding to the missing message. Axolotl won't be able to decrypt it because it already has been.
Expected behavior: a placeholder is created in place of the missing message, indicating that it's there but cannot be decrypted
Actual behavior: the message is silently dropped (or only mentioned in the logs)https://dev.gajim.org/gajim/gajim/-/issues/11503[omemo] Add button to reset own keys2023-12-11T08:10:41ZDaniel[omemo] Add button to reset own keysI want to regenerate my omemo keys.
I'm using Gajim version 1.1.3 with the omemo plugin (https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin) version 2.6.29 .
I'm pretty shocked that this feature is not implemented. (in an ...I want to regenerate my omemo keys.
I'm using Gajim version 1.1.3 with the omemo plugin (https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin) version 2.6.29 .
I'm pretty shocked that this feature is not implemented. (in an easy-to-access way)
I like to hear this plugin's authors or maintainers explanation on this issuehttps://dev.gajim.org/gajim/gajim/-/issues/11502OMEMO HTTP File Upload succeeds despite of undecided keys2023-05-02T07:56:46ZAndrey GurskyOMEMO HTTP File Upload succeeds despite of undecided keys## Versions
- OS: Debian GNU/Linux bullseye/testing
- GTK Version: 3.24.22
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.91+78e4e2bab4da4
- OMEMO Plugin Version: 2.7.7+gajim-plugi...## Versions
- OS: Debian GNU/Linux bullseye/testing
- GTK Version: 3.24.22
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.91+78e4e2bab4da4
- OMEMO Plugin Version: 2.7.7+gajim-plugins@75795a292fe39cd8891e4ccd9dc1f58b9d4df2e9
If there are undecided keys, it is not possible to send a message, but sending a file via OMEMO HTTP File Upload succeeds.https://dev.gajim.org/gajim/gajim/-/issues/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/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/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/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/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/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.