https://invent.kde.org/network/neochat/-/merge_requests/2005 changed the custom emoji height (whose default is 32 on every Matrix client) to match font height (on my machine it becomes 17, my font is 12pt). It makes emojis unreadable on non-HiDPI resolutions (1366x768, 1920x1080), and even in the MR itself you can see how much detail is lost. This is compounded by some other rendering bug where the emoji image becomes very jagged when downscaled. That MR however was correct in that: * we want custom emojis to have a different size than unicode emojis * we want custom emojis to be centered according to the text (to make better use of line spacing/paddings) * we don't want the line height to be changed (too much) by custom emojis * we (probably) want custom emojis to be _displayed_ proportionally to the text I'm investigating ways to solve this issue. It seems other Matrix clients (and even chat applications like Telegram or Discord) all globally suffer from this issue and have dealt with it in different ways, sometimes masquerading it and sometimes working around it. For now though, we shouldn't break emoji legibility for our users. Affecting line height by a few pt is a minor issue compared to being almost unable to tell what inline emoji you or your interlocutor is using. Even just the "center emoji with text" thing already makes the line height issue 1/3 less of a problem. Once we improve the emoji rendering so it's more readable, _then_ it would make sense to decrease the emoji height to something like font.height * 1.6 or so. This does not affect unicode emojis, as far as I can tell those are handled elsewhere. This only affects inline custom emojis. Illegible on 1366x768 with 100% scaling and font size 11: {width=1025 height=576}  Legible:   (cherry picked from commit29820e2ab2)3cea53f5Don't set emoji size to font size Co-authored-by: Thiago Sueto <herzenschein@gmail.com>
NeoChat
A Qt/QML based Matrix client.
Introduction
NeoChat is a client for Matrix, the decentralized communication protocol for instant messaging.
NeoChat is based on KDE frameworks and as libQuotient, a Qt-based SDK for the Matrix Protocol.
Features
NeoChat aims to be a fully featured application for the Matrix specification. As such most parts of the current specification are supported, with the notable exceptions of VoIP, threads, and some aspects of End-to-End Encryption. There are a few other smaller omissions due to the fact that the Matrix spec is constantly evolving, but the aim remains to provide eventual support for the entire spec.
Due to the nature of the Matrix specification development NeoChat also supports numerous unstable features. Currently these are:
- Polls - MSC3381
- Sticker Packs - MSC2545
- Location Events - MSC3488
Get it
Details where to find stable releases for NeoChat can be found on its homepage.
Nightly builds for Linux and Windows can be downloaded from cdn.kde.org. Nightly builds for Android are available from KDE's nightly F-Droid repository. Nightly Flatpaks are available from KDE's nightly Flatpak repository.
Building NeoChat
The best way to build KDE apps during development is to use kdesrc-build. The full instructions for this can be found on
the KDE community website's get involved section under development. This
is primarily aimed at Linux development.
For Windows and Android Craft is the primary choice. There are guides for setting up development environments for Windows and Android.
Running
Just start the executable in your preferred way - either from the build directory or from the installed location.
Tests
Tests are in the repository under autotests and appiumtests.
The project has CI setup to test new commits to the repository. All tests are expected to pass for a merge request to be complete.
Current build status
Currently the number of tests is limited, but growing. If anyone wants to help improve this, those contributions would be especially welcome.
Contributing
As is the case throughout the KDE ecosystem contributions are welcome from all. The code base is managed in the NeoChat repository of the KDE Gitlab instance.
Contact
The best place to reach the maintainers is on the KDE Matrix instance in the NeoChat channel, #neochat:kde.org. See Matrix for more details.
Acknowledgement
NeoChat utilizes libQuotient as its Matrix SDK.
NeoChat is a fork of Spectral.
License
This program is licensed under GNU General Public License, Version 3.



