Commit Graph
457556 Commits
Author SHA1 Message Date
Victor Matchenko ec2f17b852 IJPL-164852 Memory leak related to StatisticsEventLoggerProvider prevents dynamic unloading of AIA
Disposable StatisticsFileEventLogger lifecycle was bound to Application and disposed only on application close. This does not allow plugins with own implementation of StatisticsEventLoggerProvider to reload without memory leak.

Created Application and Project level coroutine scopes for Statistics.
Hold coroutine scope in StatisticsEventLoggerProvider and provide ability to override it.
Handle lifecycle of disposable StatisticsFileEventLogger with coroutine instead of Disposer#register.
Subscribe to EventLogConfigOptionsService.TOPIC using coroutine scope.

Override coroutine scope in some implementations of implementation of StatisticsEventLoggerProvider.

GitOrigin-RevId: f4efe2f589602482ab8746d06ad67bc810f973ee
2024-11-18 15:13:39 +00:00
Artem.Bukhonov 32413fb37c IJPL-171566 Use lazy-like list via PluginClassLoader.getAllParentClassLoaders() in ClassLoaderTreeChecker for the leak check
GitOrigin-RevId: 5a0f3d61b59fee4e6158e7c742d3e5290fed1053
2024-11-18 14:57:02 +00:00
Artem.Bukhonov 42b5833960 IJPL-171566 Invalidate allParents on plugin unload as much late as possible to avoid leaked unloaded class loaders via allParents property
GitOrigin-RevId: 11dda096063fbcad479ada2517a8b84f1fa9134c
2024-11-18 14:57:02 +00:00
Alexey Kudravtsev 5af6a06068 prevent contamination of find usages with unrelated results from test data
(cherry picked from commit 3672208350dbd516d7174badedf66b594f008803)

GitOrigin-RevId: 0274afdf288176481bd532acfd9d9102d154519b
2024-11-18 14:54:49 +00:00
Yuriy Artamonov e6dad83c85 [devkit] IJPL-156272 Remove duplicated freeze icons
GitOrigin-RevId: f1f6f8a3e447709aa08dce7521ee4b86b97d8472
2024-11-18 14:54:49 +00:00
Maxim.Kolmakov ac94ecbd68 IJPL-156272 Provide JavaDoc
(cherry picked from commit 49394024789207a2ec90d69f7c3750ca409386c5)

GitOrigin-RevId: 1ce58c93d3830535e41c1f50b99fac9cc7f3d573
2024-11-18 14:54:49 +00:00
Maxim.Kolmakov 65d349c8f2 IJPL-164393 Add freeze analyzer to "Analyze Stacktrace or Thread Dump" action
GitOrigin-RevId: e0bd6d31aa0ced49d6b1b6636df1f833118fd5f2
2024-11-18 14:54:49 +00:00
Maxim.Kolmakov 6196189888 IJPL-156272 Fix memory leak
(cherry picked from commit c381f4437988fa001adf472555c96f40a451e7fa)

GitOrigin-RevId: 3dd3465ebb1ce0792a672c6db29c0e1e691eb62b
2024-11-18 14:54:49 +00:00
Nikolay Chashnikov b7b594da2b [devkit] quick fix for the freeze on opening big text files in the editor (IJPL-165034)
(cherry picked from commit 034cec74b03ab3f21a078c682ec0dbde50fc2e04)

GitOrigin-RevId: ccbd1873103f2b7d2e98e3d8be3b1d1f2c1d6c5d
2024-11-18 14:54:49 +00:00
Yuriy Artamonov 7bc18981a5 [devkit] IJPL-156272 Remove duplicated freeze icons
GitOrigin-RevId: 2e398f465bacab82fdd1de2c931a142c21900302
2024-11-18 14:54:49 +00:00
Yuriy Artamonov 5c13582805 [devkit] Rename Freeze Analyzer tab to Freeze Analysis
(cherry picked from commit f5e5836ce1dbc60edb454393bd613ea70fa893c0)

GitOrigin-RevId: 1911b7bfde754e0f2e6c4c6b3f2d7e0994272737
2024-11-18 14:54:49 +00:00
Maxim.Kolmakov c43a68f093 [freezeAnalyzer] Don't try to parse coroutine dump like a threadDump since it's very different
(cherry picked from commit 5ae9e0926895b72d3db33de30c6f95ba597092c9)

GitOrigin-RevId: 92acccc63c1979e590dc0bf2eb289e4dc2d1f984
2024-11-18 14:54:49 +00:00
Maxim.Kolmakov 4cea38b606 IJPL-156272 Add freeze analyzer and stack trace viewer to text file that contains stack trace
(cherry picked from commit 24e9dff91ea035f5c0a50b8e64f4eaa81c2d0729)

GitOrigin-RevId: d31101f5fdf1e477fe41887957c9e22231822f68
2024-11-18 14:54:49 +00:00
Ivan Semenov 6e5be878d4 [collab/gitlab] fix review diff file update when only selection is changed
#IJPL-164167 Fixed


(cherry picked from commit 79634a7d2efe2f45408998990256d4aea10200e0)

IJ-CR-149434

GitOrigin-RevId: f60f607d436b47f833c0a81fab2189b9b381f85f
2024-11-18 14:21:57 +00:00
Vladimir Koshelev c0b3f1bdab [pycharm] remove what's new from 243
GitOrigin-RevId: d99daca2141ca04a4be4a537ea2954246ef39c8c
2024-11-18 14:08:23 +00:00
Maksim Zuev 044d678968 [debugger] IDEA-358371 Hotswap should include all modified files even after compilation error
(cherry picked from commit 240ee34eba159e66c4ac235f4b43a0b1a3183876)

IJ-CR-147930

GitOrigin-RevId: 4d044a371864323f4728c7cd2caa67ab03d233ad
2024-11-18 14:05:54 +00:00
Max Medvedev 96cf4c153e Make indexing more interactive
- update progress each 50ms instead of 200ms
- yield indexing coroutine on each file


(cherry picked from commit 4a09f64132c419b82b71d48704005b8169047d1f)

IJ-CR-148537

GitOrigin-RevId: 9a5622e892d52a33aac1ce81427700932b3293cc
2024-11-18 13:52:51 +00:00
Artem.Bukhonov b877f5f322 Update API dump
(cherry picked from commit 61332970a909d2fbaae50f4c526ecd61a643dbd3)

GitOrigin-RevId: b00b2fef2b444ac80487ccd0bb9421ff13f2bc55
2024-11-18 13:31:20 +00:00
Artem.Bukhonov c627d8d26d LLM-12328 Subscribe listeners with a plugin service scope disposable
Add util methods for creating or binding a disposable to a CoroutineScope.

(cherry picked from commit f03d5ae7601941ca59ddf483210d2426aabb4944)

GitOrigin-RevId: d39517066a3cd63c25b18c119f605e14b1b58d16
2024-11-18 13:31:20 +00:00
Artem.Bukhonov 5945a6d2c6 LLM-10366 Make FeatureUsageCollectorExtension dynamic
(cherry picked from commit 9a2f52809072bb45dead260d6e36c7099d5a5189)

GitOrigin-RevId: df0229ca0df6df952167f8081d8b8ea156286e78
2024-11-18 13:31:20 +00:00
Artem.Bukhonov 786d596722 LLM-10366 Get rid of service override for InlinePromptManagerImpl in favor of an extension to support the dynamic behavior of AIA
(cherry picked from commit 091bec774084c7307f17564cc38639345398a7cb)

GitOrigin-RevId: 3236bab2abd25e0e79b371e561fc6590ef31a3d3
2024-11-18 13:31:20 +00:00
Victoria.Petrakovich 259374c93b [kotlin] Add brackets to casted type if it's definitely non-nullable
For example, `foo(z as (T & Any))`. `foo(z as T & Any)` wouldn't work

KTIJ-32081 CastExpressionModCommandAction fails with exception on casting parameter to definitely non-nullable


(cherry picked from commit 6a0e12503b9d7738305a27d40ecd12a2cdf0a6b4)

IJ-CR-149170

GitOrigin-RevId: 234038e18861ba2ae6269ec2e6295cd76fae1019
2024-11-18 13:27:34 +00:00
Konstantin Ulitin e7888d2bef [js] WEB-68097 cleanup PsiPresentableMetaDataRenderStrategy (IJ-CR-149013)
(cherry picked from commit 228f08195ba22e69f87ba2b58d96702b128b4677)

IJ-CR-149013

GitOrigin-RevId: e01902c372fd06602c296cb79152fab319dd8ea4
2024-11-18 13:26:00 +00:00
Konstantin Ulitin 085b4b654c [js] WEB-68097 calculate type text of jsx attributes asynchronously
(cherry picked from commit 0906a3a855f5cc0f5bb85572120aab56a67146b5)

IJ-CR-149013

GitOrigin-RevId: 83f32ee5e2e832da65d7266d2ed44611939d1998
2024-11-18 13:26:00 +00:00
Victoria.Petrakovich 104b266ae0 [kotlin] Optimisation: take less overridden symbols and check less expensive if there are none of them
`directlyOverriddenSymbols` is a sequence, no sense to call `.toList()` on it if we just need to check that it's empty

KTIJ-30819


(cherry picked from commit 598b8bf4654b4bdc7fd0a5e11c6b2ef9aec1aa00)

IJ-CR-148612

GitOrigin-RevId: 5a5b972145a95c37639c2f34d494bddb0011b595
2024-11-18 12:44:48 +00:00
Victoria.Petrakovich 22f1a86e61 [kotlin] Fix checking a method to have a Java origin in overridden symbols
If a method overrides some Java method and that method is not overridden with anything else, it means that this method originates from Java.
In comparison to the previous wrong implementation, for the case `class ClassInheritingBoth: JavaName, KotlinName` the current implementation works regardless of the order of implemented interfaces `JavaName`, `KotlinName`.

^KTIJ-30819 Fixed


(cherry picked from commit eb262ccbf0c4c38248a260130d58316fa7a8bb65)

IJ-CR-148612

GitOrigin-RevId: 12a28f209e160b02d0e87e4af813c373a4f193a9
2024-11-18 12:44:48 +00:00
Victoria.Petrakovich 263c0b768a [kotlin] Don't suggest using property access syntax when the origin is not Java's
KTIJ-30819 K2 Mode: False positive "Use property access syntax" inspection for Kotlin method overridden in Java


(cherry picked from commit ccc14e28d7d73fa28f85c6fce2ceb75b85fd3a24)

IJ-CR-148612

GitOrigin-RevId: 5a75ba956134c848a057d198cd4a2c8885f04b67
2024-11-18 12:44:48 +00:00
Victoria.Petrakovich b71d2d88d2 [kotlin] Simplify check for receiver being super in UsePropertyAccessSyntaxInspection, and remove useless test
Test dontReplaceWhenReceiverIsSuper already covers this case

^KTIJ-31647 Fixed


(cherry picked from commit e732a8115a6bc376c9f4e3c82e78b1ea700fd0a8)

IJ-CR-148581

GitOrigin-RevId: 10fc651b4d2a1e38b0df05fb2c2e4e69f10ccd17
2024-11-18 12:38:31 +00:00
Victoria.Petrakovich 4dc92cf3fa [kotlin] Don't suggest using property access syntax in super. calls
KTIJ-31647 K2: False positive "property access syntax" on `super` setters and getters


(cherry picked from commit e0bc11426631dab4fc5f30e5cbff5fbdba3fe395)

IJ-CR-148581

GitOrigin-RevId: 4059ff4377fd11be056ee63c8cafea6d39e0af79
2024-11-18 12:38:31 +00:00
Sergey Pak 027605bb9b 1. Enable GotIt tooltip from IJPL-13096 by default
2. Add information about settings sync and tooltip to the JBA login procedure


(cherry picked from commit 6f4a8b0c4e405d90b6f41540c1c8d857f790d63c)

IJ-CR-148221

GitOrigin-RevId: 9b639ace2f95046cc0b265979137099abc26479b
2024-11-15 14:55:30 +00:00
Sergey Pak 785359c525 change condition to show GotIt tooltip about "backup & sync"
(cherry picked from commit dec9225888fe54456bbd1a409e8c0743825b83d8)

IJ-CR-148221

GitOrigin-RevId: cf111ac0c647e0a187f6488bbd2221c672cc5b64
2024-11-15 14:55:30 +00:00
Evgeniia Kirillova bc78caaaf4 [qodana] QD-9717: quick fixes for IncorrectFormatting inspection
Change ReformatQuickFix from LocalQuickFix to ModCommandQuickFix, so it can be applied without the batch mode.


(cherry picked from commit 5dacaf9f0c876fbdf72c295b607a22473df979e1)

IJ-MR-149433

GitOrigin-RevId: 2b3f10d295d1939c875990295f1a8a5f078786e9
2024-11-15 14:49:48 +00:00
Vladislav Beskrovny 5c7fd97b96 RUST-15869 Show Contact Support ini non-commercial RustRover
The button points to our special Slack workspace


(cherry picked from commit f4d0287d609ee4d90b14319166cbb324950e5afa)

IJ-CR-148887

GitOrigin-RevId: 05dc103d1cd15dd085812dfa21a961322aad9228
2024-11-15 13:19:28 +00:00
Artem.Bukhonov 3c2549301a IJPL-171223 Manually clear ClassValuebased cache of properties in XmlSerializerPropertyCollector
GitOrigin-RevId: 4d97dc04bcbc540b703cc4c2035bca91e7a5d301
2024-11-15 13:08:21 +00:00
Yuriy Artamonov 26acc4328e [java] IJPL-171431 Plugin language file types are missing in File > New menu in source roots
(cherry picked from commit 83dd013fbbbbfcd245e65dc5ffd1570711b3c75b)

IJ-CR-149353

GitOrigin-RevId: f050bf779e4f0ea28a77cef2eac42c55d65f1696
2024-11-15 12:50:36 +00:00
Sergei Tachenov 71f6d76389 IJPL-171464 Calculate column widths even if find.usages.disable.smart.size is on
When we added this key, we completely disabled all resizing logic
when Show Usages appears. This works fine for the size of the popup
itself, but the column sizes are now all wrong.

Adding this one line seems to fix the column sizes without affecting
the size of the popup.


(cherry picked from commit dd0659caa779f533770451a31ec3807394ab2c66)

IJ-CR-149328

GitOrigin-RevId: fd9ea59a1b841ba2ba23f782733c6d8dee574fec
2024-11-15 12:03:12 +00:00
Tagir Valeev 324189dcdb [java-inspections] SuspiciousNameCombinationInspection: exclude toUnsigned* methods
Fixes IDEA-360817 False-positive "suspicious variable/parameter name combination"


(cherry picked from commit 6e02686d5896a587335e1d03ce1480f9052024e5)

IJ-CR-149352

GitOrigin-RevId: 611319ae06390019d5e9e79ee81697db266c815b
2024-11-15 11:22:26 +00:00
Mikhail Pyltsin 6f745681fa [java-decompiler] IDEA-363088 Broken line mapping for instanceOf
- don't add an offset outside sequence


(cherry picked from commit 326733956ba858cdfc4eb142c0eb6e8c2a8864cc)

IJ-CR-149179

GitOrigin-RevId: e916a4db69c77b9f12381a39df472d4eb2cffe17
2024-11-14 19:25:31 +00:00
Kate Botsman c86bc3c11d IJPL-166285 Fix accessing unregistered RPC breaks following RPC calls
If RPC is not followed, backend throws an error `No remote API found for InstanceId` in `RemoteApiRegistry.resolve`.
`RpcExecutor`, however, expects this method to return `null` if service was not found, not an exception.

Therefore, the exception is propagated upward which breaks the kernel and prevents further RPC calls from executing.

We should adhere to the API requirements and return `null` if service was not found instead of throwing an error.

GitOrigin-RevId: bbf70f1fe1cb0e7fb80bcc72ca0b161452a36f58
2024-11-14 16:38:44 +00:00
Kate Botsman 6f9ba26707 Clean-up withKernel usages
For RPC requests, it's not necessary to call `withKernel` - API can be resolved without that.
To avoid context switching and to simplify the code I remove `withKernel` from API calls.

GitOrigin-RevId: 9514260da113583e36f2979b0543310d27cd3db4
2024-11-14 16:38:44 +00:00
Kate Botsman a5ab71839e IJPL-165422 Fix Rhizome breaks if exception is thrown under withKernel
`withKernel` method attaches current coroutine to core `kernelCoroutineScope`
If current coroutine is finished with an exception, the cancellation is propagated to the parent job.
This cancels `kernelCoroutineScope` and prevents further usage of the scope. The scope is never recreated, so it becomes impossible to use Rhizome after that.

As a solution, `kernelCoroutineScope` should be a supervisor to avoid it being canceled by children.
We can do that by creating `childScope` under the root scope.

GitOrigin-RevId: fc38d086f4f5b51538ce1173a25d457e1935bb1d
2024-11-14 16:38:44 +00:00
Kirill.Karnaukhov 1a1f6849ac [inline-completion] IJPL-165258: do not destroy Handler state when something unexpected happens to Session
GitOrigin-RevId: 5d2b5aed72da4710271f8bb8ce589e0238c07449
2024-11-14 16:38:44 +00:00
Mikhail Pyltsin 9ae741194f [java-decompiler] IDEA-363089 Broken line mapping for finally
- use first line description, preserve finally offset for mapping


(cherry picked from commit b404b8627b19c28b190c1600d4d2283098e44ac7)

IJ-CR-149177

GitOrigin-RevId: e4813fd394022fbcf365fffba4b858865dac5f09
2024-11-14 15:50:03 +00:00
Vladimir Krivosheev f4991dbf3c IJPL-161208 "Open in opposite group" doesn’t restore the scroll position to match the originating editor
(cherry picked from commit 1f466bebb4ef51d0d46a2034cc6d37894cb6eb6f)

IJ-CR-148508

GitOrigin-RevId: f684de42ba348fac4002e9a4521d7278f5cbfcfd
2024-11-14 13:32:21 +00:00
Dmitriy.Panov a227e0e905 IJI-2196 GitHub workflow to build IntelliJ IDEA Community distributions for all supported OS
(cherry picked from commit 30e80f202d89acc6b4846caeba2a166e2675d899)

IJ-CR-149323

GitOrigin-RevId: 8e57a8a4356dc6a3ba65706006dc0600e25a759e
2024-11-14 09:57:37 +00:00
Eugene Zhuravlev 106f8d8d51 support client metadata for JBA logins (IJPL-35546)
(cherry picked from commit c7227a25688b59e34b58b10f7c1513ef3c03c060)

IJ-CR-147850

GitOrigin-RevId: dd21d1f6cbb381af76f3941ad630d17a8806491c
2024-11-13 16:53:55 +00:00
Konstantin Nisht 9c3b0f4bbd [ijent] Increase backlog of local port forwarding
(cherry picked from commit caed12e6878c90021e9537edb111406bb665aafc)

IJ-CR-149253

GitOrigin-RevId: 70c8dc8dd0796a099e584b21eaf5eaa3e0e3e247
2024-11-13 16:38:18 +00:00
Konstantin Nisht a75c93f695 [ijent] Manage connections in a separate thread pool to avoid thread starvation
(cherry picked from commit 1440dc39f1e7a077ae2f7d9c0f9471b6da4a3cce)

IJ-CR-149253

GitOrigin-RevId: d19c837cb6d65d7cd9d2ff681882eb8729f7a54b
2024-11-13 16:38:18 +00:00
Vladimir Krivosheev 9f980af17a IJPL-162718 cancel project activities as soon as possible
(cherry picked from commit c478b49cc7bb97120d879b3d4238e11d96dfdb6d)

GitOrigin-RevId: dca2c07e9d970a35684735c59c9166656ce1a69b
2024-11-13 16:09:05 +00:00
Artem.Bukhonov 1b49c076d7 LLM-12328 Use a plugin scope when running a ProjectActivity when listening for extensionAdded to avoid memory leaks
GitOrigin-RevId: 5ab2aeab3d9f3e1ce28dcd2a0e118321670da800
2024-11-13 16:09:05 +00:00