- C# 97.7%
- Python 1.7%
- Shell 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs/design | ||
| handoff | ||
| scripts | ||
| src/MatrixClient | ||
| .gitignore | ||
| AUDIT_FIXES.md | ||
| FEATURES.md | ||
| MatrixClient.sln | ||
| PUBLISHING.md | ||
| README.md | ||
| REDESIGN_PLAN.md | ||
| TESTING.md | ||
MatrixClient
Desktopový klient pro Matrix — Avalonia UI, C# / .NET 10, běží na Linuxu, Windows i macOS.
Postavený nad vlastním MatrixSDK. Cílem je funkční parita s Elementem a UX blízké Discordu.
Co umí
Komunikace
Místnosti a spaces, DM, vlákna, reakce, edity, odpovědi, mazání, připnuté zprávy,
hlasování (MSC3381), captions (MSC2530), přeposílání, markdown se zvýrazněním
syntaxe, autocomplete (@lidi, :emoji, #místnosti), slash příkazy, emoji picker.
Šifrování E2EE oběma směry, SAS verifikace zařízení, cross-signing, záloha klíčů, SSSS recovery klíč, šifrované přílohy, lokální vyhledávání v E2EE historii.
Hovory a média 1:1 audio hovory (WebRTC přes SIPSorcery, TURN z homeserveru), hlasové zprávy (MSC3245) s waveformem, sdílení polohy (MSC3488), náhledy médií, přehrávání videa.
Ovládání a UX Quick switcher (Ctrl+K), skok na datum (MSC3030), skok na zprávu, read receipts, typing indikátory, notifikace, multi-account, vlastní status a presence, export chatu do HTML, cache zpráv.
Vzhled Volitelná akcentní barva, barvy jmen uživatelů (i po jednotlivcích), hover toolbar u zpráv, member list s online-first řazením, tmavý motiv.
Jazyky Čeština a angličtina, přepínatelné za běhu.
Podrobný rozpad včetně porovnání s Elementem a Cinny je ve FEATURES.md.
Build a spuštění
dotnet run --project src/MatrixClient
Potřebuješ .NET 10 SDK. Repozitář počítá s tím, že MatrixSDK leží vedle něj
ve stejném pracovním adresáři — projekt se na něj odkazuje relativní cestou:
claude-workspace/
├── MatrixSDK/
└── MatrixClient/
Self-contained build
dotnet publish src/MatrixClient -r linux-x64 -c Release
Podporované RID: linux-x64, win-x64, osx-x64, osx-arm64.
Detaily k publikování jsou v PUBLISHING.md.
Nativní závislosti
Většina se veze z NuGetu a nevyžaduje systémovou instalaci — SDL2 (zvuk), Oniguruma (zvýrazňování syntaxe), libsodium (krypto), LibVLC (video).
Výjimka je libolm, které se stahuje zvlášť (OlmDownloader) a musí ležet vedle
aplikace. Bez něj klient nastartuje, ale E2EE nepojede.
Struktura
src/MatrixClient/
├── Views/ okna a panely (AXAML)
├── ViewModels/ MVVM přes CommunityToolkit.Mvvm
├── Services/ Matrix vrstva, úložiště, audio, video, cache
├── Models/ datové modely
└── Assets/ styly, motivy, i18n
Dokumentace
| Soubor | Obsah |
|---|---|
| FEATURES.md | Rozpad funkcí a porovnání s ostatními klienty |
| TESTING.md | Jak se testuje |
| PUBLISHING.md | Sestavení distribuovatelných buildů |
| REDESIGN_PLAN.md | Plán redesignu UI |
Vývoj s pomocí AI
Tenhle projekt vzniká ve spolupráci s AI — konkrétně s Claude (Anthropic) přes Claude Code. Píšu to rovnou do README, protože pro někoho je to podstatná informace a nemá ji dolovat z commit historie.
Není to náhoda ani zkratka: projekt je zároveň můj způsob, jak se naučit pracovat s AI a s AI agenty. Ta část je pro mě stejně důležitá jako výsledný kód.
Stav
Osobní projekt v aktivním vývoji. Zatím bez licence — pokud bys to chtěl použít, ozvi se.