2026-05-14 11:27:05 -04:00
# Lotus Chat
2026-06-09 18:35:59 -04:00
A Matrix chat client built for Lotus Guild — fast, private, and packed with the features you actually want.
2026-05-14 11:27:05 -04:00
2026-06-09 18:35:59 -04:00
**Deployed at [chat.lotusguild.org](https://chat.lotusguild.org) ** | Forked from [Cinny ](https://github.com/cinnyapp/cinny ) v4.12.1
2026-05-14 11:27:05 -04:00
---
2026-06-10 17:01:06 -04:00
## Licensing & Attribution
The source code is licensed under [AGPLv3 ](LICENSE ), the same license as the upstream Cinny project. The source for this fork is public at [code.lotusguild.org/LotusGuild/cinny ](https://code.lotusguild.org/LotusGuild/cinny ).
The Lotus Chat logo (`lotus_chat.png` ) is a derivative work based on the original Cinny logo by Ajay Bura and contributors, used under [CC BY 4.0 ](https://creativecommons.org/licenses/by/4.0/ ). The modified logo is © Lotus Guild and is also made available under CC BY 4.0.
---
2026-06-09 18:35:59 -04:00
## Features
### Messaging
- See who has read each message, and track delivery status (sending / sent / failed)
- Bookmark any message and revisit saved messages from the sidebar
- Schedule messages to send at a specific time
- Click "edited" on any message to see the full edit history
- Drafts are saved automatically and survive page reloads
- Long messages collapse automatically — click "Read more" to expand
- Forward messages to other rooms
- Create and view polls directly in chat
- Share your location with an inline map embed
- Add captions to image and video uploads
- Optionally compress images before uploading — shows before/after file sizes
- GIF links from Giphy and Tenor auto-preview inline
- Search for and send GIFs from a built-in GIF picker
- Control voice message playback speed: 0.75× / 1× / 1.5× / 2×
- Search messages with a date range filter
- Room topics support rich formatting (bold, links, italics)
- Deleted messages show a placeholder instead of disappearing
- Code blocks highlight syntax for JS/TS, Python, and Rust
- Rich link preview cards for YouTube, GitHub, Twitter/X, Reddit, Spotify, Twitch, Steam, Wikipedia, Discord, npm, Stack Overflow, and IMDb
### Calls & Voice
- Push to Talk with a configurable keybind (default: Space)
- Push to Deafen with the M key
- Camera starts turned off by default when joining a call
- Screenshare requires confirmation before going live
- Toggle noise suppression on or off
- Calls float in a draggable picture-in-picture window when you navigate away
- Your chat background shows through the call view
- Dark/light mode inside calls matches your Lotus Chat theme
- Calls are available in DMs and private groups only — no accidental mass rings
2026-06-12 21:38:14 -04:00
- AFK auto-mute: mic is automatically silenced after a configurable idle timeout (1– 30 min); a toast confirms the action
2026-06-12 23:45:31 -04:00
- Voice channel user limit: admins can cap how many people can be in a room's call — enforced server-side for every Matrix client (not just Lotus Chat); others see "Channel Full" until a spot opens
2026-06-12 22:20:22 -04:00
- Custom join/leave sound effects when someone enters or leaves your call — choose Chime, Soft, Retro, or off
2026-06-09 18:35:59 -04:00
### Customization & Appearance
- LotusGuild Terminal Design System (TDS) — a CRT terminal-inspired dark theme
- TDS light mode variant for daytime use
- 20+ static chat background patterns
2026-06-14 00:47:14 -04:00
- 5 animated chat backgrounds: Digital Rain, Star Drift, Grid Pulse, Aurora Flow, Fireflies (with improved per-layer looping, phosphor-flicker rain, fluid aurora sweep, and organic firefly bioluminescence)
- 11 seasonal & holiday theme overlays — Halloween, Christmas, New Year, Autumn, Valentine's Day, St. Patrick's Day, Earth Day, Lunar New Year, April Fools', Deep Space, and Retro Arcade; auto-selected by date with a manual override in Settings → Appearance
2026-06-14 12:02:50 -04:00
- Avatar decorations — 99 animated APNG overlays (Gaming, Cyber, Space, Fantasy, Nature, Spooky, Cozy, and more) that frame your avatar across the timeline, members list, and @mention autocomplete; visible to all Lotus Chat users; select in Settings → Account → Avatar Decoration
2026-06-09 18:35:59 -04:00
- Toggle to pause background animations
- Glassmorphism sidebar — frosted glass effect that lets the background show through
- Night Light / blue light filter with an adjustable intensity slider
- Emoji prefixes on room names render larger in the sidebar (e.g. 🎮 general)
- Rename any room for yourself only — other members see the original name
- Emoji picker on all room name inputs
### Presence & Profile
- Discord-style presence selector: Online, Idle, Do Not Disturb, Invisible, or Auto
2026-06-14 00:47:14 -04:00
- Custom status message with emoji and an optional auto-clear timer (changing your status is never silently overwritten by activity events)
2026-06-09 18:35:59 -04:00
- Colored presence ring on member avatars (green / yellow / red)
- Profile fields for pronouns and timezone
- When a user's timezone is set, their current local time appears in their profile
2026-06-14 00:47:14 -04:00
- Private notes on any user's profile — freeform text visible only to you, auto-saves and syncs across devices
2026-06-09 18:35:59 -04:00
- Unread count shown in the browser tab title
### Moderation & Privacy
- Report any room to homeserver admins from the room menu
- View policy lists and ban lists (Draupnir-compatible, read-only)
- Toggle private read receipts so others can't see when you've read messages
- Optional warning when an encrypted room contains unverified devices
- Full push rule editor in notification settings
- View and edit Server ACL rules in room settings
- Filterable room activity / mod log (joins, kicks, bans, power level changes, etc.)
- Room stats and insights panel (active members, top reactions, media breakdown, activity heatmap)
- Export room history as plain text, JSON, or HTML with optional date range filter
### Notifications
- In-app toast notifications appear bottom-right when the window is focused
- Custom notification sounds per category (messages, invites)
- Quiet hours — suppress notifications during a configured time window
- Click a toast to jump directly to the room or DM
### UX
- Filter and search rooms in the sidebar
- Favorite rooms sync across devices and appear in a pinned section
- Sort rooms by recent activity, alphabetical, or unread first
- DM rows show a message preview and relative timestamp
- Right-click a room for a context menu: mute with duration, copy link, mark as read
- Quick emoji reactions appear on message hover — one click to react
- Knock-to-join: request access to a room; admins approve or deny from the members list
- Media gallery drawer: browse all images, videos, and files shared in a room
- Invite link and QR code in room settings
2026-06-12 21:38:14 -04:00
- Pending knock requests shown in the members list for room admins with a live badge count on the Members button
2026-06-09 18:35:59 -04:00
- Homeserver support contact displayed in Help & About (MSC1929)
- Server notice rooms are visually distinct from regular DMs
2026-05-30 23:30:10 -04:00
2026-06-09 18:35:59 -04:00
---
2026-06-03 10:36:53 -04:00
2026-06-09 18:35:59 -04:00
## Desktop App
2026-06-03 10:36:53 -04:00
2026-06-09 18:35:59 -04:00
Lotus Chat has a desktop app for Windows, macOS, and Linux. It wraps the same web client in a native window with automatic background updates — no need to reinstall for new versions.
2026-06-03 10:36:53 -04:00
2026-06-09 18:35:59 -04:00
### Download
2026-06-04 22:02:18 -04:00
2026-06-09 18:35:59 -04:00
Download the latest release from the [Releases page on code.lotusguild.org ](https://code.lotusguild.org ).
2026-06-04 22:02:18 -04:00
2026-06-09 18:35:59 -04:00
### SmartScreen Warning (Windows)
2026-06-03 10:36:53 -04:00
2026-06-09 18:35:59 -04:00
When you first run the installer on Windows, you may see a popup that says * * "Windows protected your PC"** with the app listed as an unknown publisher. This is normal.
2026-06-03 20:32:22 -04:00
2026-06-09 18:35:59 -04:00
**Why it happens: ** Windows SmartScreen flags any app that does not have an expensive commercial code-signing certificate from a major CA. Lotus Chat is signed with its own key for update verification, but that key is not in Microsoft's pre-approved list.
2026-06-03 20:32:22 -04:00
2026-06-09 18:35:59 -04:00
**How to install anyway: **
2026-06-03 10:36:53 -04:00
2026-06-09 18:35:59 -04:00
1. Click * * "More info"** in the SmartScreen dialog.
2. A * * "Run anyway"** button will appear.
3. Click it to proceed with installation.
2026-06-03 10:36:53 -04:00
2026-06-09 18:35:59 -04:00
After the first install, automatic in-app updates handle all future versions — you will not see this prompt again for updates.
2026-06-01 17:15:01 -04:00
2026-06-09 18:35:59 -04:00
---
2026-06-01 17:15:01 -04:00
2026-06-09 18:35:59 -04:00
## For Developers
2026-05-16 00:54:33 -04:00
2026-06-09 18:35:59 -04:00
The source code lives in `/root/code/cinny` . All changes should be made on the `lotus` branch. Push to `origin/lotus` and CI will automatically build and deploy to [chat.lotusguild.org ](https://chat.lotusguild.org ) in approximately 11 minutes — no manual build or deploy steps required.
2026-05-16 00:54:33 -04:00
2026-06-09 18:35:59 -04:00
See [LOTUS_FEATURES.md ](LOTUS_FEATURES.md ) for the full feature changelog and [LOTUS_TODO.md ](LOTUS_TODO.md ) for the work backlog.
2026-05-16 00:54:33 -04:00
2026-06-09 18:35:59 -04:00
### Build
2026-05-16 00:54:33 -04:00
``` bash
2026-06-09 18:35:59 -04:00
npm ci && npm run build # outputs to dist/
2026-05-16 00:54:33 -04:00
```
2026-06-09 18:35:59 -04:00
If the build is killed due to out-of-memory:
2026-05-16 00:54:33 -04:00
``` bash
NODE_OPTIONS = --max_old_space_size= 6144 npm run build
```
2026-06-09 18:35:59 -04:00
### CI/CD
2026-05-23 00:37:17 -04:00
```
2026-06-09 18:35:59 -04:00
edit → commit → git push → ~11 min → live at chat.lotusguild.org
2026-05-23 00:37:17 -04:00
```