feat: See which rules are affecting a particular SERP entry #522
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
This PR implements a feature requested on issue #469 that allows the user to inspect which rules are having and effect on a particular search result.
This can be really useful in situations where you have multiple subscriptions that are very long and you don't know which exact rule might be causing an undesired effect.
Demo
matching-rules-demo.mp4
Technical Summary
This implementation consists basically of an expansion of the
InteractiveRuleset
module, leveraging already existing functions liketestRawWithURLParts
in order to query all rules that are affecting a particularSerpEntry
.In order to accomplish this, subscriptions names are now tracked by the aforementioned class.
After this, the information is stored in a particular format and passed to the
block-dialog
React component, which shows it in the newly added interface.Both English and Brazilian Portuguese localizations are implemented.
Side Note
There seems to be an issue with the popup interface for the browser action (toolbar button) in the Firefox version of extension, but after checking into it, the bug already existed prior to the changes in this PR. (I'll probably look into it later.)