feat: P5-21 mention color, P5-22 font selector, P5-27 notification presets; update docs
- P5-21: Custom @mention highlight color picker in Settings → Appearance. CSS vars with luminance-computed text color; resets cleanly to theme default. - P5-22: Font selector (System, Inter, JetBrains Mono, Fira Code) in Settings → Appearance. Fira Code added to Google Fonts preload. - P5-27: Gaming/Work/Sleep preset buttons at top of Settings → Notifications. Each atomically applies a group of notification settings. - AppearanceEffects component in App.tsx applies CSS vars on settings change. - LOTUS_BUGS.md: mark presence + manifest icon bugs as resolved. - LOTUS_TODO.md: mark P3-6, P5-21, P5-22, P5-27 as [x]. - LOTUS_FEATURES.md: document all four completed features. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+3
-26
@@ -18,6 +18,8 @@ This document tracks identified bugs, edge cases, and architectural discrepancie
|
||||
* **Encrypted Search Misses Historic Events**: Fixed in `useLocalMessageSearch.ts`.
|
||||
* **Presence Updater Base URL Hack**: Fixed in `usePresenceUpdater.ts`.
|
||||
* **Presence Badge Accessibility**: Fixed in `Presence.tsx` (`aria-label` on badge).
|
||||
* **Presence Updater Wipes Custom Status**: Fixed in `usePresenceUpdater.ts` (removed `status_msg: ''`).
|
||||
* **Manifest Main Icon Paths 404**: Fixed in `public/manifest.json` (`./public/android/` → `./res/android/`). Shortcut icon was already correct.
|
||||
|
||||
---
|
||||
|
||||
@@ -31,15 +33,7 @@ This document tracks identified bugs, edge cases, and architectural discrepancie
|
||||
* **Impact:** In encrypted rooms, the edit history shows ciphertext or "(no text)" for all previous versions.
|
||||
* **Recommended Fix:** After fetching raw events, check if they are encrypted. Use `mx.decryptEventIfNeeded(event)` for each event in the chunk before rendering.
|
||||
|
||||
### 2. Presence Updater Wipes Custom Status
|
||||
**File:** `src/app/hooks/usePresenceUpdater.ts`
|
||||
**Status:** **OPEN**
|
||||
|
||||
* **Issue:** `setOnline` and `setUnavailable` still send `status_msg: ''`.
|
||||
* **Impact:** Custom status messages are wiped when the user goes idle/active.
|
||||
* **Recommended Fix:** Remove `status_msg` from the `setPresence` payload in the updater hook.
|
||||
|
||||
### 3. Service Worker Ephemeral Sessions
|
||||
### 2. Service Worker Ephemeral Sessions
|
||||
**File:** `src/sw.ts`
|
||||
**Status:** **OPEN**
|
||||
|
||||
@@ -75,21 +69,4 @@ This document tracks identified bugs, edge cases, and architectural discrepancie
|
||||
* **Impact:** Two identical animations (e.g., Digital Rain) run simultaneously, doubling GPU usage on mobile.
|
||||
* **Recommended Fix:** When Glassmorphism is active, make the `RoomView` background transparent and rely on the `document.body` background.
|
||||
|
||||
### 4. Manifest Shortcut Icon 404
|
||||
**File:** `public/manifest.json`
|
||||
**Status:** **OPEN**
|
||||
|
||||
* **Issue:** The shortcut icon path is `res/android/...` but the file is copied to `public/android/...`.
|
||||
* **Recommended Fix:** Change the path to `./public/android/android-chrome-96x96.png` in `manifest.json`.
|
||||
|
||||
---
|
||||
|
||||
## 🎨 UI/UX Consistency
|
||||
|
||||
### 1. Night Light Overlay Coverage
|
||||
**File:** `src/app/pages/App.tsx`
|
||||
**Status:** **OPEN**
|
||||
|
||||
* **Issue:** Overlay is inside `#root`, bypasses `#portalContainer` (modals/tooltips).
|
||||
* **Recommended Fix:** Move to end of `document.body`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user