Feature/global exclusion list#348
Merged
Merged
Conversation
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.
Changes proposed in this Pull Request
This pull request introduces a new multi-layer link exclusion system for the Internet Archive Wayback Machine Link Fixer plugin, allowing links to be excluded from checking and archiving based on a built-in list, user settings, or a per-link flag. It includes updates to backend logic, admin UI, E2E and unit tests, and developer tooling for comprehensive testing and management of exclusion rules.
Core exclusion logic and settings:
Link_Exclusionto support three exclusion layers: built-in patterns (now bundled inSettings::BUNDLED_LINK_EXCLUSIONSand filterable), user settings, and per-link flags. Added methods to check each layer and updated filtering logic to use the new structure. [1] [2]Settings::BUNDLED_LINK_EXCLUSIONSconstant andget_bundled_link_exclusions()method to provide a filterable built-in exclusion list, defaulting to LinkedIn domains. [1] [2]Integration with link checking and admin UI:
Link_Check_Action::check_link()to skip checking links matched by any exclusion layer, treating them as valid and un-checked. [1] [2]Testing and developer tooling:
link-details-exclusion.spec.js) and a helper mu-plugin (iawmlf-e2e-exclusion.php) to seed, toggle, and clean up test links, verifying the correct exclusion priority and UI behavior. [1] [2] [3]Test_Link_Check_Action) to ensure the backend skips excluded links and checks non-excluded links as expected.Testing instructions
Mentions #