Skip to content

feat(secrets): persist and run Secrets with other scanners [IDE-1747]#791

Merged
acke merged 9 commits intomasterfrom
feat/IDE-1747-secrets-scanner
Feb 27, 2026
Merged

feat(secrets): persist and run Secrets with other scanners [IDE-1747]#791
acke merged 9 commits intomasterfrom
feat/IDE-1747-secrets-scanner

Conversation

@acke
Copy link
Contributor

@acke acke commented Feb 25, 2026

Summary

  • Persist and run Secrets with other scanners: activateSnykSecrets in SaveConfigRequest/LanguageServerSettings, Secrets scan in SnykTreeScanTypeFilterActionGroup.
  • Secrets in HTML tree: Secrets results shown in HTML tree view. Listener still clears Secrets cache on scan started/error.

Description

Provide description of this PR and changes, if linked Jira ticket doesn't cover it in full.

Checklist

Screenshots / GIFs

Visuals that may help the reviewer. Please add screenshots for any UI change. GIFs are most welcome!

- Add activateSnykSecrets to SaveConfigRequest and apply in SaveConfigHandler
- Add activateSnykSecrets to LanguageServerSettings and getSettings()
- Add secretsResults to TreeFiltering and matchFilteringWithEnablement
- Add Secrets scan action to SnykTreeScanTypeFilterActionGroup

Co-authored-by: Cursor <cursoragent@cursor.com>
@CLAassistant
Copy link

CLAassistant commented Feb 25, 2026

CLA assistant check
All committers have signed the CLA.

@snyk-io
Copy link

snyk-io bot commented Feb 25, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 25, 2026

acke and others added 2 commits February 25, 2026 14:55
…-1747]

- Add RootSecretsIssuesTreeNode and SECRETS_ROOT_TEXT; tree shows four roots
  (OSS, Code Security, IaC, Secrets) before and after any scan.
- Include Secrets root in removeAllChildren and updateTreeRootNodesPresentation
  so Clean all results keeps all four roots with labels reset.
- Wire Secrets in SnykToolWindowSnykScanListener: scanningStarted/scanningError
  clear Secrets node; displaySecretsResults and filter refresh populate it.
- Map ScanIssue.SECRETS in description panel and flushPendingTreeRefreshes.
- Tests: expect four roots, pass rootSecretsIssuesTreeNode, assert no null on
  Secrets node after clean.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add Secrets product node to TreeViewInit.html so the initial HTML tree
view displays all four products (OSS, Code Security, IaC, Secrets) from
plugin load instead of showing Secrets only after the LS sends a tree
view update.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Collaborator

@bastiandoetsch bastiandoetsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before I review more, could you please remove all the changes related to the native tree? We don't use it when secrets is enabled, so it's unnecessary code.

acke added 4 commits February 27, 2026 14:01
- Remove RootSecretsIssuesTreeNode and delete its class file; Secrets are
  shown only in the LS-driven HTML tree view (snykTreeView), not in the
  native Swing tree.
- SnykToolWindowSnykScanListener now takes three roots (OSS, Code, IaC);
  remove all LsProduct.Secrets handling (scanningStarted, scanningError,
  displaySecretsResults, SECRETS branch in displayResults/displayIssues).
- Panel: stop creating/passing Secrets root, drop Secrets from filtering
  callback and from flushPendingTreeRefreshes.
- Update tests for 3-root native tree.

Made-with: Cursor
…handlers [IDE-1747]

- Remove unused SECRETS_ROOT_TEXT from SnykToolWindowPanel companion object.
- Add ScanIssue.SECRETS branch in SuggestionDescriptionPanel.initializeBrowser()
  with SubmitIgnoreRequestHandler so Secrets issue detail HTML can trigger
  ignore requests (parity with VS Code submitIgnoreRequest).

Made-with: Cursor
…IDE-1747]

- Drop treeFiltering.secretsResults and matchFiltering sync (native tree not used for Secrets)
- Remove createSecretsScanAction and Secrets from scan-type filter menu
- Remove product-secrets node from TreeViewInit.html
- Test: use 3-param updateTreeRootNodesPresentation call and comment

Made-with: Cursor
…ion [IDE-1747]

- Drop secretsResultsCount param from displayIssues and updateTreeRootNodesPresentation
- Restore Secrets cache clear and comments in scan listener (scan started / scan error)
- Call sites: use 3 counts + addHMLPostfix only; test keeps positional updateTreeRootNodesPresentation(0, 0, 0, "")

Made-with: Cursor
@acke acke marked this pull request as ready for review February 27, 2026 14:29
@acke acke requested review from a team as code owners February 27, 2026 14:29
Copy link
Collaborator

@bastiandoetsch bastiandoetsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there may still be more than needed, but please have a look.

acke added 2 commits February 27, 2026 15:44
… [IDE-1747]

- Panel: drop SECRETS branch in productIssues when; Secrets only in HTML tree
- SuggestionDescriptionPanel: remove SECRETS SubmitIgnoreRequestHandler block

Made-with: Cursor
@acke acke enabled auto-merge (squash) February 27, 2026 19:03
@acke acke merged commit 9d5428c into master Feb 27, 2026
11 checks passed
@acke acke deleted the feat/IDE-1747-secrets-scanner branch February 27, 2026 19:11
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 this pull request may close these issues.

3 participants