NeoChat
Active betaKDE's Matrix client, built with Qt, Kirigami and libQuotient, for Linux desktops, Plasma Mobile, Windows and Android.
desktop, mobile · licence GPL-3.0-only · fork of spectral
- Android
- Windows
- Linux
- Last commit
- today 5 Nov 2026
- Commits, last year
- 1.1k 235 in 90 days
- Authors, 90 days
- 16 35 in a year, 146 ever
- Bus factor
- 2 authors making half of last year's commits
- Last release
- v26.08.2 8 Oct 2026 · 18 tags in a year
- Lines of code
- 63k C++
AI
Nothing found on any of the three axes. What we look for
PolicyNo policy found (fits the chosen stance)(against the chosen stance) Dev useNone found (fits the chosen stance)(against the chosen stance) In productNone found (fits the chosen stance)(against the chosen stance)- AI in development: no agent files at 2bcdbc0f7b
- AI in development: no AI-attributed commits in 1,147 non-bot commits of the last 365 days
- Collector: 0 of 1.1k commits in the last year credit an AI tool (0.0 %). 0 agent files, 0 AI workflows. A lower bound: most AI use leaves no trace.
Funder's AI policy
A funder's rules for the work it pays for, shown apart from the project's own policy.
NLnet Foundation (NGI Assure fund), grant 2021-06 to 2024-08. Policy none; NLnet's first GenAI policy (1.0) came into force on 2025-12-08.
Applies to: work delivered within the grant (end-to-end encryption, mostly in libQuotient).
The grant ended (2024-08) before NLnet had a GenAI policy, so no version binds it.
Stance asked for by the funder: not applicable
Checked 2026-11-05.
Activity
Languages
Apps
| OS | Built with | Status | Minimum OS | Where to get it |
|---|---|---|---|---|
| qt | stable | not stated | flathub |
| qt | beta | not stated | microsoft-store |
| qt | beta | not stated | source |
Features
| Feature | Value | How we know | Evidence |
|---|---|---|---|
| SDK | libQuotient libQuotient (Qt), with Quotient's Rust crypto | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Encryption (E2EE) | Yes: Yes pattern match [Megolm] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Cross-signing | Yes: Yes pattern match [Cross-Signing] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Key backup | Yes: Yes pattern match [KeyBackup] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Sliding sync | Not found: Not found | — | — |
| Next-gen auth (OIDC) | Yes: Yes pattern match [auth_metadata] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Multiple accounts | Yes: Yes | claimed | github.com/matrix-org/matrix.org/blob/041599b0dc |
| Threads | Yes: Yes pattern match [threadRoot] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Spaces | Yes: Yes pattern match [SpaceHierarchy] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| 1:1 calls | Not found: Not found | — | — |
| Group calls | Yes: Yes pattern match [element call] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Reactions | Yes: Yes pattern match [m.reaction] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Edits | Yes: Yes pattern match [m.replace] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Replies | Yes: Yes pattern match [m.in_reply_to] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Polls | Yes: Yes pattern match [org.matrix.msc3381] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Custom emoji | Yes: Yes pattern match [emoticon] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Stickers | Yes: Yes pattern match [m.sticker] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Location | Yes: Yes pattern match [geo:] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Voice messages | Yes: Yes pattern match [VoiceMessage] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Rich text editor | Not found: Not found | — | — |
| URL previews | Yes: Yes pattern match [link preview] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Push notifications | Yes: Yes pattern match [unifiedpush] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Private read receipts | Not found: Not found | — | — |
| Presence | Yes: Yes pattern match [presence] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Room upgrades | Yes: Yes pattern match [roomUpgrade] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Moderation tools | Yes: Yes pattern match [reportEvent] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Accessibility | yes pattern match [Accessible.name] | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Translations | yes KDE l10n (Scripty) infrastructure | claimed | — |
| Telemetry | Not found: Not found io.sentry:sentry-android-core is a dependency of the Android build; whether and how it reports was not checked | code | invent.kde.org/network/neochat/-/blob/2bcdbc0f7b |
| Default homeserver | Not found: Not found | — | — |
| Fork-friendliness | partial GPL-3.0; CMake/Qt6/KF6 build with libQuotient; about 740 files | code | — |
Health signals
- Bus factor (last year)
- 2
- Issue first response
- not measured (the forge did not give it)
- Release cadence
- 18 tags in the last year, latest v26.08.2 (8 Oct 2026)
- CI
.gitlab-ci.yml- Tests
- none found
- Security policy
- none found
- Licence
- GPL-3.0-only
- Funding
- nlnet.nl/project/NeoChat
- Telemetry SDKs in manifests
- Sentry (android/build.gradle)
Repositories
| Repository | Role | Activity | Last commit | Commits 1y | Authors 90d | Measured at |
|---|---|---|---|---|---|---|
| invent.kde.org/network/neochat | main | Active | 5 Nov 2026 | 1.1k | 16 | 2bcdbc0f7 |
Notes
A KDE-wide policy on AI contributions, if any, was not checked; nothing in the repo itself. NeoChat is a fork of Spectral (README.md line 86 at 2bcdbc0f: https://invent.kde.org/network/neochat/-/blob/2bcdbc0f7ba8eb25ba4a21c06f2a4da7d498533b/README.md).
Researched by an AI agent (Claude) on 5 Nov 2026, not checked by a person; metrics collected on 5 Nov 2026. Source file: data/projects/client/neochat.yaml. Spotted a mistake? Open an issue with a link.