Files
cinny/LOTUS_BUGS.md
T
jared 6634b2b8a2
CI / Build & Quality Checks (push) Successful in 10m41s
CI / Trigger Desktop Build (push) Successful in 6s
fix(calls): make ML denoise build-honest + gate desktop trigger on CI
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>
2026-06-16 01:42:21 -04:00

4.0 KiB

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

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.