Release/2026.2.2 - #341
Open
DetachHead wants to merge 1622 commits into
Open
Conversation
…gurables A safety escape hatch for plugin developers whose Configurables trigger external actions (e.g. browser OAuth, native file picker) without a modal dialog. Configurables implementing NoAutomaticReset are skipped by SettingsEditor.resetUnmodifiedOnWindowFocus() on Settings focus regain. (cherry picked from commit 79beee8a0e0da064fdf696a1d05850c117f7065a) IJ-CR-217470 GitOrigin-RevId: 83a745f8f651d4513129e74e71c87a0e66739133
…() in non-modal Settings isModifiedSafely() was guarding against exceptions thrown by uninitialized configurables, but the real fix is to not call isModified() at all when createComponent() hasn't been called yet. Made isModifiedSafely() an instance method and added an editor.getContent(configurable) != null guard inside it — returns null early if the configurable was never displayed. (cherry picked from commit ce2ee379a3cef595ee8c77fbbe6d7ae368d9a7de) IJ-CR-217470 GitOrigin-RevId: dc3f5d0bc06e6416c1c2afa31371ae14ffef5b90
…ettings sub-dialogs Previously, Settings.Paste was only enabled via a data-context key (IS_SETTINGS_CONTEXT) that was unreachable from child dialogs, because DataManager stops traversing at AWT window boundaries. As a result, pasting in those dialogs logged EditorPaste instead of Settings.Paste. Replace the data-key approach with an AWT owner-chain check: isSettingsWindow() walks window.owner until it finds the Settings window or returns false. SettingsPasteAction now implements ActionPromoter so it wins the Cmd+V shortcut conflict whenever the focused window is the Settings dialog or any child dialog owned by it (cherry picked from commit cbde5fc61fe02a46f42b20187d6ab4b4bf2ea149) IJ-CR-217470 GitOrigin-RevId: 41db73216127a9d61753320533dc1ad006b4d570
StatisticsFileEventLogger.dispose() submitted logLastEvent() to logExecutor via flush(), then immediately called Disposer.dispose(writer), closing the file before the flush task could run. Changed to flush().get(1, SECONDS) so the last buffered event is guaranteed to be written before the writer closes. Also log project.max.simultaneous before ide.close in onIdeClose() so that ide.close flushes project.max.simultaneous out of the merge buffer, adding a second layer of protection against the event being lost. (cherry picked from commit 7869cf70615690dfe61a60c0f02d38eddec275a7) IJ-CR-217470 GitOrigin-RevId: f6b496af60b309733a2b2e4ceb2ff5ba7bb7b254
…appearing when pinned from macOS full-screen When the Settings window (unpinned/window mode) was in macOS native full-screen and the user pressed Pin, the new FloatDialog was created while macOS was still running the Space-exit animation, making it invisible until a Cmd+Tab round-trip. Fix: switchWindowMode now detects native full-screen via MacFullScreenSupport and defers doSwitchWindowMode until windowExitedFullScreen fires. MacFullScreenSupport gains exitFullScreen(window, onExited) that triggers requestToggleFullScreen and routes the completion callback through the primary FullScreenListener (the only one that JBR reliably delivers events to) (cherry picked from commit dbb0b15c6817d66a07560897457038d02378addc) IJ-CR-217470 GitOrigin-RevId: f5112ce355632d272129f107a68061f08acf6520
…ettings from a detached tab on macOS The pinned Settings dialog lives on the IDE's Space. When invoked via Cmd+, from a detached editor tab (its own Space), macOS stayed on the detached tab's Space after the dialog appeared, requiring Cmd+Tab to find it. Fix: call getIdeJFrame()?.toFront() before showing the FloatDialog so macOS navigates to the IDE Space first. (cherry picked from commit 3348469fafbd7731ce7cf4a98ef6923ce8aca89b) IJ-CR-217470 GitOrigin-RevId: 62e04a13067ab97a9efc44defbbf4e08a6e03e1a
…og when invoked from a macOS full-screen frame When Settings were invoked from an IDE frame in macOS native full-screen (main frame or detached editor tab), they could spawn as a WindowFrame on a separate Space instead of a FloatDialog on the IDE's Space. Fix: force float/dialog mode when the invoking frame is in full-screen (isFloat || isInvokingFrameInFullScreen()), preserving the saved preference for non-full-screen sessions. MacFullScreenSupport now stores itself as a root-pane client property so full-screen state can be queried for FrameWrapper-based windows. The pin button and show() are updated accordingly. (cherry picked from commit 11a21abd23e64df2fb65e66624d6c482f55b77ea) IJ-CR-217470 GitOrigin-RevId: b307eef9307fe9d51322443a1a34e4a0318bea74
…port on Linux/Windows MacFullScreenSupport was instantiated eagerly, triggering Class.forName on all platforms and crashing on Linux/Windows due to the missing com.apple.eawt classes. Replaced with a lazy lambda (cherry picked from commit 23e49d1be1641ae3e8b2a5e0a21aa9226303e327) IJ-CR-217470 GitOrigin-RevId: a7aae081dbf2224c7494c7f41d89072585a89e06
… settings in Window mode - Disable macOS native full-screen (green button) on the Settings WindowFrame via setWindowCanFullScreen(false) after the window is made visible, preventing the window from entering its own Space. See JBR-10155. - Move the FullScreenUtilities call into MacFullScreenSupport.disableNativeFullScreen (a mac-only class) and call it from NonModalWindowWrapper behind a SystemInfoRt.isMac guard to avoid class-loading issues on Windows/Linux. - Bring IDE frame to front when pinning Settings while IDE is in full-screen, so macOS navigates to the IDE Space before the dialog appears. - Extract common window-showing logic into showActiveWindow() used by both show() and switchWindowMode(). (cherry picked from commit c2cc5150e1ba3585ed757574d79d63e83401f260) IJ-CR-217470 GitOrigin-RevId: e414f6323132d0107784cdb0e880db71ed516ee2
Settings links can target configurables that are still hidden in the filtered settings tree after the search text is cleared. Refilter the tree before selecting the target configurable so navigation works from searched settings pages as well as from the regular settings tree. (cherry picked from commit c9119d5768a6a64df48a610301631753d9d9a009) IJ-CR-217470 GitOrigin-RevId: d0ce7edfdaa562aaf0e02f191b583d01eafbc2cd
When Search Everywhere opens an option in an already visible non-modal Settings window, restore the window's preferred focus component after bringing it to front. This matches the fresh-open behavior and lets settings search highlighting update and clear consistently. (cherry picked from commit 78074772bec9d3f188fbd0320ec3523cdaf11257) IJ-CR-217470 GitOrigin-RevId: 2b2047bb1943d56341b683637252be5646387d6d
Persist NonModalWindowWrapper bounds explicitly instead of relying on WindowStateService automatic registration. This matches DialogWrapper-style behavior and keeps Settings reopening at the last user-chosen location, including on multi-monitor setups. (cherry picked from commit 15bb1dfafa6c2dfef53264fdfd3602b14f622217) IJ-CR-217470 GitOrigin-RevId: 7093ef659ac37e89149733e3dd2a25e4ac74dad2
Mirror DialogWrapper bounds fitting in NonModalWindowWrapper so restored or resized Settings windows stay within the visible screen after scale changes, including high-DPI Windows configurations. (cherry picked from commit 97316571ff6ec210d0a05c12abbd39d5d54a49e5) IJ-CR-217470 GitOrigin-RevId: 63031c7fb58812090f95d0e3c245430aa4f2210a
Deeply nested composite types (unions, unsafe unions, intersections) whose structural equals/hashCode were recomputed on every call caused a quadratic/exponential storm in the type-eval HashMap caches: a Find Usages run on a large project (netflix/dispatch) wedged the FJP workers in recursive PyUnionType/PyClassTypeImpl equality and starved the EDT of the write-intent lock, freezing the UI. Introduce PyCompositeTypeBase as the single home for the three set-of-members composites. It memoizes hashCode (the member set is immutable) and adds a hashCode-mismatch fast path to equals, so unequal composites are rejected without the O(n) member-set walk. PyClassTypeImpl gets the same fast path, ordered after the cheap myClass/isDefinition checks so a trivial mismatch never forces the deep type-argument hash. PyCompositeTypeEqualityPerformanceTest guards this with a shared-subtree DAG whose root is reachable via 2^depth paths: a deterministic call counter stays linear with the fix and blows past the bound without it. (cherry picked from commit 8fdc2ee131c12842750f8242cee6177522cbf5a5) GitOrigin-RevId: 1c3d041a4922e63592fa15550a0ede9188fa38d5
(cherry picked from commit c6498d0336bd5d8c579ffb79596700439b81e842) (cherry picked from commit a0735784dfe1f5a350f47c40bdfdbbf2208cede7) IJ-MR-215743 GitOrigin-RevId: 6174c74a9f7e83edeeefb182bf421f63d2d669c5
closes JetBrains#3561 (cherry picked from commit 78b98ab9db6ec2498da86201341e1f4549e50db0) (cherry picked from commit 46529c4c7990f9af20c04fcb44ffb50db7100558) IJ-MR-215743 GitOrigin-RevId: 05be536d1e51e22d25101277f980646586704b76
- Replace generated SVG spinner frames with direct Canvas drawing. - Keep the existing small and big public APIs while preserving style color and frame timing. - Match the original SVG segment winding and derive geometry from the actual canvas size. closes JetBrains#3563 (cherry picked from commit 1f6abdd5489501af1af6d9c9f193cafee74595d9) (cherry picked from commit 14fccd5abaef6a606671bf7f6d78c48919e48539) IJ-MR-215743 GitOrigin-RevId: 4582eaa1dc7005f6e2653bb9c1d685e2acbf0835
closes JetBrains#3562 (cherry picked from commit 867bfc09a26aa1faf8e6582a912558f80acbe628) (cherry picked from commit 7d4373db035c9b766349ae14ee72a104549c008d) IJ-MR-215743 GitOrigin-RevId: 637042f03df679ae63f6a6e7b85cccfdc7ca1630
closes JetBrains#3517 (cherry picked from commit 6009feee740379a8ea6ef3be9f651c56057603e5) (cherry picked from commit 11bd76193419b6e20e1d5284f0eb8a0c5446b69c) IJ-MR-215743 GitOrigin-RevId: e837c3595efd84d4e51cc72a03942cd169d843b5
Several deprecated Jewel APIs were removed in [JEWEL-1323]. Migrate the Android Compose consumers to the current API: * `Typography.<member>()` -> `JewelTheme.typography.<member>` (`org.jetbrains.jewel.ui.typography`); the members are now composable properties instead of functions. * Reintroduce a shared `TextStyle.copyWithSize` extension in `adt-ui-compose` that preserves the removed helper's line-height behavior (`fontSize * 1.3`, the former `Typography.DefaultLineHeightMultiplier`), and use it from both `InfoMarkdown` and `ComposeChooseAndroidProjectStep` instead of duplicating the calculation. * `InfoMarkdown` now calls the `Markdown` overload without the ignored `onTextClick` parameter and passes `processingDispatcher` (renamed from `renderingDispatcher`). Its own `onTextClick` parameter is kept so callers are unaffected; it was already a no-op. * `LocalComponent` moved from `org.jetbrains.jewel.bridge` to `org.jetbrains.jewel.foundation`; update the imports in the `avd` module. No behavior change. (cherry picked from commit 2dffc1f575d13d1f7c3306247ed536df9ac8fdf1) (cherry picked from commit 70f32d660b1fb7aa585f97a3eacfe9702743ee1f) IJ-MR-215743 GitOrigin-RevId: e20eb21b764cd36ddbe2e4b9afeb9a3a5f7648d6
Compose paste action updates could traverse the Compose semantics tree from BGT even though Compose UI tree access is EDT-confined. This made action updates vulnerable to transient semantics tree inconsistencies while Compose was mutating layout state. Run the paste provider update on EDT and make focused semantics lookup fail closed for the observed transient nullability failure. The lookup still behaves as no focused Compose component being available, avoiding noisy action-update errors. Add focused coverage for the provider update thread and fail-closed semantics lookup behavior. closes JetBrains#3570 (cherry picked from commit 27c0d0d293c6564330177a14513119ba8b37ac36) (cherry picked from commit dbf73d9a52504935b63530ce5ed8450d4833bfb4) IJ-MR-215743 GitOrigin-RevId: 5be520dc5115066833eaab6196f5bf430ed6081a
closes JetBrains#3568 (cherry picked from commit 49f653fd7b2791fa15fcc494b3cfb0232ecfc038) (cherry picked from commit 95ccee3cd391b3a35140290f143d99688b0a676f) IJ-MR-215743 GitOrigin-RevId: 55c895cb23d36e19989f5becf91bf6b739792d35
Add a project-local agent skill documenting Jewel Markdown rendering, so agents working under platform/jewel/markdown have grounded guidance instead of guessing at the experimental API. The skill (.agents/skills/jewel-markdown) covers the two-stage parse/render pipeline, the decision between styling, custom renderers, and extensions, the existing GFM extensions, and how to write custom block/inline extensions. It adds topic references for code highlighting, image loading (including the sized-image support), embedded HTML conversion, and editor-preview scroll sync, plus an eval suite. References point at in-repo sources rather than a duplicated API map, since the sources are authoritative and a static index would drift. Also refresh platform/jewel/markdown/README.md to match current reality: image loading via the Coil 3 extension is supported now, so move it out of the roadmap list and drop the stale "images are not supported yet" note. closes JetBrains#3545 (cherry picked from commit b2ed64698f1a67d427f1fb7fa8ac48c1b8780b74) (cherry picked from commit 2d6bf07ddd75dc0ad957ad8254676217c81e2c33) IJ-MR-215743 GitOrigin-RevId: 7fe40ceecc4d909369c6b16672c96bba971e45b9
SpeedSearchableLazyColumn could select the second match instead of the first when the item that was selected before typing got filtered out of the results. It surfaced as a flaky, CI-only failure in SpeedSearchAreaFilteringTest. The scroll effect that decides the selection and the list re-filtering run on independent reactive graphs with no ordering between them. When the re-filter cleared the selection before the scroll effect ran, the "closest visible match to the current selection" step produced nothing (there was no selection left to anchor to) and control fell through to the branch meant for off-screen matches, which selects the first match after the last visible item instead of the first match. Fall back to the first visible match when there is no selection to anchor to, so the first result is always selected regardless of which reaction wins the race. This matches the IntelliJ Platform behavior, which also resolves to the top row when the previously selected item leaves the filtered set. Document the full selection algorithm on the scroll effect: a forward scan from the top of the viewport that wraps to the top of the list, mirroring Swing's SpeedSearchBase.findElement rather than ListWithFilter's always-select-row-0. Add a regression test that reproduces the losing interleaving deterministically by clearing the selection before typing, and three tests pinning the viewport rule with matches inside, only below, and only above the viewport. closes JetBrains#3564 (cherry picked from commit 8683754e04bfb94f6eab8394c3fea5d1c53a95d0) (cherry picked from commit 522e653658ba06e64a432835d51df338f034ec9d) IJ-MR-215743 GitOrigin-RevId: dfb04284a5537052ba05a6205dd57bb5edb48134
…el POMs
Jewel Standalone consumers hit `NoClassDefFoundError: com/intellij/platform/icons/IconManager`
at IntUiTheme startup because the generated POMs did not declare the Icons API modules
(`com.jetbrains.intellij.platform:icons-api` / `-api-rendering` / `-impl`), forcing consumers
to wire them by hand.
The POM generator's `patchDependencies` had no branch for the `com.jetbrains.intellij.platform`
groupId, so the icons dependencies fell into the implicit `else` and were silently dropped.
Emit them as `compile` dependencies instead: the icons-api types are part of Jewel's public API
(e.g. `Icon(...)` and the `iconKey(...)` DSL in jewel-ui), so `compile` is required for downstream
compilation and also mirrors the Gradle `api(project(":jb-icons-*"))` wiring.
Because `patchDependencies` receives a module's direct dependencies, this naturally scopes the
change to `jewel-ui` (icons-api, icons-api-rendering, icons-impl) and `jewel-int-ui-standalone`
(icons-api, icons-impl); other Jewel modules receive the icons transitively. The icons artifacts
themselves are already published to Maven Central by the earlier JEWEL-1354 work.
Add a regression test in MavenArtifactsBuilderTest that drives the public
`mavenArtifacts.patchDependencies` hook for `intellij.platform.jewel.ui` and asserts the icons
dependencies survive as `compile` with transitives; it fails without the generator fix.
(cherry picked from commit c5b8cdc2a7397a2eb23ad6aef4b1e5daaf3f6527)
IJ-MR-215743
GitOrigin-RevId: 84580c1f2537ab357c5cf7fea5e16bf8d6aaa867
Record the two Jewel Standalone hotfix patch releases on master: add their `RELEASE NOTES.md` entries and their Metalava API dumps (28 files each, both the stable and the experimental surface). Both releases exist to carry the JEWEL-1374 fix that declares the Icons API modules (icons-api / icons-api-rendering / icons-impl) as dependencies in the published Jewel Standalone POMs, so consumers no longer hit NoClassDefFoundError for IconManager at IntUiTheme startup. The hotfixes changed packaging only, not code: no API was added, removed or modified relative to 0.39 and 0.38. The 0.39.1 and 0.38.1 dumps are therefore byte-identical to the 0.39.0 and 0.38.0 ones. This is release metadata only. `jewel.release.version` deliberately stays at 0.40.0, and neither the generated JewelApiVersion nor the generated IntUi theme definitions are touched, so the current development version is unaffected. (cherry picked from commit 8fa9a953c36d649bc26a24ea07916a4048bb7b8e) IJ-MR-215743 GitOrigin-RevId: b398546e6fc0eb59d982b86cc09e7fe1293a0f1f
Adds portable Jewel typography helpers for default, editor, and console text styles so UI code can use JewelTheme.typography instead of platform-specific bridge or standalone APIs. Keeps bridge font-size requests aligned with Swing/editor font metrics for sp sizes while preserving proportional em sizing, and updates Jewel metalava API dumps. closes JetBrains#3567 (cherry picked from commit 3cc71cfcb53376a39dbaf0dcec39f602ec74c28c) IJ-MR-215743 GitOrigin-RevId: 021c57bfc742f18bba531943e113bde3e1ac3402
(cherry picked from commit d41e77d3ec242375ccba9725c23ba275f56163b8) IJ-MR-215743 GitOrigin-RevId: d7a2c915903f6d98288f99041cc17df55cdcae40
…rsion The generated `IntUiLightTheme` and `IntUiDarkTheme` carried the `IJP 263` header inherited from master, while this branch builds against `262.SNAPSHOT`. Regenerating them realigns the header with the branch's `build.txt`. Only the generator header comment changes; all palette values are identical, so this has no effect at runtime. The 0.38.1 and 0.39.1 release preparations made the same realignment on their respective branches. (cherry picked from commit 8efed54fdcd21134418238b48dc2110774011279) IJ-MR-215743 GitOrigin-RevId: 681c306cf6afcf0048be030a5788c56961278ae1
… lost 🍒 Cherry-picked from review IJ-CR-217426 Merge-request: IJ-MR-217460 Merged-by: Denis Mashutin <[email protected]> GitOrigin-RevId: 3fd2594ddbe73b76bf663e2c3aef901dfc36dcbe
(cherry picked from commit cf1f80ac5cea33ed0b30d701af61d484a4b7d7ea) IJ-MR-220269 GitOrigin-RevId: 58f9acef11a4598b973b4c448a53666eeb3630d4
- Python 3 - `__file__` is always `*.py` - Python 2 - `__file__` could be `*.pyc` if the file is `*.pyc` - `... in step_files` will fail, hence why the relevant test `test_only_step_modules_are_reimported` fails on Python 2 (cherry picked from commit 1ab51b37debb41df12b04a10ff0945b996b8c0ec) IJ-MR-220056 GitOrigin-RevId: 75d535845f2aaef9303388b114d20c8cc2f71a9d
https://buildserver.labs.intellij.net/build/1043681942 GitOrigin-RevId: 7e5618e7dffeba7055967ab0be789e312a01d15b
https://buildserver.labs.intellij.net/build/1045111420 GitOrigin-RevId: 9a6ed449723ec329e3a570d1570617c42e740a1a
(cherry picked from commit 90aa631b16cc30fafb86a558f6b3c73aa410d4fd) IJ-MR-220953 GitOrigin-RevId: ca18177a17fcfb6341068539d79a099161da8325
The debugpy launch configuration is assembled outside PythonCommandLineState.startProcess, and it applied the run configuration's own environment variables after the entries the IDE contributes. A PYTHONPATH typed into Environment variables therefore replaced the content roots, the source roots and the interpreter's added paths rather than extending them, and the debuggee failed to import a project module. Run mode and the pydevd backend order the two the other way round, in PythonCommandLineState.initEnvironment. Contribute those entries after the configuration's own variables, through PythonEnvUtil.initPythonPath, so the typed value keeps its precedence and the roots are appended to it. This also preserves a PYTHONPATH coming from an env file, which the previous helper dropped by seeding its merge from getEnvs() alone, and passes isPassParentEnvs instead of an unconditional true so the system PYTHONPATH is not folded in when the debuggee does not inherit the parent environment. The PythonCommandLineState.buildPythonPath(configuration, passParentEnvs) overload was added for this single caller and now has none, so it is removed instead of reshaped; the composition lives next to the launcher that needs it. IJ-MR-220448 Merge-request: IJ-MR-220658 Merged-by: Maxim Popov <[email protected]> (cherry picked from commit b3c6145c73291ddf81c3c6a4479dee7572b16a45) IJ-MR-220658 GitOrigin-RevId: a029e9cf611edca8f4d104eaf3f7b0ecdeb4546d
(cherry picked from commit 80c80d51b4f1b8122f4d3087425c2990a9c1ed57) IJ-CR-220943 GitOrigin-RevId: f215610bbb4700f00eb6430ea1399886b4f5e802
…tes with local source In split mode updates are coming from CombinedPluginUpdateHandler which already have correct source set. (cherry picked from commit 1b1f23880e058073ae05468d36c14a52f84c2e1f) IJ-MR-220930 GitOrigin-RevId: 70c544cee932d2cfee5d7e3107b932d4f7fd40b7
(cherry picked from commit 7c562ac1a113bdc44690488b112c17cbf42b4063) IJ-CR-220618 GitOrigin-RevId: bd19a2fd5148c95702025c57b5609c64085ae6aa
…nd 11; add matrix project tests (cherry picked from commit e87ac16cfdd2209fd0398be144e9ae2f702813f2) IJ-MR-220738 (cherry picked from commit bb01bd937bfd8ff20b02d53d77c46e746b5b3d13) GitOrigin-RevId: 20f68969418b5330b34fc07ac771ef38a5ffd401
…backend never finishes (SerializationException: subclass 'Repository' not found in polymorphic scope of 'PluginUpdateSourceId') (cherry picked from commit 5ff09f6bfa8f70144e0517659d7a0eac9d004cba) (cherry picked from commit c78af0002db9e52a97dc6916c8c105ad925375ad) IJ-MR-221282 GitOrigin-RevId: dfed50865406460912eaf38872d10dc83951e7b3
…eSourceId (cherry picked from commit 8312cd37453caba943ad82b0d2331f85da657f10) (cherry picked from commit 02804e99af3ad1c0f5d3aaf371b389f3f996c2a7) IJ-MR-221282 GitOrigin-RevId: 82e36cd48a266be362a8dd2f3a312bcc0b3a0424
https://buildserver.labs.intellij.net/build/1048338429 GitOrigin-RevId: c04e634c9ab7b935eaebad8fccb4cea81cef57ea
https://buildserver.labs.intellij.net/build/1048385896 GitOrigin-RevId: 97ead5349ddc28360af9effb18efb4b5172993ee
…s off PyCharm failed with `NoProjectStateHandler not found, but it must be registered` when a user opened an .ipynb file from Finder while the IDE was not running. Two gates disagreed. The provider claimed the file from the registry key `welcome.screen.open.files`, which defaults to true. The only registered `NoProjectStateHandler` declines when the advanced setting `welcome.screen.non.modal.enabled` is off, so the `requireNotNull` threw. PY-89419 made this reachable, because it writes that setting to false for a paying user. The provider now checks the setting too. A paying user gets the default file opening path instead of the Welcome screen project. The test module needs `intellij.platform.welcomeScreen` to instantiate the provider. This fix is for 262 only. IJPL-249071 removed the handler call on master, so master opens the Welcome screen project for every user and must not get this gate. (cherry picked from commit 8b180e632c3832fd7bdf34e26bbfdbc931e5e5ab) IJ-MR-221009 GitOrigin-RevId: 388058443109958124cd6d61297003c4ec56969a
https://buildserver.labs.intellij.net/build/1048393400 GitOrigin-RevId: aff9e9abc58600eacaced6fff4e7bfdf6c27d5dc
https://buildserver.labs.intellij.net/build/1048412858 GitOrigin-RevId: 5469e94c8fed23c6ceb013853eabec8f3bb825f5
https://buildserver.labs.intellij.net/build/1048437359 GitOrigin-RevId: c21a6ec6990ae620387ece2f05ba099625a1cd69
Do not wrap coroutine cancellation in IOException when EEL-backed filesystem operations are interrupted. Propagate the original cancellation so callers abort consistently with local NIO operations. (cherry picked from commit 0ac38a910fc751bbaba00d8db228809e8cac03c1) (cherry picked from commit 2f1977dc867f8b22a23c3af941d0d0e4bf5ae5d8) IJ-MR-221109 GitOrigin-RevId: f0b5d83b23261d0fe023fc5912e24235f4df553a
…cking out a branch (#317) Co-authored-by: detachhead <[email protected]> (cherry picked from commit 73e6f74)
Co-authored-by: detachhead <[email protected]> (cherry picked from commit 5fe9b15)
(cherry picked from commit c089d64)
Co-authored-by: detachhead <[email protected]> (cherry picked from commit 0475ae0)
this was leftover from the old way rebased versions worked. now that the build number is preserved from upstream, this check can be added back This reverts commit 3db6595. Co-authored-by: detachhead <[email protected]> (cherry picked from commit 2630967)
* fix "The 'Core' plugin (ID: 'com.intellij') was not found" error when debugging plugins with Rebased * fix tests * document how to debug plugins with rebased --------- Co-authored-by: detachhead <[email protected]> (cherry picked from commit 4b86f65)
# Conflicts: # BUILD.bazel # intellij.idea.community.main.tests.iml # plugins/kotlin/compiler-reference-index/tests.k2/BUILD.bazel
…Tabs" and "Close Other Tabs" actions don't work when the non-closable log tab is present in the editor window (#346) * fix regression (introduced when merging 2026.2) where the "Close All Tabs" and "Close Other Tabs" actions don't work when the non-closable log tab is present in the editor window * update `FileEditorManagerTest` tests for the rebased-specific file closing logic * enable `FileEditorManagerTest` tests in ci --------- Co-authored-by: detachhead <[email protected]> (cherry picked from commit 326102e)
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.
No description provided.