jaredandClaude Opus 5.5 879521e8ac fix(linux): skip the NVIDIA explicit-sync workaround on driver 620+ with WebKitGTK 2.54+ (#48)
On native Wayland we set __NV_DISABLE_EXPLICIT_SYNC=1 for every NVIDIA
user, to stop the "Error 71" protocol crash seen on driver 615 with
WebKitGTK 2.52. On driver 620.70.06 with WebKitGTK 2.54.2 (same RTX 3070)
the app launches and runs smoothly without it, while the default was
reported as extremely laggy.

Skip the flag only when both versions are known and new enough. An
older driver, an older WebKitGTK (e.g. the AppImage's bundled one) or a
version we can't read keeps the old behaviour, since a wrong guess means
the app doesn't open. Setting the variable by hand still forces it. The
app logs which path it took on stderr.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
2026-11-09 16:55:27 -05:00
2022-04-29 19:52:14 +05:30
2022-09-18 20:25:59 +05:30
2023-02-24 17:30:37 +05:30

Lotus Chat desktop

The desktop app for Lotus Chat, Lotus Guild's Matrix client (a fork of Cinny), built with Tauri. The web client lives in the cinny/ submodule (LotusGuild/cinny).

Download

Builds are published on this repo's releases page: https://code.lotusguild.org/LotusGuild/cinny-desktop/releases/latest

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

There is no macOS build at the moment.

Verify a Linux download

Each release has a SHA256SUMS.txt, signed with the same key as the updater (below). Check the signature, then the file, then install, e.g. for Arch:

B=https://code.lotusguild.org/LotusGuild/cinny-desktop/releases/download/latest
curl -LO $B/LotusChat-x86_64.pkg.tar.zst -LO $B/SHA256SUMS.txt -LO $B/SHA256SUMS.txt.minisig
minisign -Vm SHA256SUMS.txt -P RWRZZdyii05/NUcz337A5SAbiZK+NPVDWuiL2mM5Jk1p/LfRmNfiZ/6l \
  && sha256sum -c --ignore-missing SHA256SUMS.txt \
  && sudo pacman -U ./LotusChat-x86_64.pkg.tar.zst

For Debian / Ubuntu use LotusChat-x86_64.deb and sudo apt install ./LotusChat-x86_64.deb. minisign is in both distributions' repositories.

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

Set up Rust, Node.js and the build tools per the Tauri prerequisites, then:

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
S
Description
Lotus Chat desktop app (Tauri wrapper for cinny)
Readme AGPL-3.0
9.2 MiB
Languages
Rust 84.1%
JavaScript 12.8%
C 0.8%
CSS 0.8%
Shell 0.6%
Other 0.9%