gajim issueshttps://dev.gajim.org/gajim/gajim/-/issues2023-03-28T23:08:16Zhttps://dev.gajim.org/gajim/gajim/-/issues/10059Support GSSAPI/Kerberos Auth2023-03-28T23:08:16ZGhost UserSupport GSSAPI/Kerberos AuthGood day, at my work as a server I use Openfire, in which users are created not locally, but taken from Active Directory.
Please tell us whether Gajim supports automatic authorization on behalf of the current user who is logged inGood day, at my work as a server I use Openfire, in which users are created not locally, but taken from Active Directory.
Please tell us whether Gajim supports automatic authorization on behalf of the current user who is logged in1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10421Error when pressing Esc to end message correction2021-02-14T12:47:39ZDaniel BrötzmannError when pressing Esc to end message correction## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.24
- PyGObject Version: 3.38.0
- GLib Version : 2.66.2
- python-nbxmpp Version: 3.0.0-dev1
- Gajim Version: 1.4.0-dev1
## Traceback
```
Traceback (most recent call last):
File "/home...## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.24
- PyGObject Version: 3.38.0
- GLib Version : 2.66.2
- python-nbxmpp Version: 3.0.0-dev1
- Gajim Version: 1.4.0-dev1
## Traceback
```
Traceback (most recent call last):
File "/home/x/.local/lib/python3.9/site-packages/gajim/chat_control_base.py", line 1055, in _on_message_tv_buffer_changed
self.parent_win.window.lookup_action(
AttributeError: 'NoneType' object has no attribute 'window'
```
## Steps to reproduce the problem
Start correcting a message, but then decide to stop correcting (by pressing Esc). This closes the chat window, and spawns this error.1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10340Gajim 1.3.0 Release - Overview2021-02-08T22:10:06ZDaniel BrötzmannGajim 1.3.0 Release - Overview*Release date: TBA*
## Things to do before release:
* [x] 1.3.0 Milestone [issues](https://dev.gajim.org/gajim/gajim/-/milestones/57#tab-issues)
* [x] 1.3.0 Milestone [merge requests](https://dev.gajim.org/gajim/gajim/-/milestones/57#t...*Release date: TBA*
## Things to do before release:
* [x] 1.3.0 Milestone [issues](https://dev.gajim.org/gajim/gajim/-/milestones/57#tab-issues)
* [x] 1.3.0 Milestone [merge requests](https://dev.gajim.org/gajim/gajim/-/milestones/57#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] Merge translations from Weblate
* [x] Push release tag `gajim-1.3.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: merge website translations from Weblate
* [x] MUC: update MUC subject on gajim@conference.gajim.org1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10182Gajim does not respect the layer-modifiers of multi-layer keyboard layout "ne...2021-01-13T19:53:40ZnakamiGajim does not respect the layer-modifiers of multi-layer keyboard layout "neo" on Windows## Versions
- OS: Windows 10 (Version 1909, but also all previous ones)
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Install/use neo-layout (https://neo-la...## Versions
- OS: Windows 10 (Version 1909, but also all previous ones)
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Install/use neo-layout (https://neo-layout.org/) natively (keyboard selectable in the Windows settings and also language quick selection (Win+Space)).
2. In any gajim input field (most importantly in a chat window) hold down a modifier (Mod3 or Mod4; layer 3,4,5,6) and type something like a special character - let's say we want to produce a smiley: ":)".
## Expected behavior
We expect the particular characters to appear, e.g. a smiley: ":)".
## Actual behavior
The letter of that particular key is inserted, but as if you intended to use layer 1 (not holding down the shift-key additionally) or layer 2 (holding down the shift-key additionally). Referring to the example:
- Expected: ":)"
- Effectively: "dr" (":"->"d" and ")" -> "r")1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10235Roster tooltip breaks while appending PEP info2021-01-09T16:47:09ZTobias WolterRoster tooltip breaks while appending PEP info## Versions
- OS: Arch Linux
- GTK Version: 3.24.22
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.1
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.8...## Versions
- OS: Arch Linux
- GTK Version: 3.24.22
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.1
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/gajim/roster_window.py", line 5183, in query_tooltip
value, widget = self._roster_tooltip.get_tooltip(
File "/usr/lib/python3.8/site-packages/gajim/gtk/tooltips.py", line 267, in get_tooltip
self._populate_grid(connected_contacts, account, typ)
File "/usr/lib/python3.8/site-packages/gajim/gtk/tooltips.py", line 373, in _populate_grid
self._append_pep_info(contact)
File "/usr/lib/python3.8/site-packages/gajim/gtk/tooltips.py", line 444, in _append_pep_info
self._ui.tune.set_markup(tune)
TypeError: Argument 1 does not allow None as a value
```
## Steps to reproduce the problem
Use Gajim with unified window layout normally, at some point (possibly when scolling over a username, but just now only by raising focus with a click) an exponentially increasing bunch of popups shows up with above error message.
...1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10377Profile: "IndexError: list assignment index out of range" when editing Organi...2021-01-09T16:25:10ZDaniel BrötzmannProfile: "IndexError: list assignment index out of range" when editing Organisation## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.24
- PyGObject Version: 3.38.0
- GLib Version : 2.66.2
- python-nbxmpp Version: 3.0.0-dev1
- Gajim Version: 1.4.0-dev1
## Traceback
```
Traceback (most recent call last):
File "/usr/...## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.24
- PyGObject Version: 3.38.0
- GLib Version : 2.66.2
- python-nbxmpp Version: 3.0.0-dev1
- Gajim Version: 1.4.0-dev1
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/gajim/gtk/vcard_grid.py", line 586, in _on_text_changed
self._prop.values[0] = text
IndexError: list assignment index out of range
```
## Steps to reproduce the problem
Edit Profile > Add Organisation > start typing Organisation1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10384launch_history_manager broken2021-01-08T19:17:17ZAndrélaunch_history_manager broken**Please first check if another issue has been opened for your problem**
## Versions
- OS: Linux
- Gajim version: 161774edf97670670a1973cef079db559b7645d0
- GTK version: 3.24.24
- Python-nbxmpp version: 3.0.0.dev1
## Steps to ...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Linux
- Gajim version: 161774edf97670670a1973cef079db559b7645d0
- GTK version: 3.24.24
- Python-nbxmpp version: 3.0.0.dev1
## Steps to reproduce the problem
1. `./launch_history_manager -c /tmp/gajim`
## Expected behavior
History manager window opens.
## Actual behavior
```
$ ./launch-history-manager.py -c /tmp/gajim
Traceback (most recent call last):
File "/home/user/gajim/./launch-history-manager.py", line 3, in <module>
from gajim import history_manager
File "/home/user/gajim/gajim/history_manager.py", line 89, in <module>
app.load_css_config()
File "/home/user/gajim/gajim/common/app.py", line 629, in load_css_config
from gajim.gui.css_config import CSSConfig
ModuleNotFoundError: No module named 'gajim.gui.css_config'
```1.3.0https://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/9843TypeError when trying to open profile window: string indices must be integers2020-12-28T13:54:02ZAndrewTypeError when trying to open profile window: string indices must be integers## Versions
- OS: Windows 10
- GTK+ Version: 3.24.1
- PyGObject Version: 3.32.1
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.3
- Jabber Server: Prosody 0.11.2
## Traceback
```
Traceback (most recent call last):
Fil...## Versions
- OS: Windows 10
- GTK+ Version: 3.24.1
- PyGObject Version: 3.32.1
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.3
- Jabber Server: Prosody 0.11.2
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/gui_interface.py", line 2251, in process_connections
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/nbxmpp/idlequeue.py", line 518, in process
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/nbxmpp/transports_nb.py", line 451, in pollin
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/nbxmpp/transports_nb.py", line 676, in _do_receive
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/nbxmpp/transports_nb.py", line 690, in _on_receive
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/nbxmpp/dispatcher_nb.py", line 535, in _WaitForData
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/common/modules/vcard_temp.py", line 228, in _parse_vcard
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/gtk/profile.py", line 266, in _nec_vcard_received
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.7/site-packages/gajim/gtk/profile.py", line 216, in set_values
TypeError: string indices must be integers
```
## Steps to reproduce the problem
...
Just try open Profile1.3.0https://dev.gajim.org/gajim/gajim/-/issues/9897Windows 10 Emoji Input (Win+.) not working2020-12-22T08:29:31ZGhost UserWindows 10 Emoji Input (Win+.) not working## Versions
- OS: Windows 10 1903, 64bit
- Gajim version: 1.1.3
- GTK version: 3.24.1
- Python-nbxmpp version: 0.6.10
## Steps to reproduce the problem
1. Open a chat, position cursor in text input box
1. Press Win + . (fu...## Versions
- OS: Windows 10 1903, 64bit
- Gajim version: 1.1.3
- GTK version: 3.24.1
- Python-nbxmpp version: 0.6.10
## Steps to reproduce the problem
1. Open a chat, position cursor in text input box
1. Press Win + . (full stop)
1. Click a few emojis
## Expected behavior
Emojis go to text input box.
## Actual behavior
Emojis go to some strange input box that appears in top left of the screen. After pressing ENTER, they're gone for good. Actual text input box stays the same.
![2019-11-18_19_21_57-Microsoft_Edge](/uploads/f42aebe62ac96a78ecd6b69d8a026610/2019-11-18_19_21_57-Microsoft_Edge.png)1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10322Drag and Drop in Groupchat is not accepted2020-12-14T16:27:04ZtomDrag and Drop in Groupchat is not accepted**Please first check if another issue has been opened for your problem**
## Versions
- OS: Ubuntu 20.04.1
- Gajim version: 1.2.91+7ac4ba3b1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.91.0
## Steps to reproduce the pro...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Ubuntu 20.04.1
- Gajim version: 1.2.91+7ac4ba3b1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.91.0
## Steps to reproduce the problem
1. Drag & Drop one or more images onto groupchat window
## Expected behavior
Images are uploaded.
## Actual behavior
Nothing happens.
Note: Drag and drop files are accepted for regular chats with a single contact, and in general do work.
Uploads into group chats via "attachment" button do work.1.3.0Daniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim/-/issues/10295AttributeError: 'NoneType' object has no attribute 'set_extended_away'2020-12-03T18:14:10ZGhost UserAttributeError: 'NoneType' object has no attribute 'set_extended_away'## Versions
- OS: Arch Linux ARM
- Gajim version: 1.2.1
- GTK version: 3.24.8
- Python-nbxmpp version: 1.0.2
## Steps to reproduce the problem
Reproduced on PinePhone running Arch Linux ARM with Phosh.
1. Run gajim
1. Lock ...## Versions
- OS: Arch Linux ARM
- Gajim version: 1.2.1
- GTK version: 3.24.8
- Python-nbxmpp version: 1.0.2
## Steps to reproduce the problem
Reproduced on PinePhone running Arch Linux ARM with Phosh.
1. Run gajim
1. Lock the screen via the power button or just wait for it to become idle
1. Unlock again
## Expected behavior
No error is shown.
## Actual behavior
Gajim encountered an error:
```
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/gajim/common/client.py", line 607, in _screensaver_state_changed
Monitor.set_extended_away(active)
File "/usr/lib/python3.8/site-packages/gajim/common/idle.py", line 231, in set_extended_away
self._idle_monitor.set_extended_away(state)
AttributeError: 'NoneType' object has no attribute 'set_extended_away'
```
## Additional notes
None of the IdleMonitor implementations are applicable: 1) Mutter is not used, 2) Phosh is based on Wayland so there is no X screen saver (Xss).
The `set_extended_away` call happens on `_idle_monitor` which is not guarded in any way, resulting in the error above.
Here's a patch that helped me overcome this problem:
[gajim-IdleMonitor.patch](/uploads/27e0273346e3a57b4e86b2deb348f7ba/gajim-IdleMonitor.patch)1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10111Inconsistent version/tag2020-11-18T19:06:41ZDmitry MarakasovInconsistent version/taghttps://dev.gajim.org/gajim/gajim/-/tags/gajim-1.2.0-beta1 lists version 1.1.99.1 and tag 1.2.0-beta1.
Please use consistent versioning, otherwise it confuses packagers and package-related tools and services, such as new software release...https://dev.gajim.org/gajim/gajim/-/tags/gajim-1.2.0-beta1 lists version 1.1.99.1 and tag 1.2.0-beta1.
Please use consistent versioning, otherwise it confuses packagers and package-related tools and services, such as new software release reporting and version-based vulnerability checking.1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10337XEP-0363: Component requiring PUT HTTP headers causes an exception2020-11-07T15:29:49ZIvan VučicaXEP-0363: Component requiring PUT HTTP headers causes an exception## Versions
- OS: a custom Debian distribution
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Try to upload a file.
1. Have the XMPP component respond wit...## Versions
- OS: a custom Debian distribution
- Gajim version: 1.2.1
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.1
## Steps to reproduce the problem
1. Try to upload a file.
1. Have the XMPP component respond with a `<put/>` field containing a `<header/>`:
```
<!-- Incoming Tue 03 Nov 2020 12:19:41 PM GMT (test@xmppdev.domain) -->
<iq xmlns="jabber:client" to="test@xmppdev.domain/gajim.902EJ9AX" from="upload.xmppdev.domain" type="result" xml:lang="en" lang="en" id="afb37f0e-5e09-402f-8c0a-7975e5588026">
<slot xmlns="urn:xmpp:http:upload:0">
<put url="https://upload.xmppdev.domain/upload/e3f932b1-e62e-4f6a-9936-61ee520b7881/banana-dance.gif">
<header name="Authorization">Bearer 123</header>
</put>
<get url="https://upload.xmppdev.domain/upload/e3f932b1-e62e-4f6a-9936-61ee520b7881/banana-dance.gif" />
</slot>
</iq>
```
(I believe this is according to https://xmpp.org/extensions/xep-0363.html#example-6 -- but, I might be blind to a typo. Please let me know if I have a typo somewhere causing the exception.)
## Expected behavior
Upload initiates and passes the `Authorization` header correctly.
## Actual behavior
Upload is never starting in GUI.
![image](/uploads/0d5c916cec4b16c090b1b313b1dfc719/image.png)
No HTTP PUT request appears in logs for `https://upload.xmppdev.domain`.
Console in terminal displays an exception:
```
11/03/2020 12:26:22 (E) nbxmpp.dispatcher (xmppdev.domain) Error while handling stanza
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nbxmpp/dispatcher.py", line 421, in dispatch
func(self._client, stanza, **user_data)
File "/usr/lib/python3/dist-packages/nbxmpp/util.py", line 121, in func_wrapper
cb()(result, user_data)
File "/usr/lib/python3/dist-packages/gajim/common/modules/httpupload.py", line 194, in _received_slot
self._upload_file(transfer)
File "/usr/lib/python3/dist-packages/gajim/common/modules/httpupload.py", line 211, in _upload_file
for name, value in transfer.headers:
ValueError: too many values to unpack (expected 2)
```1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10339Gajim freezes because of music_track functionality2020-11-07T15:15:26ZGhost UserGajim freezes because of music_track functionality## Versions
- OS: gentoo linux amd64
- Gajim version: 1.2.2
- GTK version: 3.24.22
- Python-nbxmpp version: 1.0.2
## Steps to reproduce the problem
1. Start gajim
1. Watch several videos in chromium
## Expected behavior
...## Versions
- OS: gentoo linux amd64
- Gajim version: 1.2.2
- GTK version: 3.24.22
- Python-nbxmpp version: 1.0.2
## Steps to reproduce the problem
1. Start gajim
1. Watch several videos in chromium
## Expected behavior
Gajim starts quickly (<5 seconds) and works without freezes
## Actual behavior
Gajim starts in more than 15 second. If I watch several videos in chromium gajim freezes: its interface gets completely unresponsive.
## Comments
When I comment in gui_interface.py the string:
` music_track.enable()`
the issue is resolved. Other programs, e.g. kdeconnect, get the current track information without problems. As for me it will be much better to make us able to turn this functionality completely off in settings. I don't like that software used for messaging gets information about media that I watch.
Debug log is attached with information from my roster cut out.
[gajim-debug.txt](/uploads/0e0e73c63a0dee1f9d8732ad105041dd/gajim-debug.txt)1.3.0https://dev.gajim.org/gajim/gajim/-/issues/7613Italic ASCII formatting does not work when comma attached2020-10-25T16:53:19ZDarlanItalic ASCII formatting does not work when comma attached# Bug description
Italic ASCII formatting does not work.
# Steps to reproduce
`ascii_formatting` activated.
`show_ascii_formatting_chars` de/activated (works with both).
Send `/test/,` or `,/test/` or `,/test/,`.
# Software versions
OS...# Bug description
Italic ASCII formatting does not work.
# Steps to reproduce
`ascii_formatting` activated.
`show_ascii_formatting_chars` de/activated (works with both).
Send `/test/,` or `,/test/` or `,/test/,`.
# Software versions
OS version: Salix OS 14.0.1 (Slackware 14.0 based)
GTK version: 2.24.10
PyGTK version: 2.24.01.3.0https://dev.gajim.org/gajim/gajim/-/issues/10156Port configpaths module to pathlib2020-10-22T20:31:35ZPhilipp Höristphilipp@hoerist.comPort configpaths module to pathlib* [x] Make Plugins accept path like objects
* [x] Port all Gajim code that uses configpaths.get()* [x] Make Plugins accept path like objects
* [x] Port all Gajim code that uses configpaths.get()1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10268Desktop notification: new button "mark as read"2020-10-16T20:56:36ZThomas McWorkDesktop notification: new button "mark as read"I'd love to have a second button in the desktop notifications on new messages that say "mark as read". It shall mark the message as read and the notification disappear. I often get short messages that fit completely into the notification...I'd love to have a second button in the desktop notifications on new messages that say "mark as read". It shall mark the message as read and the notification disappear. I often get short messages that fit completely into the notification so there is no need to click on "activate" and then close the Gajim window.1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10122Windows Installer: Register xmpp: uri scheme2020-10-15T19:15:27ZPhilipp Höristphilipp@hoerist.comWindows Installer: Register xmpp: uri schemeIf someone klicks in a browser on an xmpp: link it should open or offer GajimIf someone klicks in a browser on an xmpp: link it should open or offer Gajim1.3.0https://dev.gajim.org/gajim/gajim/-/issues/10272Crash when pasting text as quote into chat window2020-10-08T19:09:20ZGhost UserCrash when pasting text as quote into chat window## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.23
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.1
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python...## Versions
- OS: Manjaro Linux
- GTK Version: 3.24.23
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.1
## Traceback
```
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/gajim/chat_control_base.py", line 723, in paste_clipboard_as_quote
self.insert_as_quote(text)
File "/usr/lib/python3.8/site-packages/gajim/chat_control_base.py", line 716, in insert_as_quote
text = '> ' + text.replace('\n', '\n> ') + '\n'
AttributeError: 'NoneType' object has no attribute 'replace'
```
## Steps to reproduce the problem
What I have done:
1. Open a chat window using the roster
2. Paste some text as quote1.3.0