feat(jetbrains): improve worktree session UX - #13521
Merged
Merged
Conversation
Show a branch-aware tip under the logo on the empty session screen. On a plain checkout it nudges toward running the task in a worktree, with "run it in a worktree" as an inline link that opens the New Worktree flow. In a worktree it confirms the work is isolated instead. The tip falls back to the generic welcome whenever a claim would be wrong: before branch status resolves, when git is missing, and on a detached HEAD. Read-only surfaces show no tip and skip the fetch. Branch status now feeds the empty panel as well as the branch dock, so worktree editor tabs get it too even though they render no dock. Translate the new strings into all 18 locales. The tip keys carry placeholders and therefore go through MessageFormat, where a lone apostrophe silently swallows surrounding text, so KiloBundleLocaleTest formats every locale for real and checks apostrophe escaping.
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (16 files)
Previous Review Summary (commit a453e2d)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit a453e2d)Status: No Issues Found | Recommendation: Merge Files Reviewed (36 files)
Reviewed by grok-4.6 · Input: 377.1K · Output: 26.3K · Cached: 1.9M Review guidance: REVIEW.md from base branch |
marius-kilocode
approved these changes
Aug 27, 2026
Add a toggle left of the worktree editor toolbar that shows or hides the session list. The choice is persisted per worktree through the backend instead of a single global property, so each worktree reopens the way the user left it. While the list is hidden the toggle carries the session count, or the activity icon of a background session that needs the user, so a pending question stays visible when collapsed. Give the toolbar strip standard horizontal-toolbar padding on its left, top and bottom, keeping the right edge flush so the divider still sits against the header content, and separate the toggle from the toolbar actions with a vertical separator. The toggle is centred at its own height rather than tracking the strip, so its hover box matches a regular toolbar button instead of running edge to edge.
'Arbeiten Sie frei' reads as a harsh historical imperative in German. Use a neutral phrasing that conveys the actual intent: it is safe to experiment because the main checkout stays untouched.
lambertjosh
approved these changes
Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
No linked issue; requested directly by a maintainer.
Context
This PR improves the JetBrains Agent Manager and session empty states so worktree workflows are easier to discover and use. Users now get clearer create actions, branch/worktree-aware empty-session guidance, and a collapsible worktree session list for focused editing.
Features
+ Sessionand+ Worktreeso the toolbar actions are discoverable without relying on icon-only controls.run it in a worktreelink in the branch empty state, wired to the existing New Worktree flow.Fixes
Arbeiten Sie freito a neutral phrasing that avoids harsh historical connotations.MessageFormatstrings so parameterized branch/worktree copy formats correctly.Tests
./gradlew :frontend:test --tests '*NewSessionActionTest*' --tests '*NewWorktreeActionTest*'./gradlew :frontend:test --tests '*EmptySessionPanelTest*' --tests '*KiloBundleLocaleTest*'./gradlew :frontend:test --tests '*WorktreeSessionEditorPanelTest*' --tests '*WorktreeSessionListToggleTest*' --tests '*WorktreeSessionListVisibilityTest*' --tests '*WorktreeActivityTest*'./gradlew :backend:test --tests '*KiloWorktreeRpcApiImplTest*'./gradlew typecheck./gradlew :frontend:testReviewer Notes
SessionUi.refreshBranch()now runs on surfaces without a branch dock so worktree editor tabs can show the isolation tip. The backend result is already TTL-cached, and read-only surfaces return before fetching.JBLabel.setCopyable(true)and an overridden hyperlink listener, so wrapping and link styling come from IntelliJ's standard HTML label path.Reviewer Test Steps
+ Sessionwith a separator before History.+ Worktreewith the same compact plus icon.run it in a worktreeis an inline link.run it in a worktreeand confirm the New Worktree flow opens.Checklist
Get in Touch
Maintainer-requested change; no Discord handle provided.