This commit adds the ability to set the master push rule and set push rules for individual rooms as per the matrix spec. See https://spec.matrix.org/v1.3/client-server-api/#push-rules. The master push rule is just on/off and uses the existing notification setting in general setting to enable/disable the server default master push rule .m.rule.master. For each room there is now a page in the room setting that allows the following to be set: - Default - All messages - @mentions and keywords - off New room or override rules are added/removed to achieve this. There is also functionality to check the master/room notification state whenever the setting menu is entered. This allows the status to be updated if changed in another client or get the initial state for a room as it isn't stored. Note - There is currently no menu items in the room list for setting the room push rule settings. This will be added in a later commit, the aim is to focus on making sure the technical implementation is good for now.
NeoChat
NeoChat is a client for Matrix, the decentralized communication protocol for instant messaging. It is a fork of Spectral, using KDE frameworks, most notably Kirigami, KConfig and KI18n.
Get it
A stable release is available for download for Linux distributions.
Along with the stable release, a Flatpak version is available for the nightly version:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo
flatpak install kdeapps org.kde.neochat
A nightly build is also available for Android in the KDE nightly F-Droid repo and can also directly be downloaded from the binary factory.
Nightly builds for Windows, MacOS and AppImages can also be downloaded from the binary factory.
Features
- 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.
- Autocompletion of usernames in chat
- Emoji picker
- Basic room setting page
- Send and accept invitations
- /rainbow (very important)
- /me
NeoChat is still missing a few features to become a full-featured Matrix client (most notably encryption support and video chat support). We welcome contributions in this direction.
Contact
You can reach the maintainers at #neochat:kde.org, if you are already on Matrix. Development happens in http://invent.kde.org/network/neochat (not in GitHub).
Acknowledgement
This program utilizes libQuotient library and some C++ models from Quaternion.
This program is a fork of Spectral.
License
This program is licensed under GNU General Public License, Version 3.


