### Summary This merge request adds a horizontal bar at top of room list, which shows spaces. By clicking on a space, user can filter out rooms belonging only to that specific space. ### Pending/ Help needed #### Segfault when loading active connection on startup Refer `void SortFilterRoomListModel::cacheSpaceHierarchy()` ([link](8c372800d7 (b969e462c30df43ef3714ea441948d8d8027f6a0_117_126))) in `src/sortfilterroomlistmodel.cpp`. On [line 129](8c372800d7 (b969e462c30df43ef3714ea441948d8d8027f6a0_117_129)), I have called `connection->allRooms()`, which segfaults if the active connection hasn't been loaded yet. Is there a way to ensure that `Controller::instance().activeConnection()` on line 128 waits till connection is loaded? #### Avatars Avatars on space horizontal bar aren't aligned to vertical middle. I'll need help with that. Using the code below doesn't help with padding ```qml delegate: QQC2.Control { topPadding: 10 contentItem: Kirigami.Avatar { ..... } } ``` This complains about uninitialized properties in `Kirigami.Avatar`. (`id`, `currentRoom`, `avatar`, `index` are properties utilized during run time) After we get around these two issue, this MR will be ready from my side.
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.


