Skip to content

Comments

feat: Replace Agent Installers page with Agent Install Instructions page#5124

Merged
bjoernricks merged 3 commits intomainfrom
add-install-instructions-page
Feb 18, 2026
Merged

feat: Replace Agent Installers page with Agent Install Instructions page#5124
bjoernricks merged 3 commits intomainfrom
add-install-instructions-page

Conversation

@HollererJ
Copy link
Contributor

Replace the agent-installers download page with a new Install Instructions page that fetches and displays installation instructions from the agent-controller API. The page supports:

  • Multi-language (uses current GSA language setting)
  • Multiple agent controllers (dropdown when more than one available)
  • Dynamic content from agent-controller's install-instructions endpoint
  • Copy-to-clipboard functionality for code blocks

Replace the agent-installers download page with a new Install Instructions
page that fetches and displays installation instructions from the
agent-controller API. The page supports:
- Multi-language (uses current GSA language setting)
- Multiple agent controllers (dropdown when more than one available)
- Dynamic content from agent-controller's install-instructions endpoint
- Copy-to-clipboard functionality for code blocks
@HollererJ HollererJ requested a review from a team as a code owner February 16, 2026 10:02
Copilot AI review requested due to automatic review settings February 16, 2026 10:02
@greenbonebot greenbonebot enabled auto-merge (rebase) February 16, 2026 10:02
@github-actions
Copy link

github-actions bot commented Feb 16, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA ff7c815.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@types/dompurify 3.0.5 🟢 6.8
Details
CheckScoreReason
Maintained🟢 1030 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Code-Review🟢 7Found 23/30 approved changesets -- score normalized to 7
Packaging⚠️ -1packaging workflow not detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy🟢 10security policy file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Vulnerabilities🟢 100 existing vulnerabilities detected
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Fuzzing⚠️ 0project is not fuzzed
npm/@types/trusted-types 2.0.7 🟢 6.8
Details
CheckScoreReason
Maintained🟢 1030 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Code-Review🟢 7Found 23/30 approved changesets -- score normalized to 7
Packaging⚠️ -1packaging workflow not detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy🟢 10security policy file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Vulnerabilities🟢 100 existing vulnerabilities detected
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Fuzzing⚠️ 0project is not fuzzed
npm/dompurify 3.3.1 🟢 6
Details
CheckScoreReason
Packaging⚠️ -1packaging workflow not detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Maintained🟢 1017 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Code-Review🟢 6Found 10/15 approved changesets -- score normalized to 6
Security-Policy🟢 10security policy file detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
License🟢 9license file detected
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Branch-Protection🟢 3branch protection is not maximal on development and all release branches
Vulnerabilities🟢 37 existing vulnerabilities detected
SAST🟢 10SAST tool is run on all commits

Scanned Files

  • package-lock.json

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Replaces the existing “Agent Installers” download route with a new “Agent Install Instructions” page that pulls HTML installation instructions from the agent-controller API (with language support, controller selection, and copy-to-clipboard behavior).

Changes:

  • Added AgentInstallInstructionsPage that discovers agent-controller scanners, fetches install instructions HTML, and renders it.
  • Added controller selection UI when multiple controllers are available.
  • Updated routing so /agent-installers now loads the new instructions page.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
src/web/pages/agent-remote-installer/AgentInstallInstructionsPage.tsx New page: fetch controllers + install instructions HTML, render instructions, add copy handling.
src/web/Routes.tsx Routes /agent-installers to the new instructions page.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Feb 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.04%. Comparing base (1079969) to head (ff7c815).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5124   +/-   ##
=======================================
  Coverage   77.04%   77.04%           
=======================================
  Files        1170     1170           
  Lines       30492    30492           
  Branches     9120     9120           
=======================================
  Hits        23494    23494           
  Misses       6258     6258           
  Partials      740      740           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@bjoernricks
Copy link
Contributor

Not sure how co-pilot got activated for review :-/

@HollererJ
Copy link
Contributor Author

Not sure how co-pilot got activated for review :-/

Not by me ....

Integrate DOMPurify to sanitize dynamically fetched agent installation instructions, improving security against XSS attacks. Additionally:
- Enhanced the `Agent Install Instructions` page with better error handling and safety measures.
- Introduced language-specific support for "Copy" and "Copied!" buttons.
- Refactored and improved loading logic when changing agent controllers or languages.
Copy link
Contributor

@bjoernricks bjoernricks left a comment

Choose a reason for hiding this comment

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

Hi, i have serious doubts of this "feature" first of all this hasn't been discussed beforehand were we could have talked about the details in possible solutions. Just dropping the current agent install page with something else is a bit frustration on my side.

But also I have a major concern with loading some HTML content from an URL that is out of the control of the GEA team and having to maintain this interface. I would be ok if that URL is returning static string content but HTML is a no-go for me in the current situation. If you need html content it should be implemented at the GSA in react with styled-components for styling. If that isn't possible we could also add links for opening a new page with installation instructions externally.

auto-merge was automatically disabled February 18, 2026 12:50

Rebase failed

@bjoernricks bjoernricks merged commit eabb43f into main Feb 18, 2026
27 checks passed
@bjoernricks bjoernricks deleted the add-install-instructions-page branch February 18, 2026 12:51
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