From d39aef0aac9b8f108653034f3f7ecee5f5772539 Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Thu, 25 Jun 2026 04:07:39 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20add=20backlog=20(E=E2=80=93K)=20of=20fi?= =?UTF-8?q?xed-but-unverified=20items=20to=20testing=20guide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sweeps every remaining "FIXED ⚠️ UNTESTED" item from LOTUS_BUGS.md and LOTUS_TODO.md into the testing guide, grouped by environment (mobile, theming, calls, media/perf, accessibility/screen-reader, desktop/Tauri, features) so each category can be verified in one pass. Co-Authored-By: Claude Opus 4.8 --- LOTUS_TESTING.md | 125 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/LOTUS_TESTING.md b/LOTUS_TESTING.md index 07201bc5e..246997944 100644 --- a/LOTUS_TESTING.md +++ b/LOTUS_TESTING.md @@ -206,6 +206,131 @@ If any control does nothing, that usually means an EC DOM selector changed — c --- +# Backlog of previously-fixed-but-unverified items + +> Sections A–D above are **this session's** work. Everything below was fixed in earlier waves and is still flagged **⚠️ UNTESTED** in `LOTUS_BUGS.md` / `LOTUS_TODO.md`. They're grouped by what kind of environment you need (mobile, desktop, screen reader, etc.) so you can knock out a whole category at once. None of these are urgent the way A–D are; do them as you have the right device handy. + +## E. Mobile / responsive (needs a real phone, or devtools device emulation) + +### E1. Composer toolbar touch targets (#7) + +On a phone, open a room and the composer toolbar. Tap each button (attach, format, sticker, emoji, GIF, location, poll, schedule, send). +**Expected:** every button is comfortably tappable (≥44×44px), no mis-taps hitting the wrong icon. + +### E2. Room Settings — no horizontal overflow (#8) + +On a narrow phone screen, open **Room Settings**. +**Expected:** the settings nav panel fills the full width; **no** horizontal scrollbar / sideways scrolling anywhere in the panel. + +### E3. Modals go fullscreen on mobile (#9) + +On a phone, open several dialogs: Leave Room, Create Room, Create Space, Invite User, Report (room/user/message), Edit History, Forward Message, Remind Me, Schedule Message, Device Verification, Poll Creator. +**Expected:** each opens **fullscreen** (no floating box, no rounded corners / max-width margins). On desktop the same modals should still be the normal centered boxes. + +### E4. Composer not hidden by the keyboard (#10) — iOS Safari especially + +On a phone (priority: **iOS Safari**), tap into the composer so the on-screen keyboard appears. +**Expected:** the composer input stays **visible above** the keyboard; the layout shrinks rather than the composer sliding under the keyboard. + +### E5. Mobile "Saved Messages" access (Mobile Bookmarks) + +On a phone, **inside a room**, open the room header **··· More Options** menu. +**Expected:** a **"Saved Messages"** item is present; tapping it opens the bookmarks panel. (This was the only in-room access point missing on mobile.) + +--- + +## F. Visual / theming + +### F1. Animated chat background — no flicker (#2) + +Settings → set an **animated** chat background (e.g. anim-rain / anim-aurora / anim-stars). Watch the message text and composer while it animates. +**Expected:** smooth animation, **no flickering / shimmering** on message text or the composer, especially after scrolling. Note your GPU/browser if you see artifacts. + +### F2. Background vs. Seasonal theme are mutually exclusive (#6) + +In Settings → Appearance: + +1. Pick a **chat background** → confirm any **seasonal theme** auto-switches off. +2. Pick a **seasonal theme** → confirm the **chat background** auto-clears to none. +3. (Edge) If you have old data with both set, after reload only one should visibly apply (no double-overlay clutter). + +--- + +## G. Calls — additional unverified (👥 2 people) + +### G1. PiP mute badges point at the right person (#12) + +In a call with at least one other person, pop out the **Picture-in-Picture** mini window. + +- **You** mute your own mic → a **"You"/muted badge appears bottom-left** (your status). +- A **remote** participant (or all of them) mutes → an **"All muted"** badge appears **top-right** (clearly about other people). + **Expected:** the bottom-left badge is **never** triggered by someone else muting — that was the original bug (it looked like your own mic was muted when it wasn't). + +### G2. Full-screen camera broadcasts + +1. In a **camera-only** call (no screenshare), confirm the **Fullscreen** button is available (previously only showed during screenshare). +2. Use **MemberGlance → Focus camera** to full-screen/spotlight a specific person's camera. (Overlaps **A5**; if you've done A5 you can skip.) + +--- + +## H. Media / performance (needs a room with many images) + +### H1. Lazy image decryption (P5-5 / MediaGallery) + +Open a room / media gallery with **many images** (ideally encrypted). Scroll down through them. +**Expected:** images decrypt/load as they **approach the viewport**, not all at once on open; scrolling stays smooth and memory doesn't balloon. Off-screen images shouldn't all decode up front. + +### H2. Thumbnail framing (P5-6) + +Look at **tall portrait** images in the timeline and in the media gallery. +**Expected:** thumbnails are framed **center-top** (so faces/subjects at the top aren't cropped out); no awkward stretching. Opening the full-size viewer still shows the **whole** image (contain, not cropped). + +--- + +## I. Accessibility (needs a screen reader: VoiceOver / NVDA / TalkBack) + +With a screen reader on, navigate message hover-actions and content and confirm each control **announces a meaningful label** (not "button" / blank): + +- [ ] **Reaction** buttons announce the emoji + count (e.g. "thumbsup reaction, 3 people"). +- [ ] **Edit history** button announces "View edit history". +- [ ] **Thread indicator** announces "View thread". +- [ ] **Reply** (jump to original) announces "Jump to original message". + +--- + +## J. Desktop / Tauri build only + +### J1. Proactive update notifications (P5-40) + +In the **desktop (Tauri)** build, with an update available, launch the app (and/or leave it running ~12h). +**Expected:** an in-app toast/badge alerts you that an update is available, without manually checking Settings. (Needs an actual newer release to point at.) + +### J2. DTLN noise suppression sanity + +In Settings → Calls, enable **ML noise suppression** with the **DTLN** model, then join a call. +**Expected:** your mic audio still flows (no silence/robotic dropouts) and background noise is reduced. Confirmed working earlier but flagged for a final real-call check; verify on **both** web and desktop. + +--- + +## K. Features — end-to-end unverified + +### K1. Remind Me Later + +On a message, **··· → Remind Me**, pick a short preset (the 20-min one, or wait one out). +**Expected:** when due, a Lotus toast fires linking to that message; the reminder then clears itself. Survives a reload while pending (stored in account data). + +### K2. Advanced search filters (P4-9) + +In message search: use the **sender picker** (instead of typing `from:@user`), the **date-range** quick presets (Today / Last week / Last month / Last year), and the **Has link** toggle. +**Expected:** each narrows results correctly and reflects in the search. + +### K3. Notification content + click target (P5-20 partial) + +Trigger a desktop/browser notification for a new message. +**Expected:** it shows the **real message body** (`username: message`, not "New inbox notification from…"); **clicking it** brings the window to front and navigates **directly to that message** (not just the inbox). + +--- + ## Priority if you're short on time 1. **A4** (in-call banner) + **A3** (ringtone) — newest, most logic, hardest to reproduce.