Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In TheiaIDE the "Plugins" items are not unwrap in a multi-module MAVEN JAVA project #14390

Open
Tracked by #13192
kavalex opened this issue Nov 2, 2024 · 8 comments · May be fixed by #14697
Open
Tracked by #13192

In TheiaIDE the "Plugins" items are not unwrap in a multi-module MAVEN JAVA project #14390

kavalex opened this issue Nov 2, 2024 · 8 comments · May be fixed by #14697

Comments

@kavalex
Copy link

kavalex commented Nov 2, 2024

Bug Description:

In TheiaIDE the "Plugins" items are not unwrap in a multi-module MAVEN JAVA project
Section MAVEN has items

    Parent-project
    Lifecycle
    Plugins
    Dependencies
    Favorites
    Profiles
    Sub-project
        Lifecycle
        Plugins
        Dependencies
        Favorites
        Profiles

If you try to open "Plugins", all items collapse to the root. Item "Plugins" not work in Parent-project and Sub-project. Other items unwrap normally.

Steps to Reproduce:

  1. Create a multi-module maven project
  2. Try to expand the Plugins item

Additional Information

  • Operating System: macos Sequoia 15.1 (it didn't work on the previous version either)
  • Theia Version: 1.54.0.165
@kavalex
Copy link
Author

kavalex commented Nov 2, 2024

TheiaIDE_maven_plugins.mp4

@kavalex
Copy link
Author

kavalex commented Nov 3, 2024

I think it's related to this error
Command failed: mvn -q help:effective-pom -Doutput=/var/folders/y9/d619hq154jb3fyl7b25dwfqw0000gn/T/exhort_uLI9iD/effective-pom.xml -f /var/folders/y9/d619hq154jb3fyl7b25dwfqw0000gn/T/exhort_uLI9iD/target-pom.xml

@JonasHelming
Copy link
Contributor

Which Maven extension do you use?

@msujew
Copy link
Member

msujew commented Nov 4, 2024

I feel like this is a duplicate of a known problem, but I cannot find the respective issue (maybe it was already closed). The issue has nothing to do with maven or really anything to do with the VS Code extension at all. When repopulating a plugin tree view, we don't store whether the nodes have already been expanded. Since expanding the tree node automatically attempts to fetch new results, the tree is reloaded and all data is discarded, leading to the observed behavior.

@tsmaeder Do you remember that issue?

@tsmaeder
Copy link
Contributor

tsmaeder commented Nov 4, 2024

@msujew sorry, no 🤷

@kavalex
Copy link
Author

kavalex commented Nov 4, 2024

Which Maven extension do you use?

built in Maven for Java v0.44.0 by vscjava
Снимок экрана 2024-11-04 в 15 00 53

@tsmaeder tsmaeder mentioned this issue Nov 8, 2024
63 tasks
@tsmaeder
Copy link
Contributor

tsmaeder commented Jan 3, 2025

I seems that when we fetch the children of the "plugins" node, we get a onDidChangeTreeData notification from the plugin, causing a refresh of the tree root, which has the effect of collapsing all children. This looks like a bug in either our tree view plugins API implementation or our browser-side tree widget implementation.

@msujew
Copy link
Member

msujew commented Jan 3, 2025

@tsmaeder I believe that our tree widget system can handle this, as the explorer already does something similar. However, in the explorer, we only ever calculate a delta (i.e. which nodes to add) and not a full rebuild of the tree. Our tree view plugins API likely should cache all unaffected nodes instead of recomputing them.

tsmaeder added a commit to tsmaeder/theia that referenced this issue Jan 6, 2025
Fixes eclipse-theia#14390

Contributed on behalf of STMicroelectronics

Signed-off-by: Thomas Mäder <[email protected]>
@tsmaeder tsmaeder linked a pull request Jan 6, 2025 that will close this issue
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants