GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix: decode SARIF location URIs in diff-informed alert filtering by sam-robson · Pull Request #4283 · github/codeql-action

Conversation

@sam-robson

@sam-robson sam-robson commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

filterAlertsByDiffRange compares SARIF artifactLocation.uri values against changed file paths from GitHub's diff API (range.path). CodeQL percent-encodes artifactLocation.uri in SARIF, while range.path is a raw file path, so alerts in files with spaces, non-ASCII characters, or special characters were dropped during diff-informed filtering.

Decode locationUri with decodeURIComponent before matching against range.path, while keeping the raw locationUri check for unencoded paths or malformed percent sequences.

 filterAlertsByDiffRange(sarifLog)
   readDiffRangesJsonFile() -> range.path ("with space/board.js")
   for each result location
     locationUri = physicalLocation.artifactLocation.uri ("with%20space/board.js")
+    decodedLocationUri = decodeURIComponent(locationUri) ("with space/board.js")
-    match range.path === locationUri
+    match range.path === decodedLocationUri || range.path === locationUri

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Which use cases does this change impact?

Workflow types:

  • Advanced setup - Impacts users who have custom CodeQL workflows.
  • Managed - Impacts users with dynamic workflows (Default Setup, Code Quality, ...).

Products:

  • Code Scanning - The changes impact analyses when analysis-kinds: code-scanning.
  • Code Quality - The changes impact analyses when analysis-kinds: code-quality.
  • Other first-party - The changes impact other first-party analyses.
  • Third-party analyses - The changes affect the upload-sarif action.

Environments:

  • Dotcom - Impacts CodeQL workflows on github.com and/or GitHub Enterprise Cloud with Data Residency.
  • GHES - Impacts CodeQL workflows on GitHub Enterprise Server.

How did/will you validate this change?

  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).
  • End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks).

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Feature flags - All new or changed code paths can be fully disabled with corresponding feature flags.
  • Rollback - Change can only be disabled by rolling back the release or releasing a new version with a fix.

How will you know if something goes wrong after this change is released?

  • Telemetry - I rely on existing telemetry or have made changes to the telemetry.
    • Dashboards - I will watch relevant dashboards for issues after the release. Consider whether this requires this change to be released at a particular time rather than as part of a regular release.
    • Alerts - New or existing monitors will trip if something goes wrong with this change.

Are there any special considerations for merging or releasing this change?

  • No special considerations - This change can be merged at any time.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@github-actions github-actions Bot added the size/M Should be of average difficulty to review label Nov 2, 2026
@sam-robson
sam-robson force-pushed the sam-robson/decode-diff-informed-sarif-uris branch 2 times, most recently from 8b728b0 to c15b59e Compare November 2, 2026 16:00
@sam-robson
fix: decode SARIF location URIs in diff-informed alert filtering
b05fe69
@sam-robson
sam-robson force-pushed the sam-robson/decode-diff-informed-sarif-uris branch from c15b59e to b05fe69 Compare November 2, 2026 16:04
@sam-robson
sam-robson marked this pull request as ready for review November 2, 2026 16:35
@sam-robson
sam-robson requested a review from a team as a code owner November 2, 2026 16:35
Copilot AI auto review requested due to automatic review settings November 2, 2026 16:35
Copilot started reviewing on behalf of sam-robson November 2, 2026 16:35
View session
Copilot AI reviewed Nov 2, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues remain, so the URI-decoding and fallback changes are ready for approval.

No open issues 🎉

1 file not reviewed
  • lib/entry-points.js: Excluded by your content exclusion settings
What changed in this PR

This pull request fixes diff-informed SARIF alert filtering by decoding percent-encoded artifact URIs before comparing them with raw GitHub diff paths, while preserving raw URI fallback behavior.

Changes:

  • Decode SARIF location URIs before diff-range matching.
  • Preserve raw matching for unencoded and malformed URIs.
  • Add unit coverage for encoded paths, special characters, Unicode, related locations, line ranges, and malformed URIs.
  • Document the filtering correction.
File Description
unreleased-change-notes/​decode-diff-informed-sarif-uris.md Documents the corrected alert-filtering behavior.
src/​upload-lib.ts Decodes SARIF location URIs and compares decoded and raw paths during filtering.
src/​upload-lib.test.ts Adds coverage for encoded, raw, related, and malformed URI cases.

Review effort: Lite (auto)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@github github deleted a comment from cwinchesterii69-lang Nov 3, 2026
mario-campos
mario-campos approved these changes Nov 3, 2026
View reviewed changes

@mario-campos mario-campos left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Nice simple fix

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@sam-robson
sam-robson added this pull request to the merge queue Nov 3, 2026
Merged via the queue into main with commit 913e1bb Nov 3, 2026
231 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@sam-robson
sam-robson deleted the sam-robson/decode-diff-informed-sarif-uris branch November 3, 2026 20:02
This was referenced Nov 4, 2026
Merge main into releases/v4 #4299
Merged
Merge releases/v4 into releases/v3 #4304
Merged
@frostyard-machines frostyard-machines mentioned this pull request Nov 8, 2026
build(deps): bump github/codeql-action/upload-sarif from 4.39.2 to 4.39.3 frostyard/intuneme#262
Merged
This was referenced Nov 8, 2026
chore(deps): bump github/codeql-action/init from 4.39.1 to 4.39.3 Cloeille/picsou-finance#491
Closed
chore(deps): bump github/codeql-action/analyze from 4.39.1 to 4.39.3 Cloeille/picsou-finance#492
Closed
@kody-ai kody-ai Bot mentioned this pull request Nov 9, 2026
build(deps): bump the codeql-actions group with 2 updates SweetSophia/openclaw-pixel-agents#348
Open
@jpvelasco jpvelasco mentioned this pull request Nov 10, 2026
chore(ci)(deps): Bump github/codeql-action from 4.39.1 to 4.39.3 aws-solutions-library-samples/guidance-for-game-backend-and-infrastructure-agentic-workflows#753
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments
@mario-campos mario-campos mario-campos approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

size/M Should be of average difficulty to review

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@sam-robson @mario-campos
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.