From c5cf49a3ff930d5edcfd616b39ccad3d7f7c183a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Oct 2026 20:34:07 +0000 Subject: [PATCH 1/8] chore(deps-dev): Bump jekyll-feed Bumps the bundler-minor-and-patch group in /sites/site-with-errors with 1 update: [jekyll-feed](https://github.com/jekyll/jekyll-feed). Updates `jekyll-feed` from 0.17.0 to 0.18.0 - [Release notes](https://github.com/jekyll/jekyll-feed/releases) - [Changelog](https://github.com/jekyll/jekyll-feed/blob/master/History.markdown) - [Commits](https://github.com/jekyll/jekyll-feed/compare/v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: jekyll-feed dependency-version: 0.18.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: bundler-minor-and-patch ... Signed-off-by: dependabot[bot] --- sites/site-with-errors/Gemfile | 2 +- sites/site-with-errors/Gemfile.lock | 120 ++++++++++++++-------------- 2 files changed, 62 insertions(+), 60 deletions(-) diff --git a/sites/site-with-errors/Gemfile b/sites/site-with-errors/Gemfile index 87c54d8f..50549b5a 100644 --- a/sites/site-with-errors/Gemfile +++ b/sites/site-with-errors/Gemfile @@ -15,7 +15,7 @@ gem "minima", "~> 2.5" # gem "github-pages", group: :jekyll_plugins # If you have any plugins, put them here! group :jekyll_plugins do - gem "jekyll-feed", "~> 0.12" + gem "jekyll-feed", "~> 0.18" end # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem diff --git a/sites/site-with-errors/Gemfile.lock b/sites/site-with-errors/Gemfile.lock index 593f7a5d..038b7b18 100644 --- a/sites/site-with-errors/Gemfile.lock +++ b/sites/site-with-errors/Gemfile.lock @@ -4,55 +4,55 @@ GEM addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) base64 (0.3.0) - bigdecimal (3.2.2) + bigdecimal (4.1.3) colorator (1.1.0) - concurrent-ruby (1.3.7) - csv (3.3.5) + concurrent-ruby (1.3.8) + csv (3.3.6) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) - ffi (1.17.2) - ffi (1.17.2-aarch64-linux-gnu) - ffi (1.17.2-aarch64-linux-musl) - ffi (1.17.2-arm-linux-gnu) - ffi (1.17.2-arm-linux-musl) - ffi (1.17.2-arm64-darwin) - ffi (1.17.2-x86-linux-gnu) - ffi (1.17.2-x86-linux-musl) - ffi (1.17.2-x86_64-darwin) - ffi (1.17.2-x86_64-linux-gnu) - ffi (1.17.2-x86_64-linux-musl) + ffi (1.17.4) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-aarch64-linux-musl) + ffi (1.17.4-arm-linux-gnu) + ffi (1.17.4-arm-linux-musl) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86-linux-gnu) + ffi (1.17.4-x86-linux-musl) + ffi (1.17.4-x86_64-darwin) + ffi (1.17.4-x86_64-linux-gnu) + ffi (1.17.4-x86_64-linux-musl) forwardable-extended (2.6.0) - google-protobuf (4.32.0) + google-protobuf (4.36.2) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-aarch64-linux-gnu) + rake (~> 13.3) + google-protobuf (4.36.2-aarch64-linux-gnu) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-aarch64-linux-musl) + rake (~> 13.3) + google-protobuf (4.36.2-aarch64-linux-musl) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-arm64-darwin) + rake (~> 13.3) + google-protobuf (4.36.2-arm64-darwin) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-x86-linux-gnu) + rake (~> 13.3) + google-protobuf (4.36.2-x86-linux-gnu) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-x86-linux-musl) + rake (~> 13.3) + google-protobuf (4.36.2-x86-linux-musl) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-x86_64-darwin) + rake (~> 13.3) + google-protobuf (4.36.2-x86_64-darwin) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-x86_64-linux-gnu) + rake (~> 13.3) + google-protobuf (4.36.2-x86_64-linux-gnu) bigdecimal - rake (>= 13) - google-protobuf (4.32.0-x86_64-linux-musl) + rake (~> 13.3) + google-protobuf (4.36.2-x86_64-linux-musl) bigdecimal - rake (>= 13) + rake (~> 13.3) http_parser.rb (0.8.0) - i18n (1.14.7) + i18n (1.15.2) concurrent-ruby (~> 1.0) jekyll (4.4.1) addressable (~> 2.4) @@ -73,7 +73,7 @@ GEM safe_yaml (~> 1.0) terminal-table (>= 1.8, < 4.0) webrick (~> 1.7) - jekyll-feed (0.17.0) + jekyll-feed (0.18.0) jekyll (>= 3.7, < 5.0) jekyll-sass-converter (3.1.0) sass-embedded (~> 1.75) @@ -81,15 +81,17 @@ GEM jekyll (>= 3.8, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - json (2.13.2) - kramdown (2.5.1) - rexml (>= 3.3.9) + json (2.21.2) + kramdown (2.5.2) + rexml (>= 3.4.4) kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.4) - listen (3.9.0) + listen (3.10.1) + logger rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) mercenary (0.4.0) minima (2.5.2) jekyll (>= 3.5, < 5.0) @@ -102,48 +104,48 @@ GEM puma (8.0.2) nio4r (~> 2.0) rack (3.2.7) - rake (13.3.0) + rake (13.4.2) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.4.2) - rouge (4.6.0) + rexml (3.4.4) + rouge (4.7.0) safe_yaml (1.0.5) - sass-embedded (1.90.0) + sass-embedded (1.105.1) google-protobuf (~> 4.31) - rake (>= 13) - sass-embedded (1.90.0-aarch64-linux-android) + rake (~> 13.3) + sass-embedded (1.105.1-aarch64-linux-android) google-protobuf (~> 4.31) - sass-embedded (1.90.0-aarch64-linux-gnu) + sass-embedded (1.105.1-aarch64-linux-gnu) google-protobuf (~> 4.31) - sass-embedded (1.90.0-aarch64-linux-musl) + sass-embedded (1.105.1-aarch64-linux-musl) google-protobuf (~> 4.31) - sass-embedded (1.90.0-arm-linux-androideabi) + sass-embedded (1.105.1-arm-linux-androideabi) google-protobuf (~> 4.31) - sass-embedded (1.90.0-arm-linux-gnueabihf) + sass-embedded (1.105.1-arm-linux-gnueabihf) google-protobuf (~> 4.31) - sass-embedded (1.90.0-arm-linux-musleabihf) + sass-embedded (1.105.1-arm-linux-musleabihf) google-protobuf (~> 4.31) - sass-embedded (1.90.0-arm64-darwin) + sass-embedded (1.105.1-arm64-darwin) google-protobuf (~> 4.31) - sass-embedded (1.90.0-riscv64-linux-android) + sass-embedded (1.105.1-riscv64-linux-android) google-protobuf (~> 4.31) - sass-embedded (1.90.0-riscv64-linux-gnu) + sass-embedded (1.105.1-riscv64-linux-gnu) google-protobuf (~> 4.31) - sass-embedded (1.90.0-riscv64-linux-musl) + sass-embedded (1.105.1-riscv64-linux-musl) google-protobuf (~> 4.31) - sass-embedded (1.90.0-x86_64-darwin) + sass-embedded (1.105.1-x86_64-darwin) google-protobuf (~> 4.31) - sass-embedded (1.90.0-x86_64-linux-android) + sass-embedded (1.105.1-x86_64-linux-android) google-protobuf (~> 4.31) - sass-embedded (1.90.0-x86_64-linux-gnu) + sass-embedded (1.105.1-x86_64-linux-gnu) google-protobuf (~> 4.31) - sass-embedded (1.90.0-x86_64-linux-musl) + sass-embedded (1.105.1-x86_64-linux-musl) google-protobuf (~> 4.31) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) unicode-display_width (2.6.0) - webrick (1.9.1) + webrick (1.9.2) PLATFORMS aarch64-linux-android @@ -169,7 +171,7 @@ PLATFORMS DEPENDENCIES http_parser.rb (~> 0.6.0) jekyll (~> 4.4.1) - jekyll-feed (~> 0.12) + jekyll-feed (~> 0.18) minima (~> 2.5) puma (~> 8.0) rack (~> 3.2) From daff14239a40c4e3be837c12f785c9f5bce5a8b4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 13 Oct 2026 13:46:32 +0000 Subject: [PATCH 2/8] Apply remaining changes Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/actions/find/src/findForUrl.ts | 2 +- .github/actions/find/src/types.d.ts | 1 + .github/actions/find/tests/findForUrl.test.ts | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/actions/find/src/findForUrl.ts b/.github/actions/find/src/findForUrl.ts index 163df959..b6e7661f 100644 --- a/.github/actions/find/src/findForUrl.ts +++ b/.github/actions/find/src/findForUrl.ts @@ -44,7 +44,7 @@ export async function findForUrl( if (includeScreenshots) { screenshotId = await generateScreenshots(page) } - findings.push({...findingData, screenshotId}) + findings.push({...findingData, screenshotId, originalUrl: url}) } try { diff --git a/.github/actions/find/src/types.d.ts b/.github/actions/find/src/types.d.ts index 678474d6..0132b9d2 100644 --- a/.github/actions/find/src/types.d.ts +++ b/.github/actions/find/src/types.d.ts @@ -17,6 +17,7 @@ export type Finding = { solutionLong?: string screenshotId?: string ruleId?: string + originalUrl?: string } export type Cookie = { diff --git a/.github/actions/find/tests/findForUrl.test.ts b/.github/actions/find/tests/findForUrl.test.ts index 89474f01..20cf4e12 100644 --- a/.github/actions/find/tests/findForUrl.test.ts +++ b/.github/actions/find/tests/findForUrl.test.ts @@ -335,6 +335,21 @@ describe('findForUrl', () => { ]) }) + it('adds the original url to each finding', async () => { + actionInput = '' + clearAll() + vi.mocked(AxeBuilder.prototype.analyze).mockResolvedValueOnce({ + violations: [ + {id: 'r', help: 'h', helpUrl: 'https://example.com', description: 'd', tags: [], nodes: [{html: '', target: ['a']}]}, + ], + } as unknown as axe.AxeResults) + + const findings = await findForUrl({url: 'https://original.example/page'}) + + expect(findings).toHaveLength(1) + expect(findings[0].originalUrl).toBe('https://original.example/page') + }) + describe('axe finding categorization', () => { function axeViolation(tags: string[]) { return { From d6422b888ddd946c50f3264a57eb0db975989a34 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:14:48 +0000 Subject: [PATCH 3/8] Format original URL test case Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/actions/find/tests/findForUrl.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/actions/find/tests/findForUrl.test.ts b/.github/actions/find/tests/findForUrl.test.ts index 20cf4e12..a8de52ed 100644 --- a/.github/actions/find/tests/findForUrl.test.ts +++ b/.github/actions/find/tests/findForUrl.test.ts @@ -340,7 +340,14 @@ describe('findForUrl', () => { clearAll() vi.mocked(AxeBuilder.prototype.analyze).mockResolvedValueOnce({ violations: [ - {id: 'r', help: 'h', helpUrl: 'https://example.com', description: 'd', tags: [], nodes: [{html: '', target: ['a']}]}, + { + id: 'r', + help: 'h', + helpUrl: 'https://example.com', + description: 'd', + tags: [], + nodes: [{html: '', target: ['a']}], + }, ], } as unknown as axe.AxeResults) From e03a0ff46c541c83f3181f81cff5f8fbd7236fb8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 13 Oct 2026 18:18:08 +0000 Subject: [PATCH 4/8] Account for originalUrl in scan result test Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- tests/site-with-errors.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/site-with-errors.test.ts b/tests/site-with-errors.test.ts index 4a6b00ef..59c66146 100644 --- a/tests/site-with-errors.test.ts +++ b/tests/site-with-errors.test.ts @@ -39,10 +39,11 @@ describe('site-with-errors', () => { it('cache has expected results', () => { const actual = results.map(({issue: {url: issueUrl}, findings}) => { - const {problemUrl, solutionLong, screenshotId, nodes, ...finding} = findings[0] + const {problemUrl, solutionLong, screenshotId, nodes, originalUrl, ...finding} = findings[0] // Check volatile fields for existence only expect(issueUrl).toBeDefined() expect(problemUrl).toBeDefined() + expect(originalUrl).toBeDefined() // Axe-specific assertions if (finding.scannerType === 'axe') { expect(solutionLong).toBeDefined() From 829822d81c33a09605c11dcf97f4d057533e89ff Mon Sep 17 00:00:00 2001 From: Abdul Ahmad Date: Tue, 13 Oct 2026 14:25:44 -0400 Subject: [PATCH 5/8] Add originalUrl property to types definition --- .github/actions/file/src/types.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/file/src/types.d.ts b/.github/actions/file/src/types.d.ts index 08d85737..2a1551c5 100644 --- a/.github/actions/file/src/types.d.ts +++ b/.github/actions/file/src/types.d.ts @@ -10,6 +10,7 @@ export type Finding = { category?: FindingCategory ruleId?: string url: string + originalUrl: string html?: string nodes?: FindingNode[] problemShort: string From aaa7f2d21fb1a8871a3018f40ccc8eabe138a4ff Mon Sep 17 00:00:00 2001 From: Abdul Ahmad Date: Tue, 13 Oct 2026 14:26:03 -0400 Subject: [PATCH 6/8] Make originalUrl required in Solution type Changed originalUrl from optional to required in the Solution type. --- .github/actions/find/src/types.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/find/src/types.d.ts b/.github/actions/find/src/types.d.ts index 0132b9d2..96a40514 100644 --- a/.github/actions/find/src/types.d.ts +++ b/.github/actions/find/src/types.d.ts @@ -17,7 +17,7 @@ export type Finding = { solutionLong?: string screenshotId?: string ruleId?: string - originalUrl?: string + originalUrl: string } export type Cookie = { From 59d0d0f240f4a8bc33351b8e8ce554de65551797 Mon Sep 17 00:00:00 2001 From: Abdul Ahmad Date: Tue, 13 Oct 2026 14:31:08 -0400 Subject: [PATCH 7/8] Add originalUrl property to Finding type --- tests/types.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/types.d.ts b/tests/types.d.ts index ea72c54b..967a71eb 100644 --- a/tests/types.d.ts +++ b/tests/types.d.ts @@ -7,6 +7,7 @@ export type Finding = { scannerType: string ruleId?: string url: string + originalUrl: string html?: string nodes?: FindingNode[] problemShort: string From d6dbf17e353a0a516e9b502508f855d7f3b09f8f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 13 Oct 2026 18:51:44 +0000 Subject: [PATCH 8/8] Fix missing originalUrl build typing Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/actions/find/src/findForUrl.ts | 15 +++++++++++---- .github/actions/find/src/pluginManager/types.ts | 4 ++-- .github/actions/find/src/types.d.ts | 2 ++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/actions/find/src/findForUrl.ts b/.github/actions/find/src/findForUrl.ts index b6e7661f..14c4e30e 100644 --- a/.github/actions/find/src/findForUrl.ts +++ b/.github/actions/find/src/findForUrl.ts @@ -1,4 +1,11 @@ -import type {ColorSchemePreference, Finding, FindingCategory, ReducedMotionPreference, UrlConfig} from './types.d.js' +import type { + ColorSchemePreference, + Finding, + FindingCategory, + FindingInput, + ReducedMotionPreference, + UrlConfig, +} from './types.d.js' import {AxeBuilder} from '@axe-core/playwright' import {accesslintAudit} from '@accesslint/playwright' import playwright from 'playwright' @@ -39,7 +46,7 @@ export async function findForUrl( ) const findings: Finding[] = [] - const addFinding = async (findingData: Finding) => { + const addFinding = async (findingData: FindingInput) => { let screenshotId if (includeScreenshots) { screenshotId = await generateScreenshots(page) @@ -92,7 +99,7 @@ async function runAxeScan({ excludeSelectors, }: { page: playwright.Page - addFinding: (findingData: Finding, options?: {includeScreenshots?: boolean}) => Promise + addFinding: (findingData: FindingInput, options?: {includeScreenshots?: boolean}) => Promise excludeSelectors?: string[] }) { const url = page.url() @@ -129,7 +136,7 @@ async function runAccesslintScan({ addFinding, }: { page: playwright.Page - addFinding: (findingData: Finding, options?: {includeScreenshots?: boolean}) => Promise + addFinding: (findingData: FindingInput, options?: {includeScreenshots?: boolean}) => Promise }) { const url = page.url() core.info(`Scanning ${url} with AccessLint`) diff --git a/.github/actions/find/src/pluginManager/types.ts b/.github/actions/find/src/pluginManager/types.ts index 65b82469..20f39119 100644 --- a/.github/actions/find/src/pluginManager/types.ts +++ b/.github/actions/find/src/pluginManager/types.ts @@ -1,9 +1,9 @@ -import type {Finding} from '../types.d.js' +import type {FindingInput} from '../types.d.js' import playwright from 'playwright' export type PluginDefaultParams = { page: playwright.Page - addFinding: (findingData: Finding) => Promise + addFinding: (findingData: FindingInput) => Promise } export type Plugin = { diff --git a/.github/actions/find/src/types.d.ts b/.github/actions/find/src/types.d.ts index 96a40514..47347f91 100644 --- a/.github/actions/find/src/types.d.ts +++ b/.github/actions/find/src/types.d.ts @@ -20,6 +20,8 @@ export type Finding = { originalUrl: string } +export type FindingInput = Omit + export type Cookie = { name: string value: string