gajim-plugins issueshttps://dev.gajim.org/gajim/gajim-plugins/-/issues2021-12-04T23:02:03Zhttps://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/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/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/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/613Proposal: consider some plugin settings to be specific per XMPP account2022-11-28T11:13:02ZJean LouisProposal: consider some plugin settings to be specific per XMPP accountI can see that Trigger plugin is useful, but it is not specific per account. If it would be specific per account, separate account may do various administrative actions by using external command. However, if is it not specific per accoun...I can see that Trigger plugin is useful, but it is not specific per account. If it would be specific per account, separate account may do various administrative actions by using external command. However, if is it not specific per account, it makes no sense that one shall involve triggers on all enabled accounts.
Quick Replies is useful plugin, but message shall be customizable per XMPP account, and not as general. I guess when one starts really using these plugins then it becomes clear that there is limitation. Business and love are different things, canned messages shall not be mixed.
In my opinion Anti-Spam and Acronyms Expanders are also candidates to have its settings split per account.
* [ ] Acronym Expanders
* [ ] Anti Spam, see #273
* [ ] Quick Replies
* [ ] Triggershttps://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/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/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/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/480Implement JET filetransfer for OMEMO2020-02-14T17:08:01ZGhost UserImplement JET filetransfer for OMEMO(I think this might be a sort-of-duplicate, but I'm not certain. I apologize if it is.)
I chat to a friend in a one-to-one OMEMO connection.
I'm on Windows 10, Gajim v1.1.3 with OMEMO plugin v2.6.29; GTK+ v3.24.1; python-nbxmpp v0.6.10...(I think this might be a sort-of-duplicate, but I'm not certain. I apologize if it is.)
I chat to a friend in a one-to-one OMEMO connection.
I'm on Windows 10, Gajim v1.1.3 with OMEMO plugin v2.6.29; GTK+ v3.24.1; python-nbxmpp v0.6.10.
They're on Android 9 (I think) and Pix-Art Messenger v2.3.4-playstore.
Server is Prosody v0.11.3, with XEP-0065 enabled via mod_proxy65.
I can send images to them (Gajim online/offline upload-not-available bug notwithstanding). They can download and view the image fine. If they send me an image, I can download it, but I can't view it. It appears to be still encrypted.
Have I misconfigured something? If not, how can I work around this?https://dev.gajim.org/gajim/gajim-plugins/-/issues/473Improvements for Length Notifier2020-04-26T11:00:59ZPhilipp Höristphilipp@hoerist.comImprovements for Length NotifierThe following discussion from !183 should be addressed:
1. Instead of storing data in the chat control `length_notifier_plugin_data`, create a Class that inherits from Gtk.Label() store all information in that class.
2. connect to the ...The following discussion from !183 should be addressed:
1. Instead of storing data in the chat control `length_notifier_plugin_data`, create a Class that inherits from Gtk.Label() store all information in that class.
2. connect to the buffer from that class, so on the callback you are already inside the Label and have all data available, so you dont have to pass the chat control to the callback and retrieve the data from the chat control
3. Color change should be done via adding a css class and removing a css class, not via override_background_color which is deprecated
4. Migrate to new style plugin config windowhttps://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/430Add download option to link handling2019-11-10T07:26:26ZSaltyBonesAdd download option to link handlingHaving the option to download a file instead of just "open" and "cancel" would be nice. (I only looked at this in the context of aesgcm://). Since the file is already downloaded at this point "show in folder" would also be an option.Having the option to download a file instead of just "open" and "cancel" would be nice. (I only looked at this in the context of aesgcm://). Since the file is already downloaded at this point "show in folder" would also be an option.https://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/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/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/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/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/367url image preview not showing as installed on debian jessie2018-12-09T11:01:56Zcucurl image preview not showing as installed on debian jessieinstall gajim 1.1.0 on debian jessie
install plugin url_image_preview
restart gajim
nothing shows up as installed
gajim --verbose gives the following:
`
11/29/2018 07:59:09 (I) gajim.plugin_system: Loading url_image_preview
...install gajim 1.1.0 on debian jessie
install plugin url_image_preview
restart gajim
nothing shows up as installed
gajim --verbose gives the following:
`
11/29/2018 07:59:09 (I) gajim.plugin_system: Loading url_image_preview
11/29/2018 07:59:09 (W) gajim.plugin_system: While trying to load url_image_preview, exception occurred
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gajim/plugins/pluginmanager.py", line 670, in scan_dir_for_plugins
module = __import__(module_name)
File "/home/thomas/.local/share/gajim/plugins/url_image_preview/__init__.py", line 2, in <module>
from .url_image_preview import UrlImagePreviewPlugin
File "/home/thomas/.local/share/gajim/plugins/url_image_preview/url_image_preview.py", line 43, in <module>
from url_image_preview.resize_gif import resize_gif
File "/home/thomas/.local/share/gajim/plugins/url_image_preview/resize_gif.py", line 2, in <module>
from PIL import Image
ImportError: No module named 'PIL'
`
i would expect to see an error on startup/plugin activation in the GUI.
after installing python3-pil everything works.https://dev.gajim.org/gajim/gajim-plugins/-/issues/348OMEMO: Detect room config changes without having to re-join a MUC2019-11-10T05:54:07ZGhost UserOMEMO: Detect room config changes without having to re-join a MUC## Versions
- OS: Windows 10 (also tested on Debian 9 using the package from Debian backports and the issue is present there also)
- Gajim version: 1.0.99
- GTK version: 3.22.30
- Python-nbxmpp version: 0.6.7
## Steps to repro...## Versions
- OS: Windows 10 (also tested on Debian 9 using the package from Debian backports and the issue is present there also)
- Gajim version: 1.0.99
- GTK version: 3.22.30
- Python-nbxmpp version: 0.6.7
## Steps to reproduce the problem
1. Right click on a contact, select invite to group chat
1. Enter any room title, select Present real jabber ids to anyone, select Make room members only, add another member to the member list and then click OK
1. Try to enable OMEMO in the group chat and you will see that the following message appears "To use OMEMO in a Groupchat the Groupchat should be Non anonymous and Members only"
## Expected behavior
It should be possible to enable OMEMO since the chat room settings are correct.
This works fine in Gajim 1.0.3, but it does not work in 1.0.99