fix(chat): no-memory chat no longer says "Searching your memory…" - #30
Conversation
The pre-first-token "working…" loader hardcoded "Searching your memory…" regardless of the chat's memory scope, so a No-memory (plain) chat — which the backend never runs retrieval for (rag:chat returns early before emitting the 'searching' step) — still claimed to search memory. Extract a scope-aware waitingLabel() (pure, unit-tested) and use it: No-memory → "Thinking…", a project → "Searching this project…", else "Searching your memory…". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR Summary by QodoFix no-memory chat loader text to avoid claiming memory search
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (2)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughAdds a new ChangesScope-aware waiting label
Estimated code review effort: 1 (Trivial) | ~5 minutes Related Issues: None mentioned. Related PRs: None mentioned. Suggested labels: enhancement, frontend, tests Suggested reviewers: None specified. PoemA rabbit taps its keys with glee, 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🧭 Provit — no-memory chat label (judged by Claude)Built the fix, ran the app on a synthetic-seeded profile, switched the chat to No memory, sent a message, and captured the generation state. Evaluated the frames with the Claude Code backend. Verified — scope is "No memory": Verified — generation shows NO "Searching your memory…" text (plain dots loader, no false memory claim): On the exact loader from the bug report: that's the pre-first-token "working…" box (shown only while generating with no streaming message yet). Its on-screen window is now sub-frame when the model starts fast — even screenshots every 60 ms landed after the streaming placeholder replaced it — so it can't be grabbed as a still here. Its label is now driven by the scope-aware Judged by Claude (Claude Code) over the captured frames (embedded above, committed to this PR branch). The transient loader's label is guarded by the |
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>


Bug
With No memory selected, the generating chat still showed "●●● Searching your memory…" — even though a plain chat never touches memory.
Cause
The pre-first-token loader in
MemoryChat.tsxhardcoded the string, ignoring thenoMemoryscope. (The backend is already correct —rag:chatreturns early in the no-memory branch and never emits thesearchingstep, so this was purely the frontend label.)Fix
Extracted a pure, scope-aware
waitingLabel():Tests
chat-labelsunit suite (3), including a guard that the no-memory label never contains "memory".tscweb clean.🤖 Generated with Claude Code
Summary by CodeRabbit