Merge pull request 'docs: README for Lotus Chat desktop, not upstream Cinny (#35)' (#39) from docs/readme-lotus into main
This commit was merged in pull request #39.
This commit is contained in:
@@ -1,39 +1,69 @@
|
|||||||
# Cinny desktop
|
# Lotus Chat desktop
|
||||||
|
|
||||||
<a href="https://github.com/cinnyapp/cinny-desktop/releases">
|
The desktop app for [Lotus Chat](https://chat.lotusguild.org), Lotus Guild's
|
||||||
<img alt="GitHub release downloads" src="https://img.shields.io/github/downloads/cinnyapp/cinny-desktop/total?style=social"></a>
|
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/`
|
||||||
Cinny is a matrix client focusing primarily on simple, elegant and secure interface. The desktop app is made with Tauri.
|
submodule ([LotusGuild/cinny](https://code.lotusguild.org/LotusGuild/cinny)).
|
||||||
|
|
||||||
## Download
|
## 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
|
| Platform | File |
|
||||||
---|---
|
|---|---|
|
||||||
Windows | <a href='https://github.com/cinnyapp/cinny-desktop/releases/latest/download/Cinny_desktop-x86_64.msi'>Get it on Windows</a>
|
| Windows | `LotusChat-x86_64-setup.exe` (NSIS installer) |
|
||||||
macOS | <a href='https://github.com/cinnyapp/cinny-desktop/releases/latest/download/Cinny_desktop-universal.dmg'>Get it on macOS</a>
|
| Debian / Ubuntu | `LotusChat-x86_64.deb`, install with `sudo apt install ./LotusChat-x86_64.deb` |
|
||||||
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>
|
| 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:
|
There is no macOS build at the moment.
|
||||||
> RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z
|
|
||||||
|
|
||||||
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:
|
### Updates and signatures
|
||||||
> minisign -Vm ***RELEASE_FILE.msi.zip*** -P RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z -x ***SINGATURE.msi.zip.sig***
|
|
||||||
|
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
|
## 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:
|
```sh
|
||||||
* `git clone --recursive https://github.com/cinnyapp/cinny-desktop.git`
|
git clone --recursive https://code.lotusguild.org/LotusGuild/cinny-desktop.git
|
||||||
* `cd cinny-desktop/cinny`
|
cd cinny-desktop/cinny && npm ci && cd ..
|
||||||
* `npm ci`
|
npm ci
|
||||||
* `cd ..`
|
npm run tauri dev # development
|
||||||
* `npm ci`
|
npm run tauri build # release build
|
||||||
|
```
|
||||||
To build the app locally, run:
|
|
||||||
* `npm run tauri build`
|
|
||||||
|
|
||||||
To start local dev server, run:
|
|
||||||
* `npm run tauri dev`
|
|
||||||
|
|||||||
Reference in New Issue
Block a user