You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Mobile sends skip "When you return" idle compaction #27911
I searched existing issues and did not find a duplicate.
I included enough detail to reproduce or investigate the problem.
Area
apps/mobile
Steps to reproduce
Keep idle compaction at "When you return" (the default).
Use a Claude thread above 200K tokens and leave it idle past its prompt cache TTL (70 minutes when the provider reports no TTL).
Send a message to it from the iOS or Android app.
Expected behavior
The same as the web composer: the send compacts first ("Compact and send", a /compact turn with idleCompaction: "onReturn"), and the message runs after it.
Actual behavior
The message starts at once with no compaction, and Claude re-reads the whole context uncached.
Observed on 2026-10-31: an Android client returned to a 293,611-token Claude thread after 8h40m idle. The first request after the return reported cache_read 14,250 and cache_creation 282,954, the session's JSONL has no compact_boundary, and the run that carried the message has creationSource: "mobile".
"When you return" lives only in the web composer: shouldOfferResumeCompaction (apps/web/src/components/chat/ContextWindowMeter.logic.ts) feeds compactBeforeSend in planComposerTurn (ChatView.logic.ts), and useComposerSend sends /compact before the message (#16631). The server's IdleCompactionService handles only "Before the cache expires", and nothing in apps/mobile sends the compaction, so the setting does nothing for mobile sends.
Activity
fix(mobile): carry upstream pingdotgg#27935 in place of fork patch 26
jason5545 commentedon Oct 31, 2026
Closing in favor of #27935, which fixes this.