Lotus CIandClaude Opus 5.5 032b6e04e7 feat: secure_session commands, login tokens in the OS keychain (cinny #105, step 1)
Commands for the web client to keep a copy of the login tokens in the OS
keychain: secure_session_supported / _set / _get / _clear.

- Windows: Credential Manager via the keyring crate (3.6, windows-native),
  entry "session" in service "Lotus Chat". Only the secrets are stored
  (userId, deviceId, accessToken, refreshToken); the serialized value is
  capped at 1200 chars (Windows' limit is 2560 bytes).
- Other platforms: supported = false and the other commands answer "not
  supported on this platform" (Linux Secret Service can prompt to unlock a
  wallet at startup; that needs its own testing). No new Linux dependency:
  without a platform feature the crate only has its mock store.
- Keychain calls run on the blocking pool, off the main thread.

Step 1 is a mirror only (the web client still reads its session from
localStorage); see the cinny PR.

Tests: round trip + clear, clearing an empty keychain, incomplete and
oversized sessions rejected with nothing written, the JSON shape the web
client sends, a realistic OIDC session fits (keyring's mock store). Linux
release build: commands answer as designed and login is unaffected.
Windows: type-checked only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
2026-09-29 00:25:01 -04: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

Cinny desktop

GitHub release downloads

Cinny is a matrix client focusing primarily on simple, elegant and secure interface. The desktop app is made with Tauri.

Download

Installers for macOS, Windows and Linux can be downloaded from Github releases. Releases are signed with a Ed25519 public-key.

Operating System Download
Windows Get it on Windows
macOS Get it on macOS
Linux Get it on Linux · Flatpak

Decoded public key:

RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z

To verify release files, you need to download minisign tool and decode the .sig file before running:

minisign -Vm RELEASE_FILE.msi.zip -P RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z -x SINGATURE.msi.zip.sig

Local development

Firstly, to setup Rust, NodeJS and build tools follow Tauri documentation.

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
S
Description
Lotus Chat desktop app (Tauri wrapper for cinny)
Readme AGPL-3.0
8.5 MiB
Languages
Rust 92.5%
JavaScript 4.4%
C 1.3%
Shell 1%
NSIS 0.8%