Conversation
… tree and table, adjusted mcp server to new model
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses critical UI/UX issues in TDA's Swing interface, primarily fixing the top split pane slider behavior that was hiding the right panel on startup. The changes modernize browser integration, improve visual styling, and ensure proper split pane positioning across the application.
Changes:
- Fixed split pane divider positioning to prevent the right panel from being hidden on first load
- Replaced platform-specific browser commands with Desktop API for URL launching
- Updated welcome page styling with modern CSS and cleaned up recent files/sessions handling
- Refactored parser code to properly handle Category nodes and improved null safety
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| TDA.java | Fixed split pane divider positioning using resize weights and SwingUtilities.invokeLater; removed persistence of divider positions; added recent files cleanup |
| Browser.java | Replaced manual browser commands with Desktop.browse() API; improved cross-platform support |
| welcome.html | Updated CSS styling for modern look; improved section layout and link formatting |
| README | Added changelog entry for right pane fix; corrected GitHub branch reference from master to main |
| PrefManager.java | Removed unused divider position getters/setters; added setRecentFiles/setRecentSessions methods; cleaned imports |
| SunJDKParser.java | Added null checks for getNextLine(); fixed monitor node copying to preserve children |
| AbstractDumpParser.java | Added copyNode() method; fixed addToCategory to handle TableCategory |
| SunJDKParserTest.java | Updated tests to use Category.getNodeAt(); added testMonitorNodesHaveChildren test |
| HeadlessAnalysisProvider.java | Updated to access nodes via Category instead of directly from tree |
| PreferencesDialog.java | Removed GTK L&F option; converted to lambdas; improved generics; made inner classes static |
Comments suppressed due to low confidence (1)
tda/src/main/java/de/grimmfrost/tda/TDA.java:1
- The comment 'second call to ensure it sticks after layout' suggests a workaround for a layout timing issue. This pattern of nested
invokeLatercalls can be fragile. Consider usingaddComponentListeneroraddHierarchyBoundsListenerto set divider positions after the component is fully laid out and sized, which is more reliable than hoping two sequentialinvokeLatercalls will execute at the right time.
/**
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixed main pain point, the top slider always being on the right, fully hiding the right panel. Also improved some other UI elements. Fixed opening the default browser when clicking on a link.