Skip to content

Release/2026.2#286

Open
DetachHead wants to merge 665 commits into
masterfrom
release/2026.2
Open

Release/2026.2#286
DetachHead wants to merge 665 commits into
masterfrom
release/2026.2

Conversation

@DetachHead

Copy link
Copy Markdown
Owner

No description provided.

develar and others added 30 commits June 29, 2026 18:32
Automatic archive on last editor close is terminal-specific behavior. After the provider refactor, using supportsArchiveThread made Codex eligible because it supports explicit archive actions, so IDE shutdown or editor close could archive Codex threads unexpectedly.

Add a separate archiveOnLastEditorClose provider flag and opt in Terminal only. Also add Copy Thread ID to the sessions tree popup so archived thread rows can be identified directly from Agent Workbench.

GitOrigin-RevId: ef845e9983ddea13e1225a0748d1d73a5ed51074
Codex app-server notifications now update both row and chrome activity immediately, including thread/started hints, so READY and IDLE status can clear stale PROCESSING while provider refresh is gated.

The sessions activity summary treats shared presentation as title-only, keeping toolwindow counters sourced from canonical session state. Rollout refresh hints are narrowed to rebind discovery; active rollout watching remains only for neutral outline invalidation and project-file evidence.

GitOrigin-RevId: 6bdc0193db8c182073fd2261dca1cc992d57e9e8
Route source updates through named factories so callers choose thread, hint, activity, presentation, discovery, or project-file semantics explicitly. This closes the direct event constructor and keeps value semantics without leaving copy/component escape hatches for accidental mixed payloads.

Rename Codex rollout refresh hints to rollout discovery and make CodexSessionSource strip rollout thread ids, activity, and presentation before forwarding discovery updates. App-server notifications remain the refresh-hint source for live activity, while rollout files only trigger discovery and project-file refresh evidence.

Document and test that shared presentation can refresh titles without moving Agent Threads activity counters, which continue to use canonical thread activity.

GitOrigin-RevId: 1a0703a47f4cad663918611422b9a695dba75cf3
Agent Workbench chats can have an active agent session when their editor tab is closed, so accidental Cmd+W or close-all actions should require an explicit decision before the live session view disappears.

Route user-triggered editor close paths through virtual file pre-close checks and add a batch check path so close-all operations show one confirmation. The Agent Workbench check prompts only for working chat virtual files and deliberately has no remember option.

GitOrigin-RevId: 0a618c29267d708013bd21d254dae2f6172dc3a0
Keep launch profile, model, and reasoning choices behind one composer-tray control so Add Context remains the left composer action and launch settings read as one right-side affordance.

The collapsed control now shows only the active profile-facing name. Unmatched draft settings use the existing generated profile naming, while detailed model and reasoning choices remain available in the popup.

Increase the default popup height slightly so the prompt editor keeps comfortable drafting room after the controls are consolidated.

GitOrigin-RevId: 5b42ca541510d0cdd262863d2625aca871315908
Opening a new thread from the global prompt can leave an editor tab in a short preparation state before the agent launch spec is ready. Use generic copy and center the default deferred-start shell so that state reads as progress instead of provider-specific setup text.

Delay the progress indicator to avoid flicker on quick launches, and stop the delayed timer whenever the deferred shell is replaced or disposed.

GitOrigin-RevId: a0b2c0566930b49b83ebb019c4e8c1024bad21de
Codex app-server launches now use concrete preallocated thread ids, and concrete /new or /fork rebinding is handled through terminal-title signals rather than refresh-hint candidates.

Drop the unused Codex candidate plumbing while keeping app-server started-thread caching for scoped follow-up notifications and activity hints.

GitOrigin-RevId: 8aaff16a9eda29b25c5a7e7da2be42e8abfcbe68
Make the model auto choice read as Default Model so it is clear that the default applies to model selection, while keeping the flat reasoning Default label unchanged.

Keep profile default/save/update actions inline next to the launch settings control for visibility, and leave the launch settings popup focused on profile choice, tuning, and profile management.

GitOrigin-RevId: ce6dc789df568f8dda54176ad7804fd338281909
Expose editor-tab pin state as a FileEditorManager query plus an invalidation event so consumers can derive aggregate presentation state without depending on editor internals.

Agent Workbench folds that signal into its open chat tab presentation state and promotes pinned top-level chat threads in the active sessions tree. Pending tab rebinding remains part of the same projection, while archived sessions ignore editor-tab presentation state.

GitOrigin-RevId: aa4151327ceb4a10f2fd208e371670c44f2c8b01
Done is an unread completion signal, so an already-open chat should stop contributing to global activity once the user leaves that focused chat. Track the selected Agent Chat editor with the editor manager and install a scoped focus watcher instead of a global focus listener, then reuse the existing mark-as-read path when editor focus has moved elsewhere.

This keeps completed output visible while chat remains focused and preserves unread status for completions that happen while the user is away.

GitOrigin-RevId: 5441060c54b4992e36320f81857dad6800c4891b
GitOrigin-RevId: ffb269db4ae84fb3c370c19e29e9a03b14df309a
Keep the prompt composer borderless while making the large popup tray read as part of the editor surface instead of detached metadata. Popup launch controls now use normal label weight, while inline controls stay compact.

Context chips use compact tag text and tighter spacing so selected context does not overpower the launch-settings affordance. Layout coverage locks the popup/inline visual hierarchy and chip-control balance.

GitOrigin-RevId: aeee4958518eb53c415007621f7c65122327eb42
Keep current-project-only scope as a filter over the normal project tree instead of flattening the current project contents. This avoids a visual jump when the last pinned editor tab is unpinned, because ordinary rows stay under the same project or worktree container while only the pinned section appears or disappears.

Current-project scoped containers ignore persisted collapsed state during auto-expansion so the filtered tree does not collapse to an empty-looking project row after rebuilds.

GitOrigin-RevId: 22657a8b6f68798521b1ebfb839aca65329a91b5
Reduce AgentSessionSource to the required listing contract and move optional provider behavior into focused capability interfaces. This makes provider support explicit, removes broad no-op defaults, and lets shared services depend on the contracts they actually need.

Document the provider implementation model, update specs and API dumps, and migrate real providers, chat outline, refresh, archived, cost, and tests to capability checks. The migration also keeps Codex existing-thread plan-mode prompt dispatch covered by provider-level tests.

GitOrigin-RevId: 5ccb3dbec569408e76641a468ca29c0d71af0f88
Current-project-only scope should not reintroduce a project container just to host pinned editor-tab threads. Flatten the scoped model, promote pinned rows to the root, and render the pinned header plus separator as non-interactive rows so normal threads do not appear nested under Pinned.

Update tree actions, speed-search reveal, state persistence, and renderer tests for the flat separator node.

GitOrigin-RevId: 2eca6230061e730f99e905e07dc25d5b9f3d9312
The inline empty-state prompt kept its compact height when context chips appeared, so the extra context row could consume editor space and hide the form input.

Grow the inline prompt and its empty-state host by the visible context height, and give context chips an initial inline width so initial context is capped before first layout.

GitOrigin-RevId: 6db8546248125b15dbf4b3dd4da5e54d75030d71
The previous real TUI coverage could be satisfied by Codex fallback diff colors, so it did not prove that Agent Workbench generated diff backgrounds were actually consumed.

Exercise the production app-server then remote-resume path with an apply_patch turn and assert the distinctive generated ANSI RGB background. Keep truecolor enabled in the harness and strip inherited NO_COLOR so nested Codex emits the theme colors consistently.

Document the supported Codex theme surface in the spec: syntax foregrounds, explicit foreground-scope accents, and diff-scope backgrounds are expected; full TUI chrome, root background, selection, italic, underline, and normal span backgrounds are not.

GitOrigin-RevId: d73808dba496f43eaaeaee51aced30d5557fe5be
Move selected prompt context into attachment cards above the editable prompt so context is visually separate from message text in both popup and inline prompt surfaces.

Keep Add Context and launch settings in the composer tray, add prompt-specific context status wording, and cover the layout/accessibility contract with focused prompt UI tests.

GitOrigin-RevId: 4069c3a4be4351f0f79e4298aff117fe9fea31af
Context-menu hit testing used the renderer hit area, so right-clicking a sessions tree row outside its title did not build popup context. Resolve popup targets from row bounds instead, keeping selection retargeting and existing action context behavior unchanged.

GitOrigin-RevId: 6e8a80d961b3f7655adbe828fc8a4457a4d8fdcb
Normalize the global prompt composer so context attachments, prompt text, and left tray actions share the same leading edge while launch settings stay right-aligned in the same lane.

Make tray spacing explicit instead of relying on FlowLayout edge gaps, and document the lane contract in the prompt specs with layout coverage for popup and inline prompt surfaces.

GitOrigin-RevId: 2ab255c56bf6b28bfbefa05ca6ec18ac44b6ec4d
Manual commit selection used a separate Picked Commits title, making the context chip wider than automatic VCS commit chips.

Reuse the shared Commits title so manual and VCS-log selections render consistently while keeping the picker and chooser labels unchanged.

GitOrigin-RevId: 0339600fe4db4c8c3ab74a7c2536d0582eb1c160
Replace the popup separator component used for flat pinned structural rows with a tree-specific renderer. The new renderer keeps section rows non-opaque, aligns the header text with the thread content column, and paints only a thin divider instead of a wide gray row background.

Renderer tests now cover the non-opaque header, inset divider, and background-paint regression.

GitOrigin-RevId: 64dc9e28af676e97341055df507f71f3baf38462
Make the prompt composer own the horizontal content lane used by context attachments, prompt text, and tray controls. This removes the hidden editor-side horizontal inset that made visual alignment depend on EditorTextField internals and caused Add Context to drift from the visible input lane.

Keep the editor border vertical-only, update layout assertions around the shared lane, and document the ownership boundary in the prompt specs.

GitOrigin-RevId: b3d5ef7507639141a20bd7de0c53769b1c976e7d
Use compact preview-first chip labels while preserving the canonical context titles that are sent to prompt suggestion backends. Palette chips now resolve type-specific icons after screenshot thumbnail handling, and accessible names keep the fuller type-aware text for screen readers and remove buttons.

GitOrigin-RevId: 2043c68fe9a16695dcdd44c22c9a9880cb072ffb
Active chat tabs could miss terminal-input restart signals when the initial watch request raced with restart-flow subscription. Subscribe to restart changes before emitting the initial watch request and cancel the active child watch during controller cleanup.

The tests now wait for update-flow subscriptions before emitting synthetic events, and the directory watcher completion test waits for coroutine cleanup before asserting inactive state.

GitOrigin-RevId: 62e7126bc9ea3c3cb271c91b0770f780a234b3d6
Add a canonical composer spec that explains the global prompt as a task-composition surface rather than a plain text field. The spec separates instruction text, selected context, composition actions, launch settings, and header tools so future layout and context changes have one ownership model to follow.

Cross-link the new spec from the focused prompt specs, README, source files, and layout tests. Specialized specs now reference the composer contract instead of duplicating layout intent.

GitOrigin-RevId: 1edeeacee2ff2ea623ea5a36ec5f4c250ba0e9cb
Extract the active-thread watch request flow into a small helper so the watch loop only owns thread switching and update dispatch. The helper preserves the existing hot-flow ordering by subscribing to restart changes before emitting the initial request.

GitOrigin-RevId: a944ea1b7546d6bac066709549ca47f5f3ca7c6f
GitOrigin-RevId: 7991a72ef1edd48a2bd4e215b56ed1a8cf71e77b
The cherry-picked FileDocumentManagerImplTest change used getFileCachedDocument(), which is not available on the 262 branch. Use the existing test-only cache accessor instead so the test still checks the weak document cache without depending on a newer API.

GitOrigin-RevId: 5533a7be4ecf6dc5ac1666db009a0d1717c3448b
Agent Workbench already treats specs as the source of truth, but its local instructions did not require contributors to match touched files against owning spec targets or to explain why a spec update was unnecessary.

Make spec maintenance part of the definition of done for plugin changes. The new guidance requires a targets-based spec impact pass, updating or adding specs when behavior changes, and an explicit no-spec-impact note for refactors.

GitOrigin-RevId: 923ea67ace4928b2067f63b756dd6abcb6a9b643
vladimirdolzhenko and others added 23 commits July 10, 2026 19:40
IJ-CR-211494

GitOrigin-RevId: 8da4a76322731445ac77eaa3e1877565138c5009
IJ-CR-211494

GitOrigin-RevId: 1cd966e932ca3c46d18264fc9f2891279f319b71
IJ-CR-211494

GitOrigin-RevId: 2510ea897e475b3fac23112f64546f785ee0076b
…t events

(cherry picked from commit 5b2da1f0c2b64ae0a4eb9e8c86cee0c8e8c71ddc)

IJ-MR-213040

GitOrigin-RevId: 5b6089e41d9f1d359b8ae6111386bb1f6bae7e2d
… in case of ambiguity return the smallest overload

GitOrigin-RevId: 51365bac7dcb8fc590002abaabb2ecbef5b8317d
(cherry picked from commit fa78831a77c2d9c456535e7b9361ea70d4fa7788)

IJ-MR-213206

GitOrigin-RevId: c2b8817be6935a293c7e9717c4894b2271993d16
… names suggestions added (from context)

(cherry picked from commit 0d088a1a3d2df2cf49b2560b26843bfa47c025c5)

GitOrigin-RevId: 8be6c8042e364577a9ae1dba174feb9887dfa058
…attaches editor state dump

(cherry picked from commit f0cb3036b8a636bed15029ae44e73b0ebadbd900)

IJ-CR-213307

GitOrigin-RevId: 03fbd8b8c4f40b7181ac491b3259dac1213c0c97
…recalculation reason in editor state dumps

(cherry picked from commit 0a7b1f917b13ccc5c8e8694360e93121651be60b)

IJ-CR-213307

GitOrigin-RevId: 82984a1e90bbeb1ce2c3c6f3adfaefc52e783f88
This would allow implementing the build system-agnostic code-insight for Compose resources.

(cherry picked from commit 473311ef4f7f3f24b5b79cac8917e79b748ce2f5)

GitOrigin-RevId: 1903316f7f321401d6869ad3f72bf7c9135ed888
  conda 26 changed the SubdirData.query_all signature: channels and subdirs
  are now required keyword arguments. conda 25 inferred them from the current
  context when only a MatchSpec was passed. Calling query_all with just a spec
  on conda 26 raises TypeError, breaking the package index loading entirely.

  Fix: try the explicit form with channels= and subdirs= kwargs first (required
  by conda 26), catch TypeError and fall back to the single-spec form (conda 25
  and earlier). Also add CONDA_26 (py312_26.5.3-1) to PredefinedPyEnvironments
  and CondaPackagingToolHelperTest so future regressions in the version-routing
  logic are caught before release.

(cherry picked from commit 807bc29f329a3ca1c323ccc2fd6f2e7a391be2df)

IJ-MR-212935

GitOrigin-RevId: 8c1200b5e92649cd331fd09cc51f18e19882d36d
(cherry picked from commit 0373a85f250dfa6460baaa47a391f6bbbbf1f23a)

IJ-CR-213570

GitOrigin-RevId: a1ec92c92ee52a5cbcf3ef31bcc5efa26c4f0d9a
(cherry picked from commit 4c291c7e00efd8b17e884c9cd6bd49a56c006938)

IJ-CR-213570

GitOrigin-RevId: 9fa27ed58cb4798ccf942323c1f03308bfe1ad50
…ager.UnzipCommand` constructor

... in preparation to changing the script serialization method


(cherry picked from commit b1736e0d3b7622e6961dc29b57d4b0889911a72a)

IJ-CR-213573

GitOrigin-RevId: 9db502cc722e2a68f4537c401575a8862f18923a
# Conflicts:
#	BUILD.bazel
#	build/src/org/jetbrains/intellij/build/RebasedProperties.kt
#	images/resources/META-INF/plugin.xml
#	intellij.idea.community.main.tests.iml
#	lib/BUILD.bazel
#	lib/MODULE.bazel
#	platform/external-system-api/dependency-updater/BUILD.bazel
#	platform/platform-impl/src/com/intellij/ide/actions/CloseAllEditorsAction.java
#	platform/platform-impl/src/com/intellij/ide/actions/CloseEditorsActionBase.java
#	platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorEmptyTextPainter.java
#	platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.kt
#	plugins/compose/intellij.compose.ide.plugin.k2/BUILD.bazel
#	plugins/compose/intellij.compose.ide.plugin.resources/BUILD.bazel
#	plugins/compose/intellij.compose.ide.plugin.shared/BUILD.bazel
#	plugins/gradle/BUILD.bazel
#	plugins/gradle/completion/kotlin/tests/BUILD.bazel
#	plugins/gradle/gradle-declarative-sync/BUILD.bazel
#	plugins/gradle/java/BUILD.bazel
#	plugins/kotlin/base/fir/analysis-api-platform/BUILD.bazel
#	plugins/kotlin/base/fir/project-structure/BUILD.bazel
#	plugins/kotlin/code-insight/fixes-k2/tests/BUILD.bazel
#	plugins/kotlin/code-insight/inspections-k2/tests/BUILD.bazel
#	plugins/kotlin/code-insight/intentions-k2/tests/BUILD.bazel
#	plugins/kotlin/compiler-plugins/parcelize/tests/k2/BUILD.bazel
#	plugins/kotlin/fir/tests/BUILD.bazel
#	plugins/kotlin/gradle/gradle-java/k2/BUILD.bazel
#	plugins/kotlin/gradle/gradle-java/tests.shared/BUILD.bazel
#	plugins/kotlin/gradle/gradle/tests/BUILD.bazel
#	plugins/kotlin/gradle/multiplatform-tests-k2/BUILD.bazel
#	plugins/kotlin/gradle/scripting/kotlin.gradle.scripting.k2/BUILD.bazel
#	plugins/kotlin/grazie/intellij.kotlin.grazie.tests/BUILD.bazel
#	plugins/kotlin/injection/k2/tests/BUILD.bazel
#	plugins/kotlin/j2k/k2/tests/BUILD.bazel
#	plugins/kotlin/jvm-debugger/test/compose/BUILD.bazel
#	plugins/kotlin/jvm-debugger/test/compose/intellij.kotlin.jvm.debugger.test.compose.iml
#	plugins/kotlin/navigation/tests/BUILD.bazel
#	plugins/kotlin/project-wizard/tests/BUILD.bazel
#	plugins/kotlin/refactorings/kotlin.refactorings.tests.k2/BUILD.bazel
#	plugins/kotlin/util/test-generator-fir/BUILD.bazel
@DetachHead DetachHead added the release branch this PR is for publishing releases based on an upstream release branch - not to be merged label Jul 17, 2026
DetachHead and others added 4 commits July 17, 2026 20:50
…ew' to be installed" error when installing the markdown plugin from the marketplace (#288)

Co-authored-by: detachhead <detachhead@users.noreply.github.com>
(cherry picked from commit 351336d)
…291)

(i can't even find the code where i initially disabled them...)

Co-authored-by: detachhead <detachhead@users.noreply.github.com>
(cherry picked from commit 696b2a6)
* remove `inspect` command from the CLI

* remove `format` command from the CLI

---------

Co-authored-by: detachhead <detachhead@users.noreply.github.com>
(cherry picked from commit e3ceb75)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release branch this PR is for publishing releases based on an upstream release branch - not to be merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.