docs: add presence badges and device sessions to landing page and README
Document the new member list presence indicators and per-member device sessions panel with per-device SAS verification in both the landing page feature list and the README custom features table. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -423,6 +423,8 @@ All custom code lives in `src/app/` on the `lotus` branch of `code.lotusguild.or
|
||||
| **GIF picker** | `src/app/components/GifPicker.tsx`, `src/app/features/room/RoomInput.tsx` | Giphy JS/React SDK (`@giphy/react-components`, `@giphy/js-fetch-api`, `styled-components`). API key in `config.json` → `gifApiKey`. GIF button appears next to Send only when `gifApiKey` is set. Sends GIF as `m.image` (fetches blob → `mx.uploadContent` → `mx.sendMessage`). `FocusTrap` handles click-outside / Escape to close |
|
||||
| **GIF picker terminal theme** | `src/app/components/GifPicker.tsx` | When `lotusTerminal` is on: dark navy background (`#060c14`), orange dim border, 4px radius, `// GIF_SEARCH` header, injected `<style>` overrides Giphy SDK SearchBar input (dark bg, orange border/focus ring, JetBrains Mono), custom orange scrollbar |
|
||||
| **Terminal Design System toggle** | `src/app/state/settings.ts`, `src/app/features/settings/` | `lotusTerminal` boolean setting. When enabled: PTT badge and GIF picker use LotusGuild Terminal Design System aesthetics |
|
||||
| **Presence status badges** | `src/app/features/room/MembersDrawer.tsx`, `src/app/features/common-settings/members/Members.tsx`, `src/app/hooks/useUserPresence.ts`, `src/app/components/presence/` | Online/busy/away colored dot badges shown next to verification shields for every member in the room members drawer and settings members panel. Uses `useUserPresence(userId)` hook + `PresenceBadge` component. Members.tsx wraps the hook in a `MemberPresenceBadge` child component to satisfy React hook rules inside `.map()` |
|
||||
| **Per-member device sessions panel** | `src/app/components/user-profile/UserRoomProfile.tsx`, `src/app/hooks/useOtherUserDevices.ts` | Collapsible "Sessions" card in user profile popout. Lists all devices for any user with colored shield icons (green=verified, yellow=unverified). Shows per-device "Verify" button that initiates cross-signing SAS emoji verification via `crypto.requestDeviceVerification(userId, deviceId)`. Updates live via `CryptoEvent.DevicesUpdated`. Only shown when cross-signing is active |
|
||||
| **LiveKit codec config** | `/etc/livekit/config.yaml` (LXC 151) | `enabled_codecs`: VP8, H264, VP9, Opus, RED for better quality and redundancy |
|
||||
|
||||
**Key config values (`/opt/lotus-cinny/config.json`, root — vite copies this to dist):**
|
||||
|
||||
+1
-1
@@ -554,7 +554,7 @@
|
||||
</a>
|
||||
</div>
|
||||
<p class="also-available">
|
||||
Our Lotus Guild fork of Cinny adds: voice message recording (MSC3245, works E2EE), device verification fix (cross-client SAS emoji + inline cards), incoming call ring + Answer/Decline (DMs & group chats), GIF picker (Giphy), draggable+resizable picture-in-picture call window, poll display & voting, message forwarding, image/video captions, location sharing (map view + send), deleted message placeholders, per-message read receipt avatars (click for full list with timestamps), chat wallpaper in calls, and the Lotus Terminal design theme.
|
||||
Our Lotus Guild fork of Cinny adds: voice message recording (MSC3245, works E2EE), device verification fix (cross-client SAS emoji + inline cards), per-member device session panel with per-device verify buttons, presence status indicators (online/busy/away dots) in member lists, incoming call ring + Answer/Decline (DMs & group chats), GIF picker (Giphy), draggable+resizable picture-in-picture call window, poll display & voting, message forwarding, image/video captions, location sharing (map view + send), deleted message placeholders, per-message read receipt avatars (click for full list with timestamps), chat wallpaper in calls, and the Lotus Terminal design theme.
|
||||
Prefer the unmodified upstream? <a href="https://cinny.in" target="_blank" rel="noopener">cinny.in</a> works with our homeserver — set it to <code style="font-size:0.8em;color:#e88;">matrix.lotusguild.org</code>.
|
||||
</p>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user