gajim-plugins issueshttps://dev.gajim.org/gajim/gajim-plugins/-/issues2023-05-02T07:59:59Zhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/231OMEMO: 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-plugins/-/issues/369[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-plugins/-/issues/444[OMEMO] Set access_model=open on PEP elements2023-05-02T07:59:05ZValdikSS[OMEMO] Set access_model=open on PEP elementsOMEMO plugin should set `pubsub#access_model` to `open` for `eu.siacs.conversations.axolotl.devicelist` and `eu.siacs.conversations.axolotl.bundles` PEP nodes to allow using OMEMO between non-subscribers (e.g. in multiuser groups).
If `...OMEMO plugin should set `pubsub#access_model` to `open` for `eu.siacs.conversations.axolotl.devicelist` and `eu.siacs.conversations.axolotl.bundles` PEP nodes to allow using OMEMO between non-subscribers (e.g. in multiuser groups).
If `devicelist` node already exists and not configured with `pubsub#access_model`, publishing to it with publish-options could return `precondition-not-met`. Gajim should reconfigure this PEP node first.https://dev.gajim.org/gajim/gajim-plugins/-/issues/370OMEMO/http upload: filename not encrypted2023-04-14T16:15:49ZGustav GanzOMEMO/http upload: filename not encryptedWhen sending a file to a contact using OMEMO, the http upload method is used if available. Unfortunately, the filename is not encrypted. This is a problem since the filename can be meaningfull (e.g. kennedy_assasination_conspiracy.pdf).
...When sending a file to a contact using OMEMO, the http upload method is used if available. Unfortunately, the filename is not encrypted. This is a problem since the filename can be meaningfull (e.g. kennedy_assasination_conspiracy.pdf).
Reference: https://github.com/siacs/Conversations/issues/1610https://dev.gajim.org/gajim/gajim-plugins/-/issues/489XEP-0384: OMEMO Encryption 0.82023-04-14T16:10:16ZNeustradamusXEP-0384: OMEMO Encryption 0.8Can you update the XEP-0384: OMEMO Encryption support to 0.8.0?Can you update the XEP-0384: OMEMO Encryption support to 0.8.0?https://dev.gajim.org/gajim/gajim-plugins/-/issues/376[omemo] Implement a place to look up all fingerprints of an account2023-04-11T06:47:06ZFlorian Stecker[omemo] Implement a place to look up all fingerprints of an accountUntil some weeks ago, there was a list of all known fingerprints available in the OMEMO plugin config. Seems like it was removed here: https://dev.gajim.org/gajim/gajim-plugins/commit/80a7a5db57fc587c03c8ee259758769fc53583b1
Was there a...Until some weeks ago, there was a list of all known fingerprints available in the OMEMO plugin config. Seems like it was removed here: https://dev.gajim.org/gajim/gajim-plugins/commit/80a7a5db57fc587c03c8ee259758769fc53583b1
Was there a good reason to remove it? Unless I'm missing something, there is now no way to get a list of all trusted fingerprints.OMEMO Integrationhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/381OMEMO in chats is auto-disabled if plugin could not be loaded once before2023-04-11T06:46:01ZAndrey GurskyOMEMO in chats is auto-disabled if plugin could not be loaded once before- gajim-plugins git master, OMEMO: 2.6.40
How to reproduce:
- after update some OMEMO plugin dependency gets broken
- start Gajim, notice OMEMO plugin actually could not be loaded (expected: GUI pop-up with warning)
- close Gajim, repai...- gajim-plugins git master, OMEMO: 2.6.40
How to reproduce:
- after update some OMEMO plugin dependency gets broken
- start Gajim, notice OMEMO plugin actually could not be loaded (expected: GUI pop-up with warning)
- close Gajim, repair dependencies
- start Gajim, ensure OMEMO plugin could be successfully loaded
- notice, that OMEMO is not enabled anymore in chats where it was enabled before (this should not happen!)OMEMO Integrationhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/388OMEMO fingerprints cannot be sorted2022-10-23T15:04:29ZzuglufttierOMEMO fingerprints cannot be sortedIf you use OMEMO, you easily end up with 20 or more fingerprints for one MUC. It would be really helpful if you could sort the fingerprints by:
- name of the contact
- status of the fingerprint (not trusted, trusted, "old")
- something ...If you use OMEMO, you easily end up with 20 or more fingerprints for one MUC. It would be really helpful if you could sort the fingerprints by:
- name of the contact
- status of the fingerprint (not trusted, trusted, "old")
- something like "last seen" (if that's possible)https://dev.gajim.org/gajim/gajim-plugins/-/issues/568[clients_icons] Additional icons2022-08-04T08:18:54ZLevan[clients_icons] Additional iconsThese archives contain an updated version of the Clients Icons plugin for Gajim 1.1.x. Many icons have been added.
If somebody is up for a merge request: [icons-gajim.zip](/uploads/87857efcc405b979dd4750aa20dc5e55/icons-gajim.zip)[icons...These archives contain an updated version of the Clients Icons plugin for Gajim 1.1.x. Many icons have been added.
If somebody is up for a merge request: [icons-gajim.zip](/uploads/87857efcc405b979dd4750aa20dc5e55/icons-gajim.zip)[icons-gajim22.zip](/uploads/49422f4bdbbe1c2cd8d93adf476d8672/icons-gajim22.zip)https://dev.gajim.org/gajim/gajim-plugins/-/issues/384[OpenPGP] Display a message if gpg4win is missing or cannot be found2022-05-20T09:18:59ZArthoqox[OpenPGP] Display a message if gpg4win is missing or cannot be found**Please first check if another issue has been opened for your problem**
## Versions
- OS: Windows 10
- GTK+ Version: 3.24.1
- PyGObject Version: 3.30.4
- python-nbxmpp Version: 0.6.9
- Gajim Version: 1.1.2
## Traceback
```
Traceback (...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Windows 10
- GTK+ Version: 3.24.1
- PyGObject Version: 3.30.4
- python-nbxmpp Version: 0.6.9
- Gajim Version: 1.1.2
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/plugins/helpers.py", line 114, in wrapper
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/plugins/gui.py", line 192, in installed_plugins_toggled_cb
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/plugins/helpers.py", line 114, in wrapper
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/plugins/pluginmanager.py", line 449, in activate_plugin
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/plugins/pluginmanager.py", line 409, in _register_modules_with_handlers
File "C:\Users\Administrator\AppData\Roaming\Gajim\Plugins\openpgp\modules\openpgp.py", line 559, in get_instance
return OpenPGP(*args, **kwargs), 'OpenPGP'
File "C:\Users\Administrator\AppData\Roaming\Gajim\Plugins\openpgp\modules\openpgp.py", line 299, in __init__
self._pgp = PGPContext(self.own_jid, path)
File "C:\Users\Administrator\AppData\Roaming\Gajim\Plugins\openpgp\backend\pygpg.py", line 38, in __init__
self, gpgbinary=app.get_gpg_binary(), gnupghome=str(gnupghome))
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gnupg.py", line 809, in __init__
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gnupg.py", line 886, in _open_subprocess
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/subprocess.py", line 775, in __init__
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/subprocess.py", line 1119, in _execute_child
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/subprocess.py", line 530, in list2cmdline
TypeError: argument of type 'bool' is not iterable
```
## Steps to reproduce the problem
...https://dev.gajim.org/gajim/gajim-plugins/-/issues/343[preview] Make download folder customizable2021-12-06T08:40:20ZDaniel Brötzmann[preview] Make download folder customizablePlease make it possible to change the files/pictures folder from `.\AppData\Roaming\Gajim\downloads` to a custom directory chosen by the user.
*Split from gajim/gajim#9325*Please make it possible to change the files/pictures folder from `.\AppData\Roaming\Gajim\downloads` to a custom directory chosen by the user.
*Split from gajim/gajim#9325*https://dev.gajim.org/gajim/gajim-plugins/-/issues/554[preview] Store downloaded files per JID2021-12-06T08:38:25ZDaniel Brötzmann[preview] Store downloaded files per JIDThis concerns both URL Image Preview and OMEMO, downloading files into `configpaths.get('MY_DATA')) / 'downloads'`.
I’m proposing to store downloaded files into separate (per JID) folders.
One potential use case for this would be an in...This concerns both URL Image Preview and OMEMO, downloading files into `configpaths.get('MY_DATA')) / 'downloads'`.
I’m proposing to store downloaded files into separate (per JID) folders.
One potential use case for this would be an integrated overview of files/pictures within Gajim per contact, without the need for an additional index tracking individual file-to-contact relationships. This could be implemented wthin a page of the corresponding ChatControl for example.https://dev.gajim.org/gajim/gajim-plugins/-/issues/405[syntax_highlight] Support for mixed/inlined markup directives in inline code...2021-12-04T23:02:16ZFlorian Münchbach[syntax_highlight] Support for mixed/inlined markup directives in inline code spans* Gajim Version: 1.1.2 / master
* Plugin Version: >= 1.0.0
* Operating System: all
The plugin should be able to handle different inlined markup directives, as [defined in XEP-0393, 5.2.5 Preformatted Span](https://xmpp.org/extensions/x...* Gajim Version: 1.1.2 / master
* Plugin Version: >= 1.0.0
* Operating System: all
The plugin should be able to handle different inlined markup directives, as [defined in XEP-0393, 5.2.5 Preformatted Span](https://xmpp.org/extensions/xep-0393.html#mono), e.g.:
```
*`print('hello, wold')`*
```
should be rendered as
> **`print('hello, wold')`**
TBD: The above works best with the highlighting language being pure monospace. If this is not the case and/or the highlighting of the code span would contradict the outer formatting directives, it should be discussed how the outer formatting is treated.
Imho, the user's explicitly expressed wish for an additional formatting should be honored and the highlighter's output should be overridden where it does not (yet) match the user's formatting.Gajim 1.4.0https://dev.gajim.org/gajim/gajim-plugins/-/issues/406[syntax_highlight] Inline code spans not highlighted if followed by punctuation2021-12-04T23:02:03ZFlorian Münchbach[syntax_highlight] Inline code spans not highlighted if followed by punctuation* Gajim Version: 1.1.2 / master
* Plugin Version: >= 1.0.0
* Operating System: all
Currently, the plugin matches (and formats) inline code spans only if pre-/succeeded by whitespaces, including newlines.
This leads to unexpected non-fo...* Gajim Version: 1.1.2 / master
* Plugin Version: >= 1.0.0
* Operating System: all
Currently, the plugin matches (and formats) inline code spans only if pre-/succeeded by whitespaces, including newlines.
This leads to unexpected non-formatted code spans if, for instance, followed by a comma.
Hence, the plugin should not only allow whitespaces to surround code spans, but also any of the following characters as long as they are not part of another markup formatting directive (see: #405).
Allowed punctuation characters:
* comma: `,`
* quotation marks ("fancy" ones, incl. guillements, too?!): `"'‘’“”‹›«»`
* end marks: `.?!`; plus their spanish "begin" counterparts: `¡¿`
* colon + semicolon: `:;`
* brackets: `{}[]()<>`
* ellipses: `… ... . . .`
* others: `-_*~`
Quite a lot already. I guess, this should cover most cases in many languages where punctuation is needed directly before/after code spans. Since I don't know them all, please add more characters that you might need/want in the comments.Gajim 1.4.0https://dev.gajim.org/gajim/gajim-plugins/-/issues/324Check for OMEMO key updates before sending a message2020-06-21T20:39:36ZnicoCheck for OMEMO key updates before sending a message## Description of the new feature
Gajim should check on different points in the process of starting a conversation, check if there are key updates with said contact pending.
At the moment Gajim trusts the already approved keys. But if a ...## Description of the new feature
Gajim should check on different points in the process of starting a conversation, check if there are key updates with said contact pending.
At the moment Gajim trusts the already approved keys. But if a contact has updated their keys the notice that something changed comes after sending the first message.
This is quite annoying as one has to resend the message if the key should be included. The window should open before sending takes place.https://dev.gajim.org/gajim/gajim-plugins/-/issues/240Add metadata for fingerprints2020-06-21T20:38:31ZlaclaroAdd metadata for fingerprintsHi folks,
as requested also for conversations (https://github.com/siacs/Conversations/issues/2603), adding metadata and labels to fingerprints would make it much easier to organise and properly expire/delete them if not needed anymore. ...Hi folks,
as requested also for conversations (https://github.com/siacs/Conversations/issues/2603), adding metadata and labels to fingerprints would make it much easier to organise and properly expire/delete them if not needed anymore. This somewhat extends request #183.
Since one key advantage of jabber is the flexibility in terms of clients, you easily end up having five or more fingerprints of your own and for each contact. It would be great to store additional info like client program or creation time, last seen timestamps to distinguish and properly expire/delete them if not needed anymore.
Best,
Henninghttps://dev.gajim.org/gajim/gajim-plugins/-/issues/402[OMEMO] sanitize BLOB values written by buggy code in python2 version of plugin2020-05-24T17:18:19ZAndrey Gursky[OMEMO] sanitize BLOB values written by buggy code in python2 version of plugin- Gajim git master 6ef3b8e01b2b01
- OMEMO plugin 2.6.52
Follow-up for https://dev.gajim.org/gajim/gajim-plugins/issues/399#note_192608, related: https://dev.gajim.org/gajim/gajim-plugins/issues/278, https://dev.gajim.org/gajim/gajim-plu...- Gajim git master 6ef3b8e01b2b01
- OMEMO plugin 2.6.52
Follow-up for https://dev.gajim.org/gajim/gajim-plugins/issues/399#note_192608, related: https://dev.gajim.org/gajim/gajim-plugins/issues/278, https://dev.gajim.org/gajim/gajim-plugins/issues/389
I've investigated this issue during last weeks and it looks like it is not a bug in python or sqlite but a bug in the OMEMO plugin, which shows in its python2 flavor.
Here are test scripts:
[test-blob-write-buggy-using-py2.py](/uploads/74162179f22c3f5e1583e7e0186fd5bb/test-blob-write-buggy-using-py2.py)
[test-blob-read-buggy-using-py2.py](/uploads/59ffc0e6731b11d47072cf6360d8eed3/test-blob-read-buggy-using-py2.py)
This illustrates the issue, when keys have been written using 0.16.x Gajim (python2) and then accessed with 1.x Gajim (python3):
```
$ rm -f test.db
$ python ./test-blob-write-buggy-using-py2.py
DONE
$ python ./test-blob-read-buggy-using-py2.py
OK
$ python3 ./test-blob-read-buggy-using-py2.py
FAILED
```
To override a run-time failure running in python2:
> sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
the following has been added:
```python
con.text_factory = bytes
```
Instead: in python2 the variable holding BLOB data should be passed as:
```python
buffer(public_key)
```
Then the content is saved properly as BLOB not as string.
[test-blob-write.py](/uploads/cd7e2cc4f9a90eff5f8b78463f608d30/test-blob-write.py)
[test-blob-read.py](/uploads/658f5b746f3beebd5c0d026057040227/test-blob-read.py)
Writing using python2:
```
$ rm -f test.db
$ python ./test-blob-write.py
DONE
$ python ./test-blob-read.py
OK
$ python3 ./test-blob-read.py
OK
```
and writing using python3:
```
$ python3 ./test-blob-write.py
DONE
$ python ./test-blob-read.py
OK
$ python3 ./test-blob-read.py
OK
```
This is an example how to sanitize the existent DB (fetching with explicit cast to BLOB) using python3:
```python
import sqlite3
con = sqlite3.connect("test.db")
query = '''SELECT some_id, CAST(public_key as BLOB) FROM identities'''
results = con.execute(query).fetchall()
for result in results:
some_id = result[0]
public_key = result[1]
con.execute('UPDATE identities SET public_key = ? WHERE some_id = ?', (public_key, some_id))
con.commit()
con.close()
```
Testing:
```
$ python ./test-blob-write-buggy-using-py2.py
DONE
$ python3 ./test-blob-read.py
FAILED
$ python3 ./test-blob-sanitize.py
$ python3 ./test-blob-read.py
OK
```
Before sanitizing:
```
$ echo ".dump identities" | sqlite3 -readonly test.db
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE identities (some_id INTEGER, public_key BLOB);
INSERT INTO identities VALUES(123,replace(����!Np���:,�%\nU&�!(� S�܉�ÿͽ�v� �','\n',char(10)));
COMMIT;
```
after:
```
$ echo ".dump identities" | sqlite3 -readonly test.db
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE identities (some_id INTEGER, public_key BLOB);
INSERT INTO identities VALUES(123,X'08a29cb1071221054e70a5e71a3a2cdf250a55268721281b8f9556a20953b9dc89c5c3bfcdbd99761a20880015acbfa1517b91044f4e260c38d62e900f2c7ed9a2dc76bd12da9d925070');
COMMIT;
```
It is obvious, that binary data should be saved indeed only as BLOB not as TEXT/string, otherwise it wouldn't be properly treated by conventional tools.https://dev.gajim.org/gajim/gajim-plugins/-/issues/39additional action: urgency notification2020-05-12T13:52:33Zanonymousadditional action: urgency notificationan additional action that could be taken when a trigger happens is to make gajim show an urgency hint, as it is done with incoming messages. if there is no gajim-specific way to do that, that's done by setting GtkWindow's urgency-hint pr...an additional action that could be taken when a trigger happens is to make gajim show an urgency hint, as it is done with incoming messages. if there is no gajim-specific way to do that, that's done by setting GtkWindow's urgency-hint property.Yann LeboulangerYann Leboulangerhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/500[triggers] configuration dialog not entirely visible2020-05-06T07:15:12ZMartin[triggers] configuration dialog not entirely visible**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian testing
- Gajim version: 1.1.99~20200429.65506e31
- Plugin version: 1.2.4
- GTK version: 3.24.18
- Python-nbxmpp version: 0.9.9...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian testing
- Gajim version: 1.1.99~20200429.65506e31
- Plugin version: 1.2.4
- GTK version: 3.24.18
- Python-nbxmpp version: 0.9.95~20020429.5303bb12
## Steps to reproduce the problem
1. use a screen with 768 pixels height and 11 point system font
1. open triggers configuration
1. expand the advanced configuration options
## Expected behavior
all buttons etc. remain visible and accessible
## Actual behavior
some switches and the "Close" button get out of screen
## Comment
Maybe the dialog should get scroll bars, or alternatively, other configuration options could be expandable, too, so that dialog can be kept small.
*On a side note:* The conditions list/table is rather small. Its height cannot be changed by the user, which is not nice, if one has a lot of rules.Daniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/295Display message on untrusted PGP keys only once2020-05-02T07:05:50ZRoiDantonDisplay message on untrusted PGP keys only once# Bug description
When sending an OpenPGP encrypted message to one of my contacts the window "OpenPGP key not trusted" appears. For other contacts everything is fine. I use Gpg4win and this key looks like all others. I set the trust to "...# Bug description
When sending an OpenPGP encrypted message to one of my contacts the window "OpenPGP key not trusted" appears. For other contacts everything is fine. I use Gpg4win and this key looks like all others. I set the trust to "full trust". The problem was with Gajim 0.16.5 and also with Gajim 0.16.5 as well.
I opened a new ticket as ticket gajim#8122 is closed for months and also was a Linux ticket. So the reason might be a different one. Please merge and reopen the old ticket if you like.
# Steps to reproduce
See above.
# Software versions
OS version: Windows 8.1
GTK version: 2.24.10
PyGTK version: 2.24.0