Conversation
Post-release version bump to the next patch snapshot. Co-Authored-By: Claude <noreply@anthropic.com>
The release bump-version job updated 28 pom.xml files in the workspace, but 'git add VERSION **/pom.xml' only staged one-directory-deep POMs (bash without globstar treats '**' as '*'). The root parent POM and all nested module POMs stayed on 4.11.12-SNAPSHOT, breaking parent POM resolution in CI. - Bump the remaining 22 POMs (root + nested modules) to 4.11.13-SNAPSHOT - Stage the root pom.xml explicitly in release.yml and quote the glob so git's own pathspec expands '**' to any depth Co-Authored-By: Claude <noreply@anthropic.com>
…renderer predicates Both renderers treated ref-addressability (backendNodeId/locator) as an interactivity signal: the 'ref != null' / 'ref > 0' early returns qualified virtually every DOM node (CDP assigns backend node ids broadly), turning AriaSnapshotOptions(interactive = true) into a no-op filter that leaked headings, paragraphs, listitems and generic containers into interactive-only output. - Add AriaSnapshotFiltering as the single shared predicate: a role widget (INTERACTIVE_ROLES) or an isInteractable signal qualifies; refs never qualify. - AriaSnapshotRenderer and NanoAriaSnapshotRenderer now call the shared predicate, so viewport/nano and whole-page/full renderers agree on the same DOM. - While interactive mode is active, skip --compact collapsing so kept interactive nodes (e.g. nameless cursor:pointer divs) are not dropped. - Unit tests for both renderers (structural roles excluded even with refs, plain div with backendNodeId does not survive, descendants promoted, input type matrix, identical output across renderers) plus an E2E strict-mode test. Closes #3 Co-Authored-By: Claude <noreply@anthropic.com>
Post-release version bump to the next patch snapshot. Co-Authored-By: Claude <noreply@anthropic.com>
DOM_*_IMG / DOM_*_HREF helpers auto-append the target tag (img/a) to the css query when it is missing. appendSelectorIfMissing split the query on raw whitespace, so spaces inside a pseudo-class argument such as img:expr(width > 200) broke the detection and the query was rewritten to "img:expr(width > 200) img", which silently matches nothing (an image cannot contain an image): empty column, exit 0. Split only on top-level whitespace, ignoring spaces inside parentheses, brackets and quoted strings, so img:expr(width > 200), a:contains(Some Text) and img[src*="a b"] are left intact while ":root" / "div.gallery" still get "img" appended. Closes #5 Co-Authored-By: Claude <noreply@anthropic.com>
github-actions
Bot
force-pushed
the
main
branch
from
September 8, 2026 17:14
eb4e888 to
2fb80a8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes #5:
DOM_FIRST_IMG/DOM_NTH_IMG/DOM_ALL_IMGS(and the link helpers) with a PowerCSS:expr(...)selector silently matched nothing.Root cause
appendSelectorIfMissing()inpulsar-dom(used by the image/link scanning helpers inDomSelectFunctionsandDomQueries) decided whether the query already targetsimg/aby splitting the query on raw whitespace. Spaces inside a pseudo-class argument such asimg:expr(width > 200)were mistaken for selector separators, so the query was rewritten intoimg:expr(width > 200) img— an image element that contains a descendant image, which never matches. Result: empty column, exit 0, silent data loss.Fix
appendSelectorIfMissing()now splits only on top-level whitespace, ignoring spaces inside parentheses, brackets and quoted strings:img:expr(width > 200)→ unchanged (wasimg:expr(width > 200) img) ✅a:contains(Some Text)→ unchanged (same bug for links) ✅img[src*="a b"]→ unchanged ✅:root/div.gallery/div:expr(width > 100)→ still getimgappended, as before ✅Tests
TestImageQueries(pulsar-dom-tests, 5 tests):appendSelectorIfMissingbehavior + end-to-endPowerSelector/selectImageswithimg:expr(width > 200)against aFeaturedDocumentwithvigeometry.DomImageFunctionExprTests(pulsar-ql-tests, 3 tests):DOM_FIRST_IMG/DOM_NTH_IMG/DOM_ALL_IMGSwithimg:expr(width > 200)return the wide-image srcs.Both suites failed before the fix and pass after. Full
pulsar-dom-testsmodule: 376 tests, 0 failures.