Skip to content

Preserve feed URL ampersands and restore WordPress trunk CI - #742

Merged
akirk merged 6 commits into
mainfrom
fix/feed-tests-wordpress-trunk
Oct 14, 2026
Merged

akirk merged 6 commits into
mainfrom
fix/feed-tests-wordpress-trunk

Conversation

@akirk

@akirk akirk commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Feed URLs containing query parameters such as &parameters=that are decoded as HTML character references by WordPress trunk's GUID filters, corrupting the stored URL and causing repeated imports to create duplicate posts. Escape the permalink before passing it through those filters, and extend the ampersand regression test to check both the remote-post map and the direct URL lookup.

Restore the CI matrix by ignoring only dependency PHP upper bounds, preserving minimum PHP and extension requirements so Composer cannot install an incompatible PHPUnit dependency. Update ActivityPub assertions to verify image attributes and mention content independently of HTML attribute order.

Validation:

  • GitHub Actions: unit and multisite tests on PHP 7.4 and 8.0–8.4 against WordPress trunk.
  • GitHub Actions: lint and coding standards.
  • Local coding standards check for includes/class-feed.php, PHP syntax checks for the modified tests, and git diff --check.
Changelog
  • Automatically create a changelog entry from the details below

Type

  • Fixed

Message

Preserve ampersands in imported feed URLs to prevent corrupted links and duplicate posts on newer WordPress versions.

Test this PR in WordPress Playground

You can test this pull request directly in WordPress Playground:

Launch WordPress Playground

This will install and activate the plugin with the changes from this PR.

@akirk
akirk merged commit 62bf26c into main Oct 14, 2026
26 checks passed
@akirk
akirk deleted the fix/feed-tests-wordpress-trunk branch October 14, 2026 03:09
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.

1 participant