6634b2b8a2
Audit/repair of the multi-model denoise work so it actually builds and only exposes working, self-hosted models. - Complete the DTLN/DFN3 revert: uninstall @workadventure/noise-suppression and deepfilternet3-noise-filter (package.json + lockfile), drop the unused DTLN asset-copy block from vite.config.js (was shipping ~2MB of unused tflite/wasm), and narrow DenoiseModelId to the bundled models (rnnoise, speex). Coerce any retired persisted model value back to the default. - Fix General.tsx CI typecheck failures introduced by the denoise UI: restore three imports the rewrite deleted (useDateFormatItems, SequenceCardStyle, useTauriUpdater), add the missing denoise/sound imports, and correct hallucinated Folds props (Text has no variant/bold; Box uses alignItems/justifyContent). tsc now passes with 0 errors. - Harden the vite denoise plugin: required RNNoise/Speex/gate assets and the shim now fail the build loudly if missing (instead of a silent warn that shipped a broken ML feature), and the index.html shim injection is verified. - CI: move the cinny-desktop submodule bump into ci.yml as a `trigger-desktop` job gated on `needs: build`, and delete the standalone trigger-desktop.yml. A failing push no longer kicks off the slow Tauri builds in parallel. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
94 lines
4.0 KiB
Markdown
94 lines
4.0 KiB
Markdown
# Lotus Chat — Bug Report & Technical Audit
|
|
|
|
**Date:** June 2026
|
|
|
|
This document tracks identified bugs, edge cases, and architectural discrepancies found during the audit of the Lotus Chat codebase. Recommended fixes are provided for each item.
|
|
|
|
---
|
|
|
|
## 🚩 Critical & UI Bugs
|
|
|
|
### 1. Avatar Decoration Displacement in Profile
|
|
|
|
**File:** `src/app/components/user-profile/UserHero.tsx`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Avatar decorations appear displaced left of the avatar when viewing the profile modal.
|
|
- **Root Cause:** The `AvatarPresence` badge sticking out to the right shifts the center of the `inline-flex` container. The decoration centers on the container, not the avatar.
|
|
- **Recommended Fix:** Wrap only the `Avatar` component with `AvatarDecoration`.
|
|
|
|
### 2. Inconsistent Settings Dropdown Styling
|
|
|
|
**Files:** `Profile.tsx`, `SystemNotification.tsx`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Dropdowns for Status Expiry and Notification Sounds use raw HTML `<select>` elements.
|
|
- **Recommended Fix:** Replace with the custom-styled `Menu` + `PopOut` pattern used in `General.tsx`.
|
|
|
|
### 3. Ringing Modal Fires in Voice Rooms
|
|
|
|
**File:** `src/app/components/CallEmbedProvider.tsx`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Joining a static voice room triggers the "Incoming Call" ringing.
|
|
- **Recommended Fix:** Check `notification_type` in the Matrix RTC event. Only 'ring' should trigger the modal.
|
|
|
|
### 4. No Camera Focus During Screenshare
|
|
|
|
**File:** `src/app/features/call/CallControls.tsx`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** When someone is screensharing and another participant turns on their camera, there is no way to switch the primary display to the camera or go fullscreen on it.
|
|
- **Recommended Fix:** Implement a "Focus" toggle on participant tiles that overrides the automatic screenshare spotlight.
|
|
|
|
### 5. Chat Background Animation Flickering
|
|
|
|
**File:** `src/app/features/lotus/chatBackground.ts`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Some animated backgrounds (like Fireflies) cause flickering/flashing of the message text and composer area on certain browsers/GPUs.
|
|
- **Recommended Fix:** Ensure animations are scoped strictly to background properties (`background-position`, `background-size`) and do not use properties like `filter` or `opacity` on the main container.
|
|
|
|
### 6. Avatar Decorations not displaying in Element Call UI
|
|
|
|
- **Issue:** When in a voice call or room with users it displays the avatar of the users and their mute status etc... but doesn't display their avatar decorations on their pictures.
|
|
|
|
### 7. DM and Group Message Calls
|
|
|
|
- **Issue:** Call ring is very loud and not customizable, also if the user is already in an active call/or voice room it won't ring at all until the user leaves.
|
|
|
|
### 8. Seasonal Themes and Chat Backgrounds need EXTREME design improvements.
|
|
|
|
- **Issue:** Basic css or random moving lines are not good artwork or design theory. Requires extensive research on css backgrounds wallpapers and app theming, these should be multi-day projects PER background and theme. As if a whole team spent a entire project sprint on a single one.
|
|
|
|
---
|
|
|
|
## 📱 PWA & Mobile Issues
|
|
|
|
### 1. Exclusive Background vs. Seasonal Choice
|
|
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Users can have both a Chat Background and a Seasonal Theme active, causing visual clutter and excessive GPU usage on mobile.
|
|
- **Recommended Fix:** Implement a "Choose One" toggle in Settings.
|
|
|
|
---
|
|
|
|
## 🔍 Technical & Performance Refinements
|
|
|
|
### 1. Decrypted Media Memory Leak (Gallery & Lightbox)
|
|
|
|
**File:** `src/app/features/room/MediaGallery.tsx`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Every image in the gallery history is decrypted and converted to a Blob URL simultaneously.
|
|
- **Recommended Fix:** Implement virtualization for the gallery grid.
|
|
|
|
### 2. Scheduled Messages are Ephemeral
|
|
|
|
**File:** `src/app/state/scheduledMessages.ts`
|
|
**Status:** **OPEN**
|
|
|
|
- **Issue:** Refreshing the page clears the "Scheduled" tray, making it impossible for users to see or cancel messages they have already scheduled.
|
|
- **Recommended Fix:** Persist the scheduled message metadata in `localStorage`.
|