gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2023-12-03T12:15:14Zhttps://dev.gajim.org/gajim/gajim/-/issues/10593Integrate curated provider list of providers.xmpp.net2023-12-03T12:15:14ZDaniel BrötzmannIntegrate curated provider list of providers.xmpp.netTo make onboarding easier, a curated list of providers can be of great help. The [XMPP Providers project](https://invent.kde.org/melvo/xmpp-providers) provides a curated and machine-readable list of providers, complemented by various pro...To make onboarding easier, a curated list of providers can be of great help. The [XMPP Providers project](https://invent.kde.org/melvo/xmpp-providers) provides a curated and machine-readable list of providers, complemented by various provider infos (e.g. compliance rating, MAM storage time, file retention time, ...).
The list is available in JSON and can be filtered by country / suggestions based on IP / device language.
The repository provides a script, which yields three categories from the list.
Category A has the best ranking and also only list servers which support IBR (in-band registration). The output lists only the servers and no details. If it is of interest to make use of some details, those need to be exported as well. Providers listed on Category C might contain servers with bad properties of any kind (it's not recommended to take the bare list).
For Gajim it would probably be best to host the list where it can easily be updated from time to time. The Account Creation Assistant can then update the list if the user wants to.
Here is an example of the integration in UWPX:
![E4wKwYsWQAEEYDC](/uploads/30ab4b1c8b4e05c264c9d69393b0e2d3/E4wKwYsWQAEEYDC.mp4)https://dev.gajim.org/gajim/gajim/-/issues/10558Spell Checking does not underline misspelled words or suggest corrections.2021-07-24T20:01:22ZGregory KSpell Checking does not underline misspelled words or suggest corrections.
## Versions
- OS: Windows 10 20H2
- Gajim version: 1.3.2
- GTK version: 3.24.29
- Python-nbxmpp version: 2.0.2
## Steps to reproduce the problem
1. Enable `Menu > Gajim > Preferences > Chats` "Spell Checking".
2. Open a "...
## Versions
- OS: Windows 10 20H2
- Gajim version: 1.3.2
- GTK version: 3.24.29
- Python-nbxmpp version: 2.0.2
## Steps to reproduce the problem
1. Enable `Menu > Gajim > Preferences > Chats` "Spell Checking".
2. Open a "chat" and misspell any word into `MessageInput`.
## Expected behavior
1. The context menu shows the "Language" menu item and all the
dictionaries, and
2. misspelled words get underlined while "suggested corrections"
are being listed in the context menu.
## Actual behavior
1. The context menu shows the "Language" menu item and all the
dictionaries, but
2. nothing gets underlined as misspelled or any words getting listed
as "suggested corrections" in the context menu.
## Actions taken before submitting issue
1. disabled all custom non-default plugins & custom dictionaries (Spell-Checking NOT Working)
2. installed & tried gajim portable 1.3.2 32bit/64bit (Spell-Checking NOT Working)
3. installed & tried daily snapshot gajim portable 1.3.2 32bit/64bit (Spell-Checking NOT Working)
4. installed & tried gajim portable master 32bit/64bit (Spell-Checking NOT Working)
5. installed & tried gajim 1.3.1 portable 64bit (Spell-Checking OK)1.3.3https://dev.gajim.org/gajim/gajim/-/issues/10502Certificate warning does NOT go away - Cannot connect to XMPP server2023-09-24T15:18:20ZAndyCertificate warning does NOT go away - Cannot connect to XMPP serverCertificate warning does NOT go away - Cannot connect to XMPP server
## Versions
- OS: Windows 10
- Gajim version: 1.3.1
## Steps to reproduce the problem
1. Connecting to my own XMPP server (Ejabberd) I get the error "SSL Cer...Certificate warning does NOT go away - Cannot connect to XMPP server
## Versions
- OS: Windows 10
- Gajim version: 1.3.1
## Steps to reproduce the problem
1. Connecting to my own XMPP server (Ejabberd) I get the error "SSL Certificate Verification Error"
2. Certificate is a valid self-signed certificate (see screen shots)
3. I check the box and select CONNECT (see screen shots)
4. Error Prompt "SSL Certificate Verification Error" keeps reappearing
## Expected behavior
1. You are supposed to be able to select the "Add this certificate to the list of trusted certificated (see screen shot)
2. Then you select "CONNECT" and it should be able to connect.
3. Works fine for mobile XMPP clients that allow you to ignore Certificate warnings
## Actual behavior
It does not connect and error box "SSL Certificate Verification Error" keeps popping back up after a few seconds the same "SSL Certificate Verification Error" (see screen shots)
[Error1](/uploads/a54d554835131ab7e8e7c2fe5c45e609/Error1.png)
[Error2](/uploads/823476af3e2cfde0753843b06c2b34a1/Error2.png)https://dev.gajim.org/gajim/gajim/-/issues/10450Clicking a link in the message window can cause Gajim 1.3 to crash2022-03-15T22:02:15ZzebsterClicking a link in the message window can cause Gajim 1.3 to crash## Versions
- OS: Windows 8.1 (me), Windows 10 (contact)
- Gajim version: 1.3 portable
- GTK version: bundled?
- Python-nbxmpp version: bundled?
## Steps to reproduce the problem
1. Click a link the message window (it does n...## Versions
- OS: Windows 8.1 (me), Windows 10 (contact)
- Gajim version: 1.3 portable
- GTK version: bundled?
- Python-nbxmpp version: bundled?
## Steps to reproduce the problem
1. Click a link the message window (it does not crash every time).
The last crashing link in question was https://www.gog.com/game/prey_digital_deluxe_edition
...but now it's not reproducible with this link, neither on my or my contacts machine :(
I already tried running in debug mode and even witnessed a crash some hours ago, but nothing was written to the log at the very moment of the crash.
Will try to add additional information as I witness more of these crashes.
## Expected behavior
A new tab is opened in your default browser with the link's URL.
## Actual behavior
Gajim 1.3 crashes.1.4.0https://dev.gajim.org/gajim/gajim/-/issues/10332Add XEP-0215 in Server Informations window2020-10-31T14:53:34ZanubisAdd XEP-0215 in Server Informations windowCurrently the "Server Information" window provides some XEP supported by the server for a given account.
I would suggest to add XEP-0215 External Service Discovery in the list, as it is relevant for Audio/Video chats (at least with Conv...Currently the "Server Information" window provides some XEP supported by the server for a given account.
I would suggest to add XEP-0215 External Service Discovery in the list, as it is relevant for Audio/Video chats (at least with Conversations, when #10109 will be implemented).
_For information, Conversations provides this info in its "Server Information" window._https://dev.gajim.org/gajim/gajim/-/issues/10183Better IRC Integration2023-11-26T22:03:19ZPhilipp Höristphilipp@hoerist.comBetter IRC Integration## Description of the new feature
* [ ] Provide easier UI for joining a IRC channel
* [ ] Remove show indicator in IRC channels
* [x] ~~Disable Nickname change in IRC channels~~
* [x] Provide nicer Icons/Avatar for IRC channels
* [ ] So...## Description of the new feature
* [ ] Provide easier UI for joining a IRC channel
* [ ] Remove show indicator in IRC channels
* [x] ~~Disable Nickname change in IRC channels~~
* [x] Provide nicer Icons/Avatar for IRC channels
* [ ] Somehow treat server messages from IRC better, maybe silence them
* [ ] Make AdHoc more discoverable, Server / IRC Server / Channelhttps://dev.gajim.org/gajim/gajim/-/issues/10180Escape key closes chat - Disable by default2020-08-30T09:58:16ZLicaon_KterEscape key closes chat - Disable by default## Versions
- OS: Debian Sid 64-bit
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Open an 1:1
2. Open a MUC
3. Press ESC
## Expected behavior
Nothing hap...## Versions
- OS: Debian Sid 64-bit
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Open an 1:1
2. Open a MUC
3. Press ESC
## Expected behavior
Nothing happens
## Actual behavior
1:1 and MUCs are closed when I press ESC
Now, ok, ACE has a setting to disable this, but feels odd to be Enabled by default since ESC is usually used to dismiss stuff (eg. Options, Dialogues) not to close actual UI views. I got the habit of pressing it multiple times for good measure (and muscle memory) so chats end up closed randomly.1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10141Exception when handling MultipleDataForms2022-10-04T13:34:46ZKlexxException when handling MultipleDataFormsIt seems that `FormGrid` is not capable of handling `MultipleDataForm` objects.
## Versions
- OS: debian (sid)
- Gajim version: 1.2.91+3f38952ee6a2 (master)
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.0
## Steps to rep...It seems that `FormGrid` is not capable of handling `MultipleDataForm` objects.
## Versions
- OS: debian (sid)
- Gajim version: 1.2.91+3f38952ee6a2 (master)
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.0
## Steps to reproduce the problem
1. call an adhoc command which replies with a "MultipleDataForm"
## Example MultipleDataForm
```xml
<iq type="result" to="me@foo.bar/gajim" from="x.foo.bar">
<command xmlns="http://jabber.org/protocol/commands" node="list_foobar" status="completed">
<x xmlns="jabber:x:data" type="result">
<title>foobar!</title>
<reported>
<field var="memo" />
<field var="value" />
<field var="type" />
</reported>
<item>
<field var="memo">
<value>tes</value>
</field>
<field var="value">
<value>1</value>
</field>
<field var="type">
<value>bar</value>
</field>
</item>
<item>
<field var="memo">
<value>tes</value>
</field>
<field var="value">
<value>1</value>
</field>
<field var="type">
<value>bar</value>
</field>
</item>
</x>
</command>
</iq>
```
## Expected behavior
render form correctly
## Actual behavior
```
Traceback (most recent call last):
File "/home/test/.local/lib/python3.8/site-packages/nbxmpp/dispatcher.py", line 421, in dispatch
func(self._client, stanza, **user_data)
File "/home/test/.local/lib/python3.8/site-packages/nbxmpp/util.py", line 123, in func_wrapper
cb()(result)
File "/home/test/gajim/gajim/gtk/util.py", line 532, in func_wrapper
return func(self, *args, **kwargs)
File "/home/test/gajim/gajim/gtk/adhoc.py", line 220, in _received_stage
stage_page.process_stage(stage)
File "/home/test/gajim/gajim/gtk/adhoc.py", line 420, in process_stage
self._show_form(stage_data.data)
File "/home/test/gajim/gajim/gtk/adhoc.py", line 446, in _show_form
self._dataform_widget = DataFormWidget(
File "/home/test/gajim/gajim/gtk/dataform.py", line 61, in __init__
self._form_grid = FormGrid(form_node, options)
File "/home/test/gajim/gajim/gtk/dataform.py", line 129, in __init__
self._analyse_fields(form_node, options)
File "/home/test/gajim/gajim/gtk/dataform.py", line 151, in _analyse_fields
for field in form_node.iter_fields():
File "/home/test/.local/lib/python3.8/site-packages/nbxmpp/simplexml.py", line 563, in __getattr__
raise AttributeError
AttributeError
```https://dev.gajim.org/gajim/gajim/-/issues/9987Roadmap Connection -> Client migration2020-10-12T22:27:25ZPhilipp Höristphilipp@hoerist.comRoadmap Connection -> Client migrationWith new nbxmpp.Client, the Connection class is rewritten from scratch, following things have to be fixed or rewritten
- [x] Fix IBR (Account Wizard)
- [x] Honor SOCKS5 Proxy setting
- [x] Fix ServerInfo Dialog UI
- [ ] ~~Test Zeroc...With new nbxmpp.Client, the Connection class is rewritten from scratch, following things have to be fixed or rewritten
- [x] Fix IBR (Account Wizard)
- [x] Honor SOCKS5 Proxy setting
- [x] Fix ServerInfo Dialog UI
- [ ] ~~Test Zeroconf, seems to not work for some reason~~ #10138
- [ ] ~~Fix Client Cert (needs implementing in nbxmpp)~~ #10139
- [ ] ~~Reimplement POSH~~ #10038
- [x] Accounts: Custom Host needs UI for setting type
- [x] Write method to close all account windows on disconnect
- [x] Remove USE_HTTP_ENV var UI (Not needed anymore)
- [x] Correctly shut Gajim down (It tries to send stanzas after we are already disconnected)
- [x] Adapt proxy window (Remove BOSH)
- [x] Accounts: Rework relogin after setting change
- [x] Check Plain Connection Dialog event
- [ ] ~~Make LoginD dbus module listen for shutdown instead of sleep~~ #10040
- [x] Fix removing account from server
- [x] Fix setting correct resource1.2.0https://dev.gajim.org/gajim/gajim/-/issues/9971XMPP Compliance Suites 20232023-05-04T14:12:55ZDaniel BrötzmannXMPP Compliance Suites 2023[XEP-0479](https://xmpp.org/extensions/xep-0479.html) describes XMPP Compliance Suites 2022. Here, I try to evaluate Gajim's state of compliance.
Gajim already meets the requirements to be an **Advanced Client** in the 'Core Compliance ...[XEP-0479](https://xmpp.org/extensions/xep-0479.html) describes XMPP Compliance Suites 2022. Here, I try to evaluate Gajim's state of compliance.
Gajim already meets the requirements to be an **Advanced Client** in the 'Core Compliance Suite'.
In order to meet the requirements of '**Advanced Client**' in the [IM Compliance Suite](https://xmpp.org/extensions/xep-0459.html#im), the follwing XEPs are missing:
* [x] Advanced Group Chat: [XEP-0402: PEP Native Bookmarks](https://xmpp.org/extensions/xep-0402.html), see #9894
* [ ] Advanced Group Chat: [XEP-0410: MUC Self-Ping (Schrödinger's Chat)](https://xmpp.org/extensions/xep-0410.html), see gajim/python-nbxmpp#133https://dev.gajim.org/gajim/gajim/-/issues/9836Add option "minimize to tray" on close2020-08-08T06:12:21Zzocker-160Add option "minimize to tray" on close**Please note by far the quickest way to get a new feature is to file a Merge Request.**
## Description of the new feature
It would be nice to have the option, that minimizes Gajim to tray (instead of the taskbar like it does now), jus...**Please note by far the quickest way to get a new feature is to file a Merge Request.**
## Description of the new feature
It would be nice to have the option, that minimizes Gajim to tray (instead of the taskbar like it does now), just like it does, when I left-click on the tray icon.
I use the option one window for everything, so I don't know how it behaves, when multiple windows are open.https://dev.gajim.org/gajim/gajim/-/issues/9794Client-side only contacts names2022-12-30T10:21:39ZMarcin MielniczukClient-side only contacts namesAs of 1.1.3, if the contact name is set, it's automatically synchronized with the server. For privacy reasons one may prefer to keep the contact names locally (only on the client side).As of 1.1.3, if the contact name is set, it's automatically synchronized with the server. For privacy reasons one may prefer to keep the contact names locally (only on the client side).https://dev.gajim.org/gajim/gajim/-/issues/9756Gajim 1.2.0 Release - Overview2020-06-27T04:12:40ZDaniel BrötzmannGajim 1.2.0 Release - Overview*Release date: 21.06.2020*
## Things to do before release:
* [x] Finish group chat workflow
* [x] Finish string rewording (see !384)
* [x] Check nickname change through server forced
* [x] Implement handler for muc-configuration-failed...*Release date: 21.06.2020*
## Things to do before release:
* [x] Finish group chat workflow
* [x] Finish string rewording (see !384)
* [x] Check nickname change through server forced
* [x] Implement handler for muc-configuration-failed
* [x] Change nickname hotkey should be only activateable in groupchat page
* [x] MUC Info page, unselect all labels (Bug?)
* [x] Add ALT+1/2/3.. Shortcuts again
* [x] Refactor mucs_caps_cache
* [x] Store last MUC disco info to harddisk
* [x] Use in some places cached disco info instead of requesting it
* [x] Update names everywhere on bookmark update (see #9782, #5406 )
* [x] Make MUC Info Page pretty
* [x] Store nickname change in Bookmarks
* [x] Make it possible to rename MUCs (see #9783)
* [x] Add Invite Contact page to GroupchatControl (see !516)
* [x] Store MUC name changes in Bookmarks
* [x] Reintroduce 'Merge accounts' setting: see !623 (setting was removed from account settings)
* [x] On legacy IBR, dataform is sent instead of register fields
* [x] After adding new account, Gajim should no ask for relogin
* [x] AccountWizard: Save proxy and custom settings to config
* [x] Accounts: After adding a new account, account enable switch is not updated
* [x] On legacy IBR instructions are not shown
* [x] MAM: item-not-found recovery
* [x] Decide which plugins to keep for Gajim 1.2 (see #gajim/gajim-plugins#488)
* [x] Fix #9983
* [x] Fix #10016
* [x] Fix reconnect menu on minimized MUCs (see #10106)
* [x] Make anonymous login work again
* [ ] ~~Test jingle File Transfer~~ #10140
* [ ] ~~Use socks5 proxy for plugin installer~~ (see gajim/gajim-plugins#207)
* [ ] ~~Leave MUC on bookmark update~~ (see #9894)
* [x] Rework network/connection handling (see #9987)
* [x] Document supported XEPs for python-nbxmpp (see gajim/python-nbxmpp#77)
* [x] 1.2.0 Milestone [issues](https://dev.gajim.org/gajim/gajim/-/milestones/54#tab-issues)
* [x] 1.2.0 Milestone [merge requests](https://dev.gajim.org/gajim/gajim/-/milestones/54#tab-merge-requests)
## Build
* [x] Update `ChangeLog`
* [x] Update dependencies in `Readme.md`
* [x] Raise version in `gajim/__init__.py`
* [x] Raise version in `data/org.gajim.Gajim.appdata.xml.in`
* [x] Update appveyor build script
* [x] Pull translations from Pootle
* [x] Push release tag `gajim-1.2.0`
* [x] Configure and start build process for release
## Update
* [x] Package maintainers: notify package maintainers to include new release (announce via mailing list)
* [x] Flatpak: update build on [flathub](https://flathub.org/apps/details/org.gajim.Gajim) @andre
* [x] Website: write announcement post with changelog
* [x] Website: update Download section on gajim.org (set [current version and update installer links](https://dev.gajim.org/gajim/website/blob/master/themes/beautifulhugo/data/Gajim.json))
* [x] Website: update screenshots
* [x] Website: pull website translations from Pootle
* [x] MUC: update MUC subject on gajim@conference.gajim.org1.2.0https://dev.gajim.org/gajim/gajim/-/issues/9597History synchronization broken2020-05-18T16:18:22ZTheGraveHistory synchronization brokenTried version 1.1.2 on Win 7 x64 (although the story on Ubuntu is similar), started with a blank config. Added my account as usual - history sync was not triggered automatically, at least I didn't notice any activity suggesting this on t...Tried version 1.1.2 on Win 7 x64 (although the story on Ubuntu is similar), started with a blank config. Added my account as usual - history sync was not triggered automatically, at least I didn't notice any activity suggesting this on the server. Then I tried Accounts->Advanced->Synchronize History->Everything. XML console shows this and syncs nothing:
4/2019 11:44:59 PM -->
<iq xmlns="jabber:client" type="set" id="234ff08d-3848-4965-b64a-8bd8d1001100" from="user@domain.tld/gajim.O39M3AMP">
<query queryid="4021c642-2d89-442e-baf0-8d7853924f87">
<x xmlns="jabber:x:data" type="submit">
<field var="FORM_TYPE" type="hidden" />
<field var="end" type="text-single">
<value>2019-02-24T21:44:56Z</value>
</field>
</x>
<set xmlns="http://jabber.org/protocol/rsm">
<max>0</max>
</set>
</query>
</iq>
<!-- Incoming 2/24/2019 11:44:59 PM -->
<iq xmlns="jabber:client" id="234ff08d-3848-4965-b64a-8bd8d1001100" type="error" to="user@domain.tld/gajim.O39M3AMP">
<error type="cancel">
<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
</error>
</iq>
<!-- Outgoing 2/24/2019 11:44:59 PM -->
<r xmlns="urn:xmpp:sm:3" />
<!-- Incoming 2/24/2019 11:44:59 PM -->
<a h="21" xmlns="urn:xmpp:sm:3" />
<!-- Incoming 2/24/2019 11:45:00 PM -->
<r xmlns="urn:xmpp:sm:3" />
<!-- Outgoing 2/24/2019 11:45:00 PM -->
<a xmlns="urn:xmpp:sm:3" h="26" />
As a contrast - I'm running 0.16.9 on Linux and syncs history perfectly with the same server. About the same version on Windows was syncing fine too (but had to ditch it because of Python problems causing a crash).
Prosody version: 0.10 nightly build 500
Using mod_mam with an SQL storage backend.https://dev.gajim.org/gajim/gajim/-/issues/9499'<3' is not 😍 (heart eyes)2021-02-14T14:00:32ZYao Mitachi'<3' is not 😍 (heart eyes)If you're gonna translate <3 into anything it's gotta be one of the several heart emoji available, like ❤️, not 😍If you're gonna translate <3 into anything it's gotta be one of the several heart emoji available, like ❤️, not 😍https://dev.gajim.org/gajim/gajim/-/issues/9422Doubleclicking a participant in a non-anonymous MUC should open 1:1 chat (ins...2020-12-29T22:25:04ZlaszlovlDoubleclicking a participant in a non-anonymous MUC should open 1:1 chat (instead of private message)Currently, doubleclicking on one of the users in a MUC's member list will start a private conversation that's routed through the MUC service ("xxx from group chat yyy"). That makes sense for anonymous MUCs since you don't know that user'...Currently, doubleclicking on one of the users in a MUC's member list will start a private conversation that's routed through the MUC service ("xxx from group chat yyy"). That makes sense for anonymous MUCs since you don't know that user's real JID. But for non-anonymous MUCs, I think it would make much more sense to open a regular conversation to the target JID.
For non-anonymous MUCs it's likely that you already have the participants in your roster and/or had a regular private conversation with their JID in the past; so you'll want to reuse the same regular chat mechanism instead of segmenting your conversation in two separate channels/windows/tabs.
Also, support for private MUC conversations in most other XMPP clients is very awkward or non-existing, so it's better to avoid it if possible.1.3.0https://dev.gajim.org/gajim/gajim/-/issues/9401Let User copy the full info from the ServerInfo Window2018-10-27T13:35:38ZPhilipp Höristphilipp@hoerist.comLet User copy the full info from the ServerInfo Window## Description of the new feature
A Copy button should allow the user to copy the full info in the Serverinfo window to his clipboard, ready to be pasted for example into a chatroom## Description of the new feature
A Copy button should allow the user to copy the full info in the Serverinfo window to his clipboard, ready to be pasted for example into a chatroomhttps://dev.gajim.org/gajim/gajim/-/issues/9360Allow disabling keyboard shorcut ctrl+L (clear chat window)2021-12-10T22:57:34ZazrdevAllow disabling keyboard shorcut ctrl+L (clear chat window)As documented in Help > Keyboard shortcuts, I can press `Ctrl+L` in a Chat window to clear it, which I do frequently by accident.
Is it possible to deactivate and/or re-map this shortcut (or for that matter, all of them?)
I searched fo...As documented in Help > Keyboard shortcuts, I can press `Ctrl+L` in a Chat window to clear it, which I do frequently by accident.
Is it possible to deactivate and/or re-map this shortcut (or for that matter, all of them?)
I searched for an existing issue, but didn't find any, please excuse if there already is one I overlooked.1.4.0https://dev.gajim.org/gajim/gajim/-/issues/9325Automatically accept files for specific contacts2021-12-06T08:40:21ZParstionAutomatically accept files for specific contactsPlease add the ability to automatically accept/download files to a folder choosen beforehand (to avoid the "save as" popup).Please add the ability to automatically accept/download files to a folder choosen beforehand (to avoid the "save as" popup).https://dev.gajim.org/gajim/gajim/-/issues/9193Remember resource between reconnections2018-06-12T16:51:17ZAlexander KrotovRemember resource between reconnectionsBy default Gajim uses `gajim.$rand` resource, which is computed each time a connection is made (see `gajim/common/connection.py`). It makes impossible to track the device between reconnections. I propose to remove templates (which suppor...By default Gajim uses `gajim.$rand` resource, which is computed each time a connection is made (see `gajim/common/connection.py`). It makes impossible to track the device between reconnections. I propose to remove templates (which support `$hostname` and `$rand` only anyways), generate resource once in the form of `gajim.$rand` on account creation and keep it in the configuration file. Then user can change it manually only.
[https://conversations.im/](Conversations) uses similar approach, with resources like `Conversations.$rand`, the random part is saved.
Having permanent resources will make it possible to deliver messages with `<no-permanent-store />` to offline clients, and will make it possible to deliver `<store />` messages to offline clients when MAM is not available. [Prosody](https://prosody.im/) is going to support this kind of behavior soon, but random resources will make Gajim look like different clients on each connection.
For example, let there be two resources connected, "Conversations.foo" and "Gajim.bar". Then "Gajim.bar" disconnects and bare JID receives a message. It is delivered to "Conversations.foo" and stored for "Gajim.bar". But then Gajim reconnects with "Gajim.baz" resource, so message is stored for "Gajim.bar" until it times out, and "Gajim.baz" never receives a message.
If there is an agreement that it should be fixed, I would like to try to implement it.