Repository navigation
Mobile chat composer uses desktop's placeholder - #31425
Conversation
The phone composer said "Message Codex" (or "Message, @files, /commands") while desktop says "Ask anything, @ to mention files, / for commands". Both now read the one string from the shared native-chat copy table, so they can't drift again.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the
Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to
|
The turn-status table maps one-to-one onto the status.* catalog keys; the placeholder is composer.placeholder, so it gets its own constant and its own catalog check.
414 commits landed on main between ebc8b06 and f045046. The six older catalogs conflicted along with en-runtime-required.json, and pt.json, which stablyai#31627 added to main, came in with them, so all seven catalogs and en-runtime-required.json are taken from main and the prune is recomputed in one pass. It is the previous 1,618 keys plus 6: three lost their reader when stablyai#31831 combined untracked files into Changes, two when stablyai#31593 added the PTY inventory to the Resource Manager, and SshStatusSegment.connecting with stablyai#32083. None left the set. en.json goes from 16,929 entries to 15,305; en-runtime-required.json keeps 597 of them. native-chat-shared-copy-matches-catalog.test.ts conflicted because stablyai#31425 added a test right above the block this branch rewrites. The branch's edit was re-applied on main's version of the file with git apply -C1 ("Context reduced to (1/1) to apply fragment at 45"); the file now differs from main by exactly the branch's added and removed lines.
Problem
The phone's chat composer said "Message Codex" (or "Message, @files, /commands" when the agent was unknown), while desktop's composer says "Ask anything, @ to mention files, / for commands". The two apps kept their own copies of the string, so they drifted.
What changes for users
On the phone, an empty chat composer now reads "Ask anything, @ to mention files, / for commands", the same as desktop. The other placeholders (Reconnecting…, Waiting for terminal…, and the "run after the stop" lines) are unchanged. Desktop is unchanged.
How
The string moves into the shared native-chat copy table (
src/shared/native-chat-turn-status.ts) that both apps already read for the "after the stop" placeholders. Desktop uses it as its translation fallback; mobile (English only) uses it directly. The agent-name argument to the mobile placeholder is gone.QA
Desktop (this PR's build, isolated test copy on the shared Mac QA machine, real Codex and Claude through the team load balancer). The empty composer reads "Ask anything, @ to mention files, / for commands" in Codex and Claude chats (read from the page as well as on screen), a real Codex message got its reply, and the composer came back with the same placeholder:
Phone (iPhone 17 simulator, the same empty Claude chat from the repo's mock host). Before (main) the placeholder reads "Message Claude"; after (this PR) it reads "Ask anything, @ to mention files, / for commands", wrapping to two lines inside the existing composer with no change to its size. Typing hides the placeholder and clearing brings it back unchanged. Read from the accessibility tree as well as on screen.
No review loop on this one (Brennan: copy-only change, "Don't need a whole review on it").