(MP-6452) Fix failing project structure and packaging tests
(MP-6452) Make sure that machine learning score is calculated correctly for each plugin
Previously, there was a cache with mutable list of features. There were two issues with it. First, because of mutability, it could store mlScore for a different query sometimes. Second, there were no guarantees on consequent call of ranking and features logging before the next ranking event happens, so the feature cache could be inconsistent in certain scenarios.
(MP-6452) Introduce search index in plugin manager events that corresponds to actual query order
I also change the definition of plugin manager session. The session is restarted only in two cases: when a user clicks on the Plugins section in settings or when the search is restarted after a plugin installation.
(MP-6452) Add additional features: is result ordered by ML, is user internal, experiment group and version
(MP-6452) Fix missing date of latest plugin update, add days since latest updates and textual features
(MP-6452) Apply suggestions from the code review
(MP-6452) Integrate the ranking plugin with the search and the logging group
In feature extractors, during the first run, I calculate the features for a model to predict plugin relevance and on the second run the features to report to the MP collector (with predicted score, for example). I also implement features cache to calculate the most of the features only once
(MP-6452) Implement the baseline plugin manager session id definition and log it to FUS and MP recorders
I attach the start of a session to enableSearch method of PluginManagerConfigurable that gets triggered on "Plugins" setting group selection in the menu
(MP-6452) Add plugin for plugins ranking in the Plugin Manager
ML in SE: add embedding search integration test subsystem tag
Merge-request: IJ-MR-130364
Merged-by: Evgeny Abramov <Evgeny.Abramov@jetbrains.com>
GitOrigin-RevId: 9136d316aec2ede74bec07798dd8db16e7849f54
Previously, there was no chance to resolve `__or__` member for class references like `Callable`, `Generic` as its type is PyCustomType that always returns `null` from getMetaClassType(). Now in operator references we at least resolve such references in types which PyCustomTypes mimic to
GitOrigin-RevId: ff05ae62e4c1a17026310a3407f40597154bc946
Fixes regression after 3e64ed7c56ad4ffa68b23b6723122b11cdb09182: `LocalPtyOptions.useWinConPty` was always false leading to different rendering issues on Windows, like long line are hard wrapped with actual line separators preventing text reflow on horizontal resize.
GitOrigin-RevId: 0381aa1008eabc8ac16423424b34c4458e12c680
The `set_global_debugger` invocation has been moved to a later point to ensure all debugger fields are initialized first. This addresses potential issues in multithreaded environments where the debugger is accessible, but access to its fields may fail.
GitOrigin-RevId: 55dd63585f8dae94c6527d51dca3c2562b30c4ce
The root cause was introduced in PY-23540 (see cb598c94c5).
Namely, abs.ABCMeta was explicitly filtered out from the list of metaclasses in
`PyClassImpl.getMostDerivedClassType` because for some reason in Typeshed stubs for
Python 2 `basestring`, and hence `str`, uses `ABCMeta` as its metaclass,
which is not true at runtime. It caused a metaclass conflict when inheriting `str`
with another user-defined metaclass (`ABCMeta` and a user metaclass didn't extend
each other), so we didn't detect any metaclass in a class as a result.
I've updated Typeshed stubs for Python 2 manually to process ABCMeta normally.
We don't update these stubs anyway, so these changes won't be lost on a future
Typeshed sync.
GitOrigin-RevId: 680e9fa890d00ea63987f3cf73e636e430685f34
See https://docs.python.org/3/reference/simple_stmts.html#the-raise-statement.
I decided not to update the inspection description, because BaseException is not
intended to be inherited by user classes.
The check for Exception was removed because Exception itself extends BaseException.
GitOrigin-RevId: 5782c9351aebb524c4d0fc0c9f3307d8db682efb
I've add-hoc updated typing_extensions.pyi in the bundled Typeshed to
recognize Unpack there.
GitOrigin-RevId: 953402e42984712a630c1772cf2f2cd4cbacdccf