feat(clients): show project and thread in the window title - #7826
feat(clients): show project and thread in the window title#7826chasemakes wants to merge 1 commit into
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI 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:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
d6641e4 to
ef3930d
Compare
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This PR adds window title context (project/thread names) with straightforward string formatting logic, comprehensive tests, and purely UI impact. The review comment about error state title handling has been addressed in a follow-up commit. You can add or adjust custom eligibility rules. Learn more. |
ef3930d to
24d00ea
Compare
|
Confirmed the Bugbot race: |
Dismissing prior approval to re-evaluate 24d00ea
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 24d00ea72d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
24d00ea to
047cb5c
Compare
Dismissing prior approval to re-evaluate 047cb5c
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 047cb5c. Configure here.
The desktop window previously cancelled every renderer title change and pinned the static app name, so the window title (and the second line in OS-level window previews) never reflected what the user was working on. The active project and thread titles now flow from ChatView into a small window-title context store, and the root DocumentTitleSync composes document.title as "project / thread" (with the app display name kept as a suffix on the web, where the tab has no separate app-name line). The desktop shell accepts renderer titles and falls back to the app display name when none is set. Titles update live on rename and as generated thread titles stream in. Built with Claude Code (Fable 5). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
047cb5c to
c310393
Compare

What Changed
The app window preview now shows both the app name "T3 Code (Nightly)" or "T3 Code" along with the added window title as the project and thread, like
my-project / Fix login bug. It updates live when a thread is renamed or a generated title streams in and falls back to showing only the app name when no thread is open. Desktop shows both the expected app name and window title. Browser tabs keep the app name as a suffix. This also fixes the bug that caused "T3 Code (Alpha)" to flash as the app title for a split second before the correct app name was applied.Why
The title never said what you were working on. Desktop window previews showed only the app name with no expected window title. Multiple web tabs were indistinguishable and anything that keys off the window title, like time trackers and window switchers, got nothing useful. Other apps already do this, like Cursor with the open project and Discord with the active channel (examples below).
UI Changes
Before, the window preview showed only the app name. After, a second line shows the active project and thread:
Other App Examples
Checklist
Built with Claude Fable 5 via Claude Code in T3 Code.
Note
Show project and thread context in window title
ChatViewContent(ChatView.tsx) pushes the active project/thread into the store;DocumentTitleSyncin __root.tsx combines that with the app display name via the newresolveWindowTitlehelper and setsdocument.titleresolveWindowTitleformats titles asproject / thread(or justthreadwhen no project is active) and appends— appNameon web onlydocument.titleinstead of unconditionally overwriting it with the app name; index.html sets an initial branded title on first paintDesktopWindow.makerelies on thepage-title-updatedevent payload being non-empty to show context; if the renderer never sets a title, the window falls back toenvironment.displayNameMacroscope summarized c310393.