NeoChat in KDEReview

Carl Schwan carl at
Sun Nov 22 11:40:16 GMT 2020

Le samedi, novembre 21, 2020 1:26 AM, Albert Astals Cid <aacid at> a écrit :

> El dijous, 19 de novembre de 2020, a les 23:27:24 CET, Carl Schwan va escriure:
> > Hello,
> > Tobias and I have been working on a Matrix client using Kirigami,
> > named NeoChat. NeoChat is still missing a few features to become
> > a full-featured Matrix client (most notably encryption support and
> > video chat support), but it is starting to be good enough for
> > interacting with public rooms. It is using version 0.6 of
> > libQuotient and is a fork of the (abandoned) Spectral client.
> > For the moment the feature supported are:
> >
> > -   Sending messages
> > -   Sending files from clipboard and filesystem
> > -   Reply to message (right-click on a message to access menu)
> > -   Start a private chat (but not encrypted)
> > -   Show notifications, for the moment there is only a global switch
> >     to disable it. We plan to implement the configuration part of the
> >     specification soon.
> >
> > -   Auto-completion of usernames in chat
> > -   Emoji picker
> > -   Basic room setting page
> > -   Send and accept invitations
> > -   /rainbow <message> (very important)
> > -   /me <message>
> > -   And more features are contently added
> >
> > We already support a nightly build for Flatpak and a quite
> > experimental Android build.
> > The only external dependencies for NeoChat are libQuotient
> > (0.6.x branch) and cmark.
> > Concerning the release plan, we want to release an initial
> > version to ship with the Pinephone KDE edition. And once with
> > are happy with the feature provided by NeoChat (e.g. encryption
> > support) we plan on moving it to the release service.
> > We have an active Matrix room for discussion around NeoChat at
> >
> > Thanks in advance for your review and helpful advice.
> Nitpick (just at the beginning because it's the first thing i faced when trying to compile): It would be nicer if you would use the feature_summary better, i.e. don't mark things required in the find_package level but on the set_package_properties level. so i get a nice summary with all the things i'm missing the first time i try instead of having to run cmake N times until i install everything.
> I tried to login to (which doesn't seem to be the correct url i have to use i guess) and i got "no feedback at all" that things were failing. I can even press the Login more times in what seems to be spawning more connection attempts. I've since learnt that is the correct url to use.
> I tried to login to and then got a notification that something was wrong (i was using kde's server credentials) but the notification went away before i could read it. Seems not a very nice UI to hide important error messages before i can read them.
> If i use " " (<- notice the space at the end) as server to connect to, nothing happens, no error, no nothing, either automatically remove trailing spaces or at least tell me "you stupid user fix your url"
> The chat window uses the wrong background colors, gray is not the background color my theme uses for text areas, it's white.
> "Room setting" in the sidebar should be "Room settings"?
> If i'm in a channel and press settings, then accounts, then explore rooms, it think it makes no sense UI wise that the top bar < doesn't bring me directly to the channel and instead has me go to accounts and settings first.
> If i'm in about neochat, i don't think the top bar should still have the "open this channel sidebar" on top right, i'm not really on a channel right now.
> Speaking about that "open this channel sidebar" on top right, it could really use a tooltip, the icon is not really that obvious the first time you click it it's like hoping it's not the kill everyone button :)
> I am not sure how i did it (i think i was loging in and login out again) but i ended up with two panels
> The first time you login, the chat sorting is all weird, see (ignore the right panel), there groups, then direct messages, then groups again on the left panel
> There seems to be some issue with text wrapping, see how gets turns into (the black on the right is the window behind neochat)
> In the room settings having Save not be at the end of the layout is weird
> In the room settings, what's Canonical Alias, i have an empty non editable combobox, what am i supposed to do with it?
> The room settings title label escapes it's "window" see
> You're leaking m_settings in EmojiModel, i'd suggest just turning it into a QSettings instead of a QSettings *

Thanks for the careful review of NeoChat :)

I fixed almost all the problems you found but two problems are still remaining:

* The "open this channel sidebar" button on the top right corner is a control coming from Kirigami and I couldn't figure out a way with the public API to change it. I will discuss this tomorrow with Marco, it could probably also make sense to allows changing the icon too.

* And I couldn't reproduce the bug with the weird chat sorting, but this blind commit might fix it:

Also for the server name setting, "" should also work instead of the obscure name.


> Cheers,
> Albert
> > Carl and Tobias

More information about the kde-core-devel mailing list