Commit Graph

31707 Commits

Author SHA1 Message Date
Morgan Bartholomew
ba3ef61694 [python] PY-81789 filter unhelpful declarations for GTD
(cherry picked from commit 0fba00400382b32bbdbb1d6112126b4097895f2f)

IJ-MR-165350

GitOrigin-RevId: dd3ce79429be222443d8d2d17b490670f84800f9
2025-06-23 12:19:07 +00:00
Aleksandr.Govenko
6185c1b0f3 PY-81030 Stuck when editing code, high CPU usage
(cherry picked from commit 0c4f6c91655503524722d59b363f60e1d289898c)

IJ-MR-166267

GitOrigin-RevId: fd7b2e941f3d7fdfdfee6623be056d0fe50f83cb
2025-06-23 00:19:47 +00:00
Natalia.Murycheva
9df97f10c1 [PyCharm Tables] PY-80834 Added import
(cherry picked from commit 49ea87f4a21a6fa37cfe71e9aa36f84e4a73c856)

IJ-CR-166515

GitOrigin-RevId: 0ea3f9f8738fcc6045fafe61926c6ae82f8f72f5
2025-06-22 09:32:51 +00:00
Natalia.Murycheva
2e77b25c30 [PyCharm Tables] PY-80834 Fixed tables test data (part 2) and fixed the Iterable import for Python 2
(cherry picked from commit 990df1ada340084b65f83a051125ea77cf3da8f9)

IJ-CR-166515

GitOrigin-RevId: a2193fd4dd7a5bab3eface3ac1f1e6b0a1094563
2025-06-22 09:32:51 +00:00
Natalia.Murycheva
0e20868e92 [PyCharm Tables] PY-80834 Fixed test data and tests
(cherry picked from commit c1c344c53e2ec1ad91e423f59c4f062c25678f39)

IJ-CR-166515

GitOrigin-RevId: 152abd4bbb6df85b9fa3a373f8992898864348e8
2025-06-22 09:32:51 +00:00
Natalia.Murycheva
efc74aaa70 [PyCharm] PY-81071 Moved the "Console" settings page that was forgotten
(cherry picked from commit dafc5198798259520186c2e05c7a84f9d89df2c8)

IJ-CR-166515

GitOrigin-RevId: 1ea4b9574368f9ff6a1d300b1d4932c4dbf1819b
2025-06-22 09:32:51 +00:00
Natalia.Murycheva
84549d7bdf [PyCharm] PY-81850 Python Settings follow-up improvements #PY-81850 Ready for Merge
* Added a description for the "Python" group of Settings
* Added a description for the "Type Renderers" settings page
* Added a description for the "External Documentation" settings page
* Added a helpId for the "Type Renderers" settings page


(cherry picked from commit 29e93e8dd7fc7f54adea825b60cf8d95540fc6b0)

IJ-CR-166515

GitOrigin-RevId: f8fd3f2ca9d6e2d34077a5424673adeb66bc05d1
2025-06-22 09:32:51 +00:00
Natalia.Murycheva
35b419badd [Debugger] PY-81950 Flaky error: AttributeError: 'tuple' object has no attribute 'startswith' #PY-81950 Ready for Merge
* Added additional type-check in the is_real_file function


(cherry picked from commit 8cec0ce0ce98eba7fce2c75a1352675e36b84d87)

IJ-CR-166515

GitOrigin-RevId: c592571ff2c3e81eaf21d948a614d3af7644333f
2025-06-22 09:32:51 +00:00
Pavel Karateev
f89d1968f6 PY-82027 explicitly declare _pydevd_bundle.tables package in setup.py
(cherry picked from commit 3ff86206e954575716a141388dd2574e2aec1482)

IJ-MR-166129

GitOrigin-RevId: 22a9c8ed010fdb90aa2e96e6df386d5a2f349052
2025-06-20 17:40:42 +00:00
Nikita Ashihmin
05e32e764d PY-19974 Packages: Add conda envinroment.yml support, refactor sync methods
Signed-off-by: Nikita.Ashihmin <nikita.ashihmin@jetbrains.com>


Merge-request: IJ-MR-164824
Merged-by: Nikita Ashihmin <Nikita.Ashihmin@jetbrains.com>

GitOrigin-RevId: 85cbf7b873742ded72029af1f4ff3e34af9bae22
2025-06-17 00:18:33 +00:00
Vitaly Legchilkin
edb8cb5a9c [python] remove Tools / Sync Python Requirements Action (PY-80364)
GitOrigin-RevId: b37a9a8bb7cd6e73e69856d9fcc5a510bb7c001f
2025-06-16 16:41:12 +00:00
Vladimir Krivosheev
c16c64e766 IJ-MR-162467 don't export intellij.platform.jps.model.serialization
GitOrigin-RevId: 4c70b0e49def83b78d1daf23c50bed6b7f41cb57
2025-06-16 14:54:15 +00:00
Mikhail Golubev
4f52bfea7a PY-79488 Automatically exclude root-level ".venv" directories in uv projects
GitOrigin-RevId: 1aa3befee0151ed6dce480ecaa7aef1e32ed9a3c
2025-06-16 14:03:36 +00:00
Mikhail Golubev
5524cf2451 PY-79488 Don't report a uv module SDK associated with a workspace root
All uv workspace members and its root share the same virtual environment.
When configuring an SDK for one of the corresponding modules with a quickfix,
we now associate it with the workspace root and then don't report for member
modules that their SDK belongs to the root module.

GitOrigin-RevId: a7778e302b9a86b4b446c4300524505ea500ea57
2025-06-16 14:03:36 +00:00
Timur Malanin
4cc34127cf PY-80189 Replace PyPackagesTable with tree-based PyPackagesTreeTable.
Migrated to a tree-based UI for managing Python packages, replacing the previous table-based implementation. This change introduces `PyPackagesTreeTable`, consolidating UI functionality and improving package management UX. Removed redundant table-based classes and refactored associated functionality.


Merge-request: IJ-MR-164644
Merged-by: Timur Malanin <timur.malanin@jetbrains.com>

GitOrigin-RevId: 6e99398f0aa970806428221c194d09185554d2f5
2025-06-16 13:38:02 +00:00
Vladimir Lagunov
230ec9b156 IJPL-190497 Eel: Rename EelDescriptor.{platform,osFamily}
GitOrigin-RevId: 8f50c3d0adf900298ec54b3e89c539da9c806909
2025-06-14 23:58:35 +00:00
Vladimir Lagunov
0c5c2a29db IJPL-190497 Eel: introduce EelOsFamily
GitOrigin-RevId: 85dc13d238d63f620c799a6e52f6cf50e87fd2b6
2025-06-14 23:58:35 +00:00
Vladimir Krivosheev
b935234c91 IJ-MR-162467 don't export intellij.platform.projectModel
GitOrigin-RevId: 11c0bf5ca0f3a6d892658a2b149d85cace9aa2b8
2025-06-14 13:00:48 +00:00
Ilya.Kazakevich
cd9fd36b44 PY-81939: Do not show the full log on exec error dialog.
`PyError.message` contains the full log: all `orReturn("some text")` messages.

While they help user sometimes, some of them duplicate otuput and mustn't be displayed two times.

GitOrigin-RevId: 9a726cfcc8cb6b23825adc5d7dd505e1b8afd9c2
2025-06-14 03:52:50 +00:00
Vladimir Krivosheev
ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +00:00
Petr
31c71642fd PY-81471 Move PyLineWrapPositionStrategy to python.syntax.core
GitOrigin-RevId: 998a62f09ee1e2fed512c5ae8c8cfed8808c947f
2025-06-13 20:21:12 +00:00
Petr
e7a8716848 PY-81471 Move PythonCommenter to python.syntax.core
GitOrigin-RevId: a4d6c426f104f67c0bf95b15b321c101590c5142
2025-06-13 20:21:12 +00:00
Petr
a977877a92 PY-81471 Move PyJoinLinesHandler to python.syntax
GitOrigin-RevId: b6dc592a7eb09ee52547c591b4e5494eca4683ed
2025-06-13 20:21:12 +00:00
Petr
e33aae05fc PY-81471 Move PyStatementMover to python.syntax
GitOrigin-RevId: c9cb03c1bb97720c392ea482765790674f27b647
2025-06-13 20:21:11 +00:00
Petr
748017efe4 PY-81471 Move PythonColorsPage to python.syntax
GitOrigin-RevId: 402caeea59f52bde6cb93c6c9964efc770516bd9
2025-06-13 20:21:11 +00:00
Petr
aa82ce5f70 PY-81646 Get rid of EMPTY_EXPRESSION nodes within SLICE_ITEM
GitOrigin-RevId: 6ffe0027790bb41b8ac18251903529aa1b1243f6
2025-06-13 18:59:31 +00:00
Petr
ff19de5654 PY-81646 False positive: Unresolved references after any slice in Python for the rest of the line
Fixed AST for PySubscriptionExpression containing a slice.
Before PySubscriptionExpression.getIndexExpression() returned only the first slice expression (if any).

Also fixed PySliceItem's subtree, so now its children are correctly mapped to lowerBound, upperBound and stride properties.

GitOrigin-RevId: 840af92957d0431679cf7a477866dea76320ca80
2025-06-13 18:59:31 +00:00
Aleksandr.Govenko
b0ca1ef976 [python] PY-81674 Highlight all unreachable code gray
GitOrigin-RevId: 5a8dba3a51b7e9d415deb5401213ad3b79ddd3c5
2025-06-13 16:56:16 +00:00
Nikita Ashihmin
1480554414 PY-81864 PyPackages: Move saved requirements.txt path from module to sdk
Signed-off-by: Nikita.Ashihmin <nikita.ashihmin@jetbrains.com>


Merge-request: IJ-MR-165494
Merged-by: Nikita Ashihmin <Nikita.Ashihmin@jetbrains.com>

GitOrigin-RevId: fc852bf8db5ebda9a138c2b7cc2f096143adce7b
2025-06-13 15:38:02 +00:00
Natalia.Murycheva
89b0fbb41e [PyCharm Tables] PY-80834 Rewrite computation of statistics for statistics headers #PY-80834 Ready for Merge
Reworked how statistics are computed for table headers to improve performance.

Motivation:
- Columns with iterable values (e.g. lists, np.arrays) cause `.describe()` to take ~30 seconds even for small columns.

Solution:
- Added a check to skip `.describe()` for columns where fast summarization is not possible.
- Computation used for visualizations remains unchanged.

GitOrigin-RevId: 46b3678cd7a0a3a0779fe4ae799a150f0b5255eb
2025-06-13 10:34:15 +00:00
evgeny.bovykin
1057b10afa Move Python Stub Packages Advertiser statistics group to the community python module
It's being used in by PyStubPackagesAdvertiser, which is also in the community

GitOrigin-RevId: 7b2c8180b81183928f1adc05fda041ddb421a429
2025-06-13 09:43:54 +00:00
Suzy Kostumyan
bf2ef37fb3 Update group version for "python.sdk.addNewEnv"
GitOrigin-RevId: a20d30ee3c697e04569c3ce761835c48a236904f
2025-06-13 08:20:47 +00:00
Alexander.Kass
f06e48cd67 ds: do not call DataSpell free
GitOrigin-RevId: c9926d28c2267118f86631323803ba0a203610e6
2025-06-13 08:20:20 +00:00
Natalia.Murycheva
ffd8b2c0b9 [PyCharm] PY-81850 moved type renderers to the debugger page
GitOrigin-RevId: d63578a090d5a7e6dabfcb7efa9bcbcd5bb4069f
2025-06-12 22:18:48 +00:00
Vladimir.Koshelev
be20db0c55 SID-73: single IntelliJ IDEA distro
IJPL-182235: return a plugin dependency to avoid CNFE [spring.data] -> [spring.el.contexts]

SpringDataQLInjectorBase in spring-data uses ElTemplateParser class from com.intellij.javaee.el

Merge remote-tracking branch 'origin/master' into singleDistro252

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt

[remote-driver] Simplify JBA login in tests

Replaced repetitive inline browser handling code with `logInToJba` helper method.

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-182235: filter out plugins that depend on explicitly disabled ones

Do not try to enable plugins that have at least one direct or transitive non-optional dependency in disabled_plugins.txt

[patronus] IJI-2659: add plugins/ultimate-plugin to rider.rules

Merge remote-tracking branch 'origin/master' into singleDistro252

[integration tests] IJPL-182235: do not disable paid plugins on startup in WarmupIntegrationShortTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in DynamicNonBundledPluginsTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in DynamicLoadingDatagripPluginTest

[remote-driver] IJPL-182235: do not disable paid plugins on startup in ToolWindowsUiTest

[remote-driver] IJPL-182235: do not disable paid plugins on startup in StatusbarTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in workspace model integration tests

[remote-driver] IJPL-182235: do not disable paid plugins on startup in UpdateRequestTest

IJPL-182235: add an option to not disable paid plugins on startup in tests

IJPL-182235: make shouldStartWithPaidPluginsDisabled a bit more readable

[remote-driver] Add license tests tags and suites

[remote-driver] Improve BaseLicenseUiTest data cleanup for local run

[remote-driver] LicenseDialogUi Cleanup

[remote-driver] Extend AuthDialogUi with DialogUiComponent

Replaced UiComponent with DialogUiComponent as the base class for AuthDialogUi

[remote-driver] Add EAPLicenseUiTest

[remote-driver] Rename `TokenAuthDialogUi` to `AuthDialogUi`

IJPL-189370: change EAP expiration logic in unified builds to the standard one

IJPL-182235: do not disable the Ultimate plugin on IDE startup in EAPs

!fixup [remote-driver] AT-2142 Create single distro license tests

[remote-driver] AT-2142 Create single distro license tests

IJPL-187422 fix empty system name for license expiration dialog

[remote-driver] Add UI test stubs for single distro licenses

AT-2142 Add trial license generation support in tests

Implemented a new method to generate trial licenses

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	build/expected/ultimate-content-platform.yaml
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/ListPluginComponent.java
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginModelFacade.kt

AT-2129 Add a test for loading an ultimate plugin after activating the IDE

IJ-CR-164880

IJPL-187743: replace reference comparison with `Objects.equals` for String in isFromSubscriptionExpirationDialog

String references *may* be reused, but it seems like it doesn't happen in built installers, so let's use a more reliable equality check

IJPL-184018: "Continue and Restart..." in the force choice dialog should restart the IDE

IJPL-187785: call dry run trial license on startup once a day even in the TRIAL_AVAILABLE state

If the user hasn't accepted the trial yet, and it's no longer available, update the state

IJPL-187785: don't call dry run trial license more than once a day

Even in the error state

[singleDistro] move com.intellij.frameworkSupport extension point to lang module from java

Without that we will consider database plugin as non-dynamic for IDEs without java plugin since it requires com.intellij.frameworkSupport  EP, but it is not loaded.

Add plugins/ultimate-plugin to executeOnChanges for Kotlin Ultimate and RubyMine Tests (IJI-2659)

PatronusConfigYamlConsistencyTest failed after merging the latest changes from master

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/src/checks/rustrover/RustRoverTestsAggregator.kt

Add plugins/ultimate-plugin to executeOnChanges for RustRover Tests in .patronus/.../RustRoverTestsAggregator (IJI-1562)

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/src/main/org/jetbrains/intellij/patronus/gen/checks/rustrover/RustRoverTestsAggregator.kt
#	community/platform/platform-impl/api-dump-unreviewed.txt
#	community/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt
#	community/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt
#	plugins/llm/javaee/spring/mvc/BUILD.bazel
#	plugins/llm/javaee/spring/mvc/intellij.ml.llm.javaee.spring.mvc.iml
#	ultimate/ultimate-resources/resources/META-INF/plugin.xml

PY-81389, PY-81220 The "Trial" widget appears in the EAP builds

IJPL-187601 Licenses: Log out should propose restart only if there is a subscription

PY-81389, PY-81220 The "Trial" widget appears in the EAP builds

IJPL-187785: show the error state in the trial widget only when dry-run failed for the user eligible for auto trial

either a new user or a user with an old enough config (at least 6 months)

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-187785: add an error state for the trial widget

IJPL-182435: do not execute trial acquisition with Ultimate plugin enabled

IJPL-186844: convert groovy duplicates detection to content modules

IJPL-186844: check class loaders in checkCanUnloadWithoutRestart for optional dependencies

Co-authored-by: Vadim Salavatov <vadim.salavatov@jetbrains.com>

Revert "IJPL-186844: do not process non-optional module dependencies when onlyOptional is true in processDependenciesOnPlugin"

This reverts commit 411880ca36cc6d7c70222c1d0086119e8ffbf7fd.

IJPL-183884: adjust dynamic plugins test

The previous version led to `ClientSessionsManager is registered as application service, but requested as project one` errors in some other tests when running on TeamCity

Update Bazel files

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/config.yaml
#	.patronus/src/main/org/jetbrains/intellij/patronus/gen/checks/rustrover/RustRoverTestsAggregator.kt

IJPL-182235: remove extra compile dependencies from llm spring modules [spring.data] -> [spring.el.contexts]

Reported by `IdeaUltimatePluginModuleDependenciesTest.testPluginModuleDependencies` for `intellij.ml.llm.javaee.spring.data` and `intellij.ml.llm.javaee.spring.mvc`

Add plugins/ultimate-plugin to executeOnChanges for RustRover Tests in .patronus/config.yaml (IJI-1562)

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-api/resources/messages/IdeBundle.properties
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt
#	licenseCommon/source/com/intellij/ide/license/impl/UnifiedLicenseManager.java
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-183257: rename AutoTrialForNewUserProjectActivity to TrialProjectActivities

IJPL-183257: break AutoTrialForNewUserProjectActivity into separate activity classes

IJPL-183257: load paid plugins on the New project wizard opening in PyCharm

- for new users when trial is available
- for logged-in users when an active license was found

IJPL-183257: convert PyCharmNewProjectAction to Kotlin

Rename .java to .kt

IJPL-183257

IJPL-183257: load paid plugins on the New project wizard opening in IDEA

- for new users when trial is available
- for logged-in users when an active license was found

IJPL-183257: try loading paid plugins on the Licenses dialog closing

If the Ultimate plugin is still enabled on close (there's an active license), the plugins will be loaded if needed

IJPL-183257: execute trial check as early as possible

Make TrialStateService an applicationService that is preloaded on app start instead of a light service that is loaded on first access from the widget after the project opening

IJPL-187204 Disable the "Enable" btn in the Marketplace tab for Ultimate plugins

IJPL-187743 Force choice dialog should reappear if Manage Subscriptions is closed without activating

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-api/resources/messages/IdeBundle.properties
#	community/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java

IJPL-187740: move project activity into DynamicPaidPluginsService, get rid of PropertiesComponent usages

IJPL-187733 Manage subscription dialog is opened multiple times after closing plugin manager

IJPL-187763 Wrap the message in Plugin available with subscription

IJPL-187740: rename DynamicPluginsService to indicate that it is about paid plugins

IJPL-187740: move DynamicPluginsService to the platform

IJPL-183257: add more logs for loadPaidPlugins

IJPL-187412: do not show the Licenses dialog right after enabling the Ultimate plugin

No delay resulted in showing the dialog while issuing a trial license. Successful trial acquisition should be "silent"

Related ticket: IJPL-177912 - Add an action to activate paid mode

IJPL-187412: execute an anonymous trial dry-run when userId is null (not logged in)

IJPL-182435: make pluginKey `@NotNull` in `shouldObtainLicenseAutomatically`

Avoid possible NPEs on pluginKey if the subclass doesn't check it

Merge remote-tracking branch 'origin/master' into singleDistro252

SID-87, IJPL-187565 Fix Activate subscription buttons to call an action instead of URL

SID-87: Update vision pages to new design

IJPL-182252: extract trial availability check to a separate function

IJPL-182435, IJPL-182252: add logs for trial availability check and auto-trial

IJPL-187424: remove got-it tooltip for trial grace period state

IJ-CR-161922: put all method parameters on separate lines

IJPL-183891 UI: Adjust license management dialog to work with subscription

Adjust trial days message logic and tooltip handling

Unified message formatting for trial days left. Replaced distinct messages for "1 day" and "0 days" with a single format using choice logic. Updated tooltip logic to ensure `remainedDays` is always non-negative.

IJPL-182235, IJPL-187253: schedule paid plugins loading synchronously with the non-modal modality state

If invoked in the background, it might lead to races between Ultimate plugin unloading on Continue for free and scheduled loading on activate/restore license

IJPL-186903: fix an exception on plugin unloading when the Licenses dialog is shown

IJPL-186901: fix exceptions on plugin loading when the Licenses dialog is shown

IJPL-182235, IJ-CR-161922: add an overload for `DynamicPluginEnabler.enable` to pass a progress title

Simply wrapping the call in `withModalProgress` doesn't show the progress

IJPL-186920: activate a license if it is found during the trial availability check in the free mode

IJPL-183891 UI: Adjust license management dialog to work with subscription

IJPL-186844: do not process non-optional module dependencies when onlyOptional is true in processDependenciesOnPlugin

Co-authored-by: Vadim Salavatov <vadim.salavatov@jetbrains.com>

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateUtils.kt

IJPL-182435, PY-79495: remove commercial.license dependency from trialPromotion

IJPL-182435, PY-79495: make register Pro/Ultimate trial silent action when possible

IJPL-182435: automatically start a trial for a completely new user

IJPL-182435: factor out ConfigImportHelper.getConfigLastModifiedTime utility function

IJPL-183132 Trial widget: non customizable action

Merge IJ-MR-161630: IJPL-182252: Do not propose trial if the user had any other license active during the last 4 months
IJPL-186755 Add exit app option to restart dialog

PY-79495 Start Free Trial action on the Trial Widget

PY-79495 make register Pro/Ultimate trial silent action when possible

IJPL-186172 UI: Changes in plugin manager

IJPL-182235: load paid plugins after the project opening

IJPL-182235: extract dynamic loading of the paid plugins to a separate service

IJPL-182235: load paid plugins when valid license is restored

If the IDE is started in free mode, the user is logged in and clicked on Manage Subscriptions; a valid license might be restored (e.g.: JetprofileSource). In this case LicenseEntryModel.activateLicense is not called.

IJPL-183846: show the force choice dialog after the project opening

If no project is open yet, save the verification state for later

IJPL-183846: show the force choice dialog if IDE is started with an expired subscription

IJPL-182235 IDEA should start with paid plugins unloaded when no license is available [spring.data] -> [spring.el.contexts]

IJPL-184018 UI: Implement Subscription expiration dialog (force choice)

IJPL-182252: if the server returns any license that was active during the last 4 months, consider trial as not available

IJPL-182252: add getLicenses to JBAccountInfoService

Similar to getAvailableLicenses but includes licenses that have been expired for less than the specified expiredLicenseDays

Merge remote-tracking branch 'origin/master' into singleDistro252

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	build/expected/ultimate-content-platform.yaml

IJPL-182736: automatically open an editor tab on the first opening of the day when the trial state is EXPIRING

IJPL-182736: do not show the GotIt tooltip for EXPIRING trial state

IJPL-182736: add a separate content kind for the trial expiring today

IJPL-182252: perform trial availability check no more than once a day

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-182235: load paid plugins when valid license is activated

Try to enable and load paid plugins without a restart. If there are plugins that cannot be loaded, do not enable these plugins. Show a notification suggesting enabling these plugins with a restart.

IJPL-182235: start IDE with paid plugins unloaded

- If this is a first start:
 - load all paid functionality if there is a license file
 - disable the Ultimate plugin and don't load plugins that depend on it if there's no license file in the config
- On later starts load in free mode if Ultimate plugin is disabled

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt
#	ultimate/min/resources/META-INF/plugin.xml

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184018 UI: Implement Subscription expiration dialog (force choice)

IJPL-184018 UI: Implement Subscription expiration dialog (force choice) - extract dialog

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-183884: remove loading errors for plugins that were successfully loaded dynamically

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-182740: open an editor tab when clicking the trial widget in the TRIAL_AVAILABLE state in IDEA

Add StartTrial action that can be referenced in the Vision file;
Add a sample Vision JSON: vision-trial-available.json for IDEA;
Keep the current behaviour in PyCharm: start trial on click instead of opening an editor tab.

IJPL-182740: add a trial widget got-it tooltip for TRIAL_AVAILABLE state

IJPL-182740: remove the trial widget button tooltip when the state is TRIAL_AVAILABLE

Don't show "0 days of trial left"

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt
#	ultimate/ultimate-resources/resources/META-INF/plugin.xml

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-176012 Trial widget: incorrect popup position

IJPL-183132 Trial widget: non customizable action

Revert "IJPL-176012 Trial widget: incorrect popup position"

This reverts commit e85f8ce81bf003c3be4e564b96e185e9d02e8223.

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-176012 Trial widget: incorrect popup position

IJPL-182734 Widget: remove the Restart required state

IJPL-179915: don't suggest Ultimate plugin in Required plugins list

SID-132: Revert "temporarily bring back GeneralLicenseManager for IDEA (IJPL-179152)"

This reverts commit 71f2205b

SID-132: Revert "[trial] IJPL-179154: remove trial widget for IDEA"

This reverts commit f74bb96b

[license] update eua.html to 2.0 Legal-3233


Co-authored-by: Alexander Lobas <Alexander.Lobas@jetbrains.com>
Co-authored-by: Andrey Vokin <andrey.vokin@jetbrains.com>
Co-authored-by: Dmitriy Smirnov <Dmitriy.Smirnov@jetbrains.com>
Co-authored-by: Dmitry Yudin <Dmitry.Yudin@jetbrains.com>
Co-authored-by: Eugene Morozov <Eugene.Morozov@jetbrains.com>
Co-authored-by: Sergey Vasilyev <Sergey.Vasiliev@jetbrains.com>
Co-authored-by: Timur Aliberdov <Timur.Aliberdov@jetbrains.com>

Merge-request: IJ-MR-162974
Merged-by: Timur Aliberdov <Timur.Aliberdov@jetbrains.com>

GitOrigin-RevId: e2b4e7079c7de7f8ca046b9ddf8ed1de0215c5c2
2025-06-12 17:09:00 +00:00
Vitaly Legchilkin
a3eae2fa05 [python] remove venv/conda/custom selector for add python sdk dialog (PY-79881)
Merge-request: IJ-MR-165579
Merged-by: Vitaly Legchilkin <Vitaly.Legchilkin@jetbrains.com>

GitOrigin-RevId: 9de4cc81c81815b5a2ad230a53da9105e3af3629
2025-06-12 16:36:52 +00:00
Natalia.Murycheva
598478e28e [PyCharm] PY-81850 Follow up on the "Python" Settings pages improvements: settings pages re-ordering
GitOrigin-RevId: 8dcd8f5b62b61f4409902abaff323bf6236fcfb3
2025-06-11 23:06:31 +00:00
Alexander.Kass
ad81a4e009 ds: drop non-intractiv consoles
GitOrigin-RevId: 21569629f8a81dc12ccc47f02ae354a4dfb10bf3
2025-06-11 18:31:22 +00:00
Pavel Karateev
1ce9894d63 PY-81774 use lowercase uv for actions
(cherry picked from commit b7c60b8aba9041c98a9656e3a822f8fc8a468b71)

IJ-MR-165278

GitOrigin-RevId: 695441592759bf1f8f8186c7795088c605b64f9b
2025-06-11 17:02:33 +00:00
Pavel Karateev
6331021c68 PY-81774 use lowercase uv for lock file actions
(cherry picked from commit 5f96e07e643863594e1b27d9bd0d5e8be88dd988)

IJ-MR-165278

GitOrigin-RevId: 292ee4faf7376d3925081b4f5ba6f1eb943693b2
2025-06-11 17:02:33 +00:00
Mikhail Golubev
59577b974f PY-79488 Invert conditions in PoetryProjectModelResolver to return early
GitOrigin-RevId: 590ef130db24fe67fbaead9c9e7ce23dcdf0efd8
2025-06-11 16:54:32 +00:00
Mikhail Golubev
14d3f67525 PY-79488 Support PEP 621-style path dependencies in Poetry
GitOrigin-RevId: fd4dfce4af8ca5cad3f2fba25aaf573d4df74d1f
2025-06-11 16:54:32 +00:00
Mikhail Golubev
a2e30a6755 PY-79488 Allow external Python project systems to control their source roots
GitOrigin-RevId: c0f0966d3033867c1927e05d7073403feb195302
2025-06-11 16:54:32 +00:00
Mikhail Golubev
91e9250379 PY-79488 Recognize "src" directories inside Uv/Poetry projects as source roots
GitOrigin-RevId: 62c904fa781882c3ea5636309d7b35d9092ee5b0
2025-06-11 16:54:32 +00:00
Mikhail Golubev
dc35398ca0 PY-79488 Drop "Py" suffix from Uv and Poetry Open/Sync tests, add "Project" in their names
GitOrigin-RevId: 4709324d6489c33a8897f3561609a3fbe922ac2c
2025-06-11 16:54:32 +00:00
Mikhail Golubev
d1acb2ea7a PY-79488 Add "Project" prefix for Uv and Poetry project opening extension names
GitOrigin-RevId: f54eca61f3458439a25e5bb478e28d4f77096cc6
2025-06-11 16:54:32 +00:00
Mikhail Golubev
1a5ea1b01b PY-79488 Try automatically configuring SDK for all modules in a uv workspace
GitOrigin-RevId: 24b825b85f23ac7c6338585cfc87fbe374428779
2025-06-11 16:54:32 +00:00
Mikhail Golubev
0b6c5f164b PY-79488 Keep the information about Uv workspaces in the workspace model
Piggyback on ExternalSystemModuleOptionsEntity for the time being.

GitOrigin-RevId: 899a72018e8f72ed326078ccbc1315cb59cbe227
2025-06-11 16:54:32 +00:00
Mikhail Golubev
35c66600cc PY-79488 Expose more system-specific information in project graphs
In particular, for uv, retain the information about workspace membership.
Make discovery of nested workspace members more robust.

GitOrigin-RevId: 9af260bbb47baac9d5fec7e2b605931ceb0ce3c4
2025-06-11 16:54:32 +00:00
Mikhail Golubev
4d3376bd64 PY-79488 Get rid of the "Module" term in the API names
"External Project" is a better name. IJ Module is
an implementation detail. It could easily be another entity.

GitOrigin-RevId: d263f110d2851d11fb411ef93d973e5e05eeff05
2025-06-11 16:54:32 +00:00