docs: README for Lotus Chat desktop, not upstream Cinny (#35)

The README was upstream's: its download buttons and minisign key pointed
at cinnyapp releases, so following it installed upstream Cinny and
verified it against the wrong key. Point downloads at this repo's
releases (NSIS exe, .deb, pacman package, AppImage), publish Lotus'
updater key, and list the desktop features.

Fixes #35

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
Lotus CI
2026-10-18 02:36:39 -04:00
committed by jared
co-authored by Claude Opus 5.5
parent f5fc18e571
commit bf14f72db2
+58 -28
View File
@@ -1,39 +1,69 @@
# Cinny desktop
# Lotus Chat desktop
<a href="https://github.com/cinnyapp/cinny-desktop/releases">
<img alt="GitHub release downloads" src="https://img.shields.io/github/downloads/cinnyapp/cinny-desktop/total?style=social"></a>
Cinny is a matrix client focusing primarily on simple, elegant and secure interface. The desktop app is made with Tauri.
The desktop app for [Lotus Chat](https://chat.lotusguild.org), Lotus Guild's
Matrix client (a fork of [Cinny](https://github.com/cinnyapp/cinny)), built
with [Tauri](https://v2.tauri.app/). The web client lives in the `cinny/`
submodule ([LotusGuild/cinny](https://code.lotusguild.org/LotusGuild/cinny)).
## Download
Installers for macOS, Windows and Linux can be downloaded from [Github releases](https://github.com/cinnyapp/cinny-desktop/releases). Releases are signed with a [Ed25519](https://ed25519.cr.yp.to/) public-key.
Builds are published on this repo's releases page:
**https://code.lotusguild.org/LotusGuild/cinny-desktop/releases/latest**
Operating System | Download
---|---
Windows | <a href='https://github.com/cinnyapp/cinny-desktop/releases/latest/download/Cinny_desktop-x86_64.msi'>Get it on Windows</a>
macOS | <a href='https://github.com/cinnyapp/cinny-desktop/releases/latest/download/Cinny_desktop-universal.dmg'>Get it on macOS</a>
Linux | <a href='https://github.com/cinnyapp/cinny-desktop/releases/latest/download/Cinny_desktop-x86_64.AppImage'>Get it on Linux</a> · <a href='https://flathub.org/apps/details/in.cinny.Cinny'>Flatpak</a>
| Platform | File |
|---|---|
| Windows | `LotusChat-x86_64-setup.exe` (NSIS installer) |
| Debian / Ubuntu | `LotusChat-x86_64.deb`, install with `sudo apt install ./LotusChat-x86_64.deb` |
| Arch | `LotusChat-x86_64.pkg.tar.zst`: download it, then `sudo pacman -U LotusChat-x86_64.pkg.tar.zst` |
| Other Linux | `LotusChat-x86_64.AppImage` |
Decoded public key:
> RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z
There is no macOS build at the moment.
To verify release files, you need to download [minisign](https://jedisct1.github.io/minisign/) tool and [decode](https://www.base64decode.org/) the *.sig* file before running:
> minisign -Vm ***RELEASE_FILE.msi.zip*** -P RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z -x ***SINGATURE.msi.zip.sig***
### Updates and signatures
The app updates itself from
`https://code.lotusguild.org/LotusGuild/cinny-desktop/releases/download/latest/release.json`.
Updater bundles (`.nsis.zip`, `.AppImage.tar.gz`) are signed with minisign; the
`.sig` files sit next to them. Lotus Chat's public key (the base64-decoded
`plugins.updater.pubkey` in `src-tauri/tauri.conf.json`):
> RWRZZdyii05/NUcz337A5SAbiZK+NPVDWuiL2mM5Jk1p/LfRmNfiZ/6l
To check a bundle by hand, base64-decode its `.sig` file and run
`minisign -Vm LotusChat-x86_64-setup.nsis.zip -P RWRZZdyii05/NUcz337A5SAbiZK+NPVDWuiL2mM5Jk1p/LfRmNfiZ/6l -x <decoded.sig>`.
Packages installed through apt or pacman are updated by downloading the new
package from the releases page; the in-app updater says so instead of
replacing files it doesn't own.
## Desktop features
Beyond the web client:
- **Tray:** unread, call and update state; Do Not Disturb.
- **Launch on login**, with an optional **start minimized**.
- **Closing the window:** asks once whether to keep running in the tray or
quit. A call in progress always goes to the tray.
- **Taskbar / launcher:** unread badge, attention flash, upload progress.
- **Windows:** rich notifications with Reply and Mark as read, Focus Assist
sync, thumbnail toolbar (mute / deafen / end call), jump list, media keys (SMTC).
- **System-wide push-to-talk and deafen** keys that work while another app
(a game) has focus.
- **Keychain:** a copy of your login is kept in the OS keychain.
- **Calls:** the call page runs on its own loopback origin, with WebView
permissions scoped to it; where the WebView has no WebRTC (Linux
WebKitGTK), "Open in browser" instead of a dead end.
- **Linux:** NVIDIA / Wayland rendering workarounds.
## Local development
Firstly, to setup Rust, NodeJS and build tools follow [Tauri documentation](https://v2.tauri.app/start/prerequisites/).
Set up Rust, Node.js and the build tools per the
[Tauri prerequisites](https://v2.tauri.app/start/prerequisites/), then:
Now, to setup development locally run the following commands:
* `git clone --recursive https://github.com/cinnyapp/cinny-desktop.git`
* `cd cinny-desktop/cinny`
* `npm ci`
* `cd ..`
* `npm ci`
To build the app locally, run:
* `npm run tauri build`
To start local dev server, run:
* `npm run tauri dev`
```sh
git clone --recursive https://code.lotusguild.org/LotusGuild/cinny-desktop.git
cd cinny-desktop/cinny && npm ci && cd ..
npm ci
npm run tauri dev # development
npm run tauri build # release build
```