In a bug report titled “Watch Words Replace - Link” under the “Bug” category with tag “watched-words”, Heliosurge reports an issue where users receive a false warning about duplicate links when the system auto-replaces watched words — a feature replacing text with links. sam acknowledges it as an edge case worth fixing. nbianca confirms a fix was implemented via PR #14742. Heliosurge also notes a secondary issue: watched word replacements incorrectly altering parts of usernames (e.g., @pimaxquorra becomes a link). JammyDodger investigates and finds the issue may be resolved on “tests-passed” branch, citing PR #14260, but confirms the bug persists in “stable”. Heliosurge provides screenshots showing partial replacements in usernames. JammyDodger suggests enabling regular expressions with word boundaries (\b) to target exact matches, like \bsteam\b to avoid replacing “SteamVR”. Heliosurge confirms using simple word matching, not regex, and seeks exact-word targeting. nbianca identifies the root cause as regex being enabled and submits PR #14760 for a better fix. Heliosurge thanks the team and notes the need to wait for fixes to reach “stable”. JammyDodger clarifies that without regex, exact matching works automatically, and regex with \b boundaries can refine targeting. Heliosurge confirms testing on both branches: “stable” lacks regex support and requires \b syntax, while “tests-passed” works without it. JammyDodger notes the “Watched Words” revamp includes useful tweaks pending stable rollout. Heliosurge expresses excitement for upcoming features on “tests-passed” but notes main site remains on “stable”.
Hi I have recently used Watch Words Replace function as the old theme component Linkify words
This works great. However I have been notified by a user he receives a warning nag pop up that the link has already been used in a topic. As the member is not posting.a link. It is a system function. The user should not have this inconvenience.
I’ve just checked on my test site, and while it shows a match&replace in the test box, in a ‘real’ post it does not make the replacement. (watched word to replace = *one)
Ah, that may be why. I’m on tests-passed, and that one gets more frequent updates.
Though I notice that your link only targets a portion of the username/word rather than the whole lot as mine did. I wonder if you’ve also got ‘watched words are regular expressions’ set as well? That may have an effect.
I realized that the problem was when watched_words_regular_expression was enabled. I think I have a better fix for this problem in place and it will be available in tests-passed once the PR is merged:
Without watched words regular expressions set it actually does that automatically. I had to add wildcards * to catch a word that was part of a username/longer word.
With the regular expressions you can do it with boundaries (\b). So \bsteam\b would only catch ‘steam’ and not ‘steamVR’ or ‘somethingsteam’.
I can replicate the partial substitution if I have watched words regular expressions set in the admin settings, so it may be worth a check?
Stable only has Replace no separate link setting in Watched Words.
With or without regular expression turned on the replace watched words doesn’t work with the /bword/b. In fact you need to add the /bword/b for word to be recognized instead of just word
Test Passed works without needing the /bword/b in Link watched words.
So looks like just need to wait for Tests Passed to roll out to Stable.
Ah, I thought it was only the @mentions fix you were missing. Oh well, the Watched Words revamp sounds like it’s got a few useful tweaks for you when you get it. Hopefully it won’t be long.
Indeed can play with some of the new stuff on our test passed testing server. Unfortunately our main is using stable. There are a number of improvements that I can’t wait to be available on stable branch.