Fix furry detector doesn’t match theta-delta in description #239
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.
This fixes the weird behavior of the furry matcher as described here (internal). In short, in some cases (but not all!), descriptions containing the theta-delta therian symbols do not pass the furry detector, even though the regular expression allows it:
/(Θ|θ)(∆|Δ)/
.The reason for this outlier behavior is due to lowercasing the description, which we do for simpler comparisons, as JavaScript doesn’t have a case-insentitive
strings.EqualFold
comparison. The detector passes when the profile descriptions contains an increment operator (Δ
) but not an uppercase delta (Δ
) as the updated description would contain a lowercase delta (δ
) at time of regex check.To fix this, this adds the
i
ignore-case modifier to the therian regex, allowing alsoθδ
as side-effect.