Skip to content

feat(clients): show project and thread in the window title - #7826

Open
chasemakes wants to merge 1 commit into
pingdotgg:mainfrom
chasemakes:feat/window-title-thread-context
Open

feat(clients): show project and thread in the window title#7826
chasemakes wants to merge 1 commit into
pingdotgg:mainfrom
chasemakes:feat/window-title-thread-context

Conversation

@chasemakes

@chasemakes chasemakes commented Aug 21, 2026

Copy link
Copy Markdown

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:

Before After
Window preview showing only the app name Window preview showing the active project and thread title beneath the app name

Other App Examples

Cursor Discord
Cursor window preview showing the open project beneath the app name Discord window preview showing the active channel beneath the app name

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before and after screenshots
  • No animation was added, so a video is not applicable

Built with Claude Fable 5 via Claude Code in T3 Code.

Note

Show project and thread context in window title

  • Adds a zustand store (windowTitleStore.ts) that holds the current project and thread titles, with shallow-equality guards to avoid redundant updates
  • ChatViewContent (ChatView.tsx) pushes the active project/thread into the store; DocumentTitleSync in __root.tsx combines that with the app display name via the new resolveWindowTitle helper and sets document.title
  • resolveWindowTitle formats titles as project / thread (or just thread when no project is active) and appends — appName on web only
  • The desktop shell (DesktopWindow.ts) now follows the renderer's document.title instead of unconditionally overwriting it with the app name; index.html sets an initial branded title on first paint
  • Risk: DesktopWindow.make relies on the page-title-updated event payload being non-empty to show context; if the renderer never sets a title, the window falls back to environment.displayName

Macroscope summarized c310393.

@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f70ccbd6-e757-445a-aeab-6a1edf6d8a83

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Aug 21, 2026
@chasemakes chasemakes changed the title feat(desktop): show project and thread in the window title feat(clients): show project and thread in the window title Aug 21, 2026
@chasemakes
chasemakes force-pushed the feat/window-title-thread-context branch from d6641e4 to ef3930d Compare August 21, 2026 16:46
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 21, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at c310393

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.

Comment thread apps/desktop/src/window/DesktopWindow.ts
@chasemakes
chasemakes force-pushed the feat/window-title-thread-context branch from ef3930d to 24d00ea Compare August 21, 2026 16:55
@chasemakes

Copy link
Copy Markdown
Author

Confirmed the Bugbot race: did-finish-load still reset the title to environment.displayName and could land after the renderer's first document.title write, leaving the static name until the next title change. Removed that reset in 24d00ea; the page-title-updated handler already provides the displayName fallback for empty titles, so title ownership now has a single path.

@macroscopeapp
macroscopeapp Bot dismissed their stale review August 21, 2026 16:57

Dismissing prior approval to re-evaluate 24d00ea

Comment thread apps/desktop/src/window/DesktopWindow.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread apps/web/src/routes/__root.tsx
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 21, 2026
@chasemakes
chasemakes force-pushed the feat/window-title-thread-context branch from 24d00ea to 047cb5c Compare August 21, 2026 17:33
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 21, 2026 17:33

Dismissing prior approval to re-evaluate 047cb5c

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread apps/web/index.html
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>
@chasemakes
chasemakes force-pushed the feat/window-title-thread-context branch from 047cb5c to c310393 Compare August 21, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant