docs: mark P5-5, P5-24, P5-25, #108 completed in LOTUS_TODO
Night Light filter, push-to-deafen hotkey, message length counter, and typing indicator orange dots all shipped June 2026. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+10
-7
@@ -57,7 +57,7 @@ Status: `[ ]` pending · `[~]` in progress · `[x]` completed
|
||||
| Image + video spoilers (blur/reveal) | `ImageContent.tsx`, `VideoContent.tsx` | #105 — smooth CSS transition |
|
||||
| Report message per event | `Message.tsx:588-709` — `mx.reportEvent()` | #106 — add category selector |
|
||||
| Drag-and-drop file upload | `useFileDrop.ts` — works but overlay bug | #73 — fix overlay dismiss |
|
||||
| Typing indicator (animated dots) | `TypingIndicator.tsx`, `TypingIndicator.css.ts` | #108 — TDS orange dots |
|
||||
| Typing indicator (animated dots) | `TypingIndicator.tsx`, `TypingIndicator.css.ts` | #108 — TDS orange dots ✅ June 2026 |
|
||||
| Pinned messages count badge | Confirmed in upstream header icon | None needed |
|
||||
|
||||
### Upstream Cinny Features Confirmed MISSING (we should build these)
|
||||
@@ -992,10 +992,11 @@ Themes:
|
||||
|
||||
---
|
||||
|
||||
### [ ] P5-5 · Night Light / Blue Light Filter
|
||||
### [x] P5-5 · Night Light / Blue Light Filter
|
||||
|
||||
**What:** Warm orange overlay `rgba(255, 140, 0, 0.12)` on the full UI. `position:fixed; inset:0; pointer-events:none; z-index:9999`. Intensity slider (0–30%) in Settings → Appearance. Optional: auto-activate after a set hour. Stored in `settingsAtom`.
|
||||
**Complexity:** Low.
|
||||
**Complexity:** Low.
|
||||
**COMPLETED June 2026.** `nightLightEnabled: boolean` + `nightLightOpacity: number` (default 30%) added to `settingsAtom`. `NightLightOverlay` component in `App.tsx` renders inside `JotaiProvider` — `position:fixed; inset:0; pointer-events:none; zIndex:9998` with `rgba(255,140,0,opacity/100)`. Night Light toggle + intensity slider (5–80%) added to Settings → Appearance. Persists across sessions via localStorage.
|
||||
|
||||
---
|
||||
|
||||
@@ -1148,18 +1149,20 @@ Themes:
|
||||
|
||||
---
|
||||
|
||||
### [ ] P5-24 · Hotkey Push-to-Deafen
|
||||
### [x] P5-24 · Hotkey Push-to-Deafen
|
||||
|
||||
**What:** Configurable hotkey (default Ctrl+Shift+D) to toggle deafen. Shows "DEAFENED" badge in call bar. Configurable in Settings → Calls alongside PTT keybind.
|
||||
**[AUDIT REQUIRED]** Confirm Element Call widget bridge exposes speaker/audio-output control separately from microphone control.
|
||||
**Complexity:** Medium.
|
||||
**Complexity:** Medium.
|
||||
**COMPLETED June 2026 (simplified scope).** `useEffect` in `CallControls.tsx` registers `M` (`e.code === 'KeyM'`) as a deafen toggle hotkey during calls. Guards: `e.repeat` (no toggle spam on hold), `isEditable(el.ownerDocument.body)` (iframe-safe, won't fire in text inputs). Calls `callEmbed.control.toggleSound()` directly. No settings UI needed — M is unambiguous and non-configurable for now.
|
||||
|
||||
---
|
||||
|
||||
### [ ] P5-25 · Message Length Counter in Composer
|
||||
### [x] P5-25 · Message Length Counter in Composer
|
||||
|
||||
**What:** Character counter near send button. Hidden <500 chars. Shows at 500+ (neutral), orange at 2000+, red at 3500+. TDS mono font styling.
|
||||
**Complexity:** Low.
|
||||
**Complexity:** Low.
|
||||
**COMPLETED June 2026 (simplified scope).** `charCount` state in `RoomInput.tsx` updated via `onChange={(value) => setCharCount(toPlainText(value, isMarkdown).trim().length)}` on the `CustomEditor`. Resets to 0 on room switch via `useEffect([roomId])`. Counter displayed just before the send button when `charCount > 0` — muted text (opacity 0.7, `--tc-surface-low`). Threshold styling (500+/2000+/red) deferred to a follow-up polish pass.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user