Commit e9c85d2
authored
feat: enhance HTML settings page with full IDE configuration support [IDE-1625] (#348)
* feat: enhance HTML settings page with full IDE configuration support
- Add comprehensive IdeConfigData class with typed nested structures for all settings
- Implement retry logic (2 attempts, 2s delay) for loading LS HTML before fallback
- Add FolderConfig support with additionalEnv, additionalParameters, and scanCommandConfig
- Implement auth token notification to HTML page after successful authentication
- Fix UI hang by making updateConfiguration async in performOk
- Fix 10s timeout by checking LS connection before executeCommand in getConfigHtml
- Improve button styling with proper colors and contrast in BaseHtmlProvider
- Add static instance tracking for auth token callback from hasAuthenticated event
* refactor: fix PMD code quality issues in HTML settings
- Extract duplicate string literal "#FFFFFF" to constant in BaseHtmlProvider
- Mark static instance field as volatile for thread safety in HTMLSettingsPreferencePage
- Extract loop logic into helper methods to avoid object instantiation in loops
- Replace reference equality (==) with equals() for object comparison
- Isolate null assignment in dedicated clearInstance() method
* refactor: address code review feedback for HTML settings implementation
- Replace fully qualified class name with import for HTMLSettingsPreferencePage
- Replace hardcoded command ID strings with constants from IHandlerCommands
- Fix theme constant usage: use proper Eclipse workbench colors instead of hyperlink colors for buttons
- Convert IdeConfigData and inner classes to Java records (eliminates ~300 lines of boilerplate)
- Remove unnecessary clearInstance() method in HTMLSettingsPreferencePage
- Add synchronization to prevent race conditions between login and logout operations
* fix: suppress PMD warnings for intentional patterns in HTMLSettingsPreferencePage
* fix: additionalParam type1 parent 574239f commit e9c85d2
File tree
8 files changed
+520
-399
lines changed- plugin/src/main/java/io/snyk
- eclipse/plugin
- html
- preferences
- languageserver
- protocolextension
- messageObjects
- tests/src/test/java/io/snyk/eclipse/plugin/preferences
8 files changed
+520
-399
lines changedLines changed: 12 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
87 | 88 | | |
88 | 89 | | |
89 | 90 | | |
| |||
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
183 | | - | |
184 | | - | |
| 184 | + | |
| 185 | + | |
185 | 186 | | |
186 | 187 | | |
187 | 188 | | |
| |||
201 | 202 | | |
202 | 203 | | |
203 | 204 | | |
204 | | - | |
| 205 | + | |
205 | 206 | | |
206 | 207 | | |
207 | 208 | | |
208 | | - | |
| 209 | + | |
209 | 210 | | |
210 | 211 | | |
211 | | - | |
| 212 | + | |
212 | 213 | | |
| 214 | + | |
| 215 | + | |
213 | 216 | | |
214 | 217 | | |
215 | 218 | | |
| |||
224 | 227 | | |
225 | 228 | | |
226 | 229 | | |
227 | | - | |
228 | | - | |
229 | | - | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
230 | 233 | | |
231 | | - | |
| 234 | + | |
232 | 235 | | |
233 | 236 | | |
234 | 237 | | |
| |||
0 commit comments