[remote dev] IJPL-211809 Combined plugin state fixes

GitOrigin-RevId: d7440d9f00eff3806a1ad1067621359094815323
This commit is contained in:
Denis Zaichenko
2025-10-20 20:22:14 +00:00
committed by intellij-monorepo-bot
parent 1f84287bfe
commit e366f39630
3 changed files with 5 additions and 4 deletions
@@ -1411,6 +1411,7 @@ public final class PluginManagerConfigurablePanel implements Disposable {
.loadErrors(myPluginModelFacade.getModel().mySessionId.toString(),
ContainerUtil.map(descriptors, PluginUiModel::getPluginId));
result.getPreloadedModel().setErrors(MyPluginModel.getErrors(errors));
result.getPreloadedModel().setPluginInstallationStates(UiPluginManager.getInstance().getInstallationStatesSync());
PluginManagerUsageCollector.performInstalledTabSearch(
ProjectUtil.getActiveProject(), parser, result.getModels(), searchIndex, null);
@@ -546,7 +546,8 @@ public final class ListPluginComponent extends JPanel {
}
public void setUpdateDescriptor(@Nullable PluginUiModel descriptor) {
if (myMarketplace && myInstalledDescriptorForMarketplace == null) {
if (myMarketplace && myInstalledDescriptorForMarketplace == null ||
(descriptor != null && myModelFacade.isUninstalled(descriptor.getPluginId()))) {
return;
}
if (myUpdateDescriptor == null && descriptor == null) {
@@ -672,9 +672,8 @@ open class MyPluginModel(project: Project?) : InstalledPluginsTableModel(project
val installedDescriptors: MutableList<PluginUiModel>
get() {
checkNotNull(myInstalledPanel)
return myInstalledPanel!!
val panel = myInstalledPanel ?: return mutableListOf()
return panel
.groups
.filterNot { it.excluded }
.flatMap { it.plugins }