James Graham 4bba505da6 Initial work to add push rule support
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.
2022-09-09 16:41:03 +00:00
2021-04-02 23:55:13 +00:00
2022-07-27 10:01:35 +00:00
2022-09-05 18:42:27 +00:00
2021-05-24 15:44:05 +00:00
2020-12-02 20:12:00 +00:00
2022-09-09 01:54:13 +00:00
2022-09-09 00:23:18 +02:00
2022-09-09 16:41:03 +00:00
2022-07-27 10:01:35 +00:00
2021-11-13 14:59:21 +01:00
2022-07-27 10:01:35 +00:00
2022-04-09 21:33:52 +02:00
2021-01-27 14:51:10 +01:00
2022-09-05 19:27:55 +00:00
2021-01-27 18:54:13 +01:00
2021-05-22 19:12:29 +00:00
2020-12-15 18:13:25 +01:00
2022-08-26 18:43:56 +00:00
2022-09-09 16:41:03 +00:00

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.

Download on Flathub

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.

Timeline

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

GPLv3

This program is licensed under GNU General Public License, Version 3.

Description
A client for matrix, the decentralized communication protocol
Readme 74 MiB
Languages
C++ 51.4%
QML 31.5%
C 15.1%
CMake 1.5%
Python 0.5%