You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(IDE-1652): introduce LsSettingsRegistry, protocol message objects, and ACTIVATE_SNYK_SECRETS constant
Adds the foundational types needed for the upcoming LS settings rewrite:
- LsKey enum: typed keys for all LS settings fields
- LsFolderSettingsKeys: constants for folder-scoped LS config fields
- LsSettingsRegistry: single source of truth mapping LsKey entries to
Preferences keys, defaults, and change-tracking metadata
- ConfigSetting: wire-format value object for a single LS setting
- LspFolderConfig: wire-format value object for per-folder LS config
- LspConfigurationParam: top-level outbound LS config payload
- Preferences.ACTIVATE_SNYK_SECRETS: constant required by LsSettingsRegistry
- LsBinaries: minor update
All new classes are unreferenced by existing code — safe to land standalone.
Tests cover each value object and serialisation round-trips.
* feat(IDE-1652): migrate HTML settings page onto FolderConfigSettings and ExecuteCommandBridge (3/3)
- HTMLSettingsPreferencePage: rewired to read/write settings via
FolderConfigSettings and LsSettingsRegistry instead of the legacy
Settings / IdeConfigData path; bridges auth and settings updates
through ExecuteCommandBridge
- settings-fallback.html: sync from snyk-ls shared_ide_resources with
updated JS wiring for new settings bridge commands
- HTMLSettingsPreferencePageTest: updated to cover new wiring
After this PR all legacy POJOs (Settings, FolderConfig, FolderConfigs,
FolderConfigsParam, IdeConfigData) and native UI shells
(NativeProjectPropertyPage, PreferencesPage, TokenFieldEditor) are
dead code with no callers. PR #393 deletes them.
* fix: guard scan_command_config convertValue against IllegalArgumentException
Non-object nodes and null boolean fields throw IllegalArgumentException which
the outer JsonProcessingException catch misses, silently aborting the whole
save. Guard with isObject() check and isolate the failure to the single folder.
* fix: escape pref values in loadFallbackHtml to prevent XSS
Pref values substituted into HTML value= attributes with no escaping — a stored
value containing "><script> would render in the privileged SWT Browser. Added
htmlAttr() helper (escapes & , ", <) and applied to CLI_PATH and
CLI_BASE_DOWNLOAD_URL substitutions.
* fix: document htmlAttr scope; log unknown folder field types
- Add Javadoc on htmlAttr() restricting it to double-quoted attribute
context only (reviewer finding: brittle if reused in JS/URL context)
- Log unknown folder field type before falling through to asText()
so future LS schema additions produce a visible diagnostic
* fix: substitute custom channel placeholders in loadFallbackHtml
{{CHANNEL_CUSTOM_SELECTED}}, {{CLI_RELEASE_CHANNEL_CUSTOM_HIDDEN}},
and {{CLI_RELEASE_CHANNEL_CUSTOM_VALUE}} were never replaced, so
custom-channel users saw literal placeholder text in the fallback form.
Also introduces Preferences.RELEASE_CHANNEL_STABLE/RC/PREVIEW constants
to replace the raw "stable"/"rc"/"preview" literals scattered across
HTMLSettingsPreferencePage, Preferences.getReleaseChannel(), and
LsSettingsRegistry.
* fix: extract duplicate "selected" literal to SELECTED constant (PMD)
0 commit comments