Fixed pattern matching for external and internal page links #2133
Summary
Pattern matching for the /p/ pages is broken on production. To replicate, go and click the iOS link in the footer.
Our system is seeing the URL itunes.apple.com/us/app/minds-com/id961771928%3Fmt Seeing that it contains '/p' and thinking that it is an internal page
This happened because the system was looking simply for indexOf('p/')
For this fix I have upgraded that check to a regex check, in a commonly held service.
Steps to test
Ignore the first iPhone link - that is invalid data that for now is trapped in the sandbox. (If there is now only 1 link for iPhone, include it in the test, we may have found the missing schema and fixed).
- Not logged in, check the links on the bottom footer, ensure they're all working
- Log in, check the links on the newsfeed footer
- Check the links on the actual /p/ pages, like https://www.minds.com/p/terms-of-service/
- Check the pro footer hasn't been effected https://www.minds.com/pro
Estimated Regression Scope
The components touched by this are: Footer, register homepage and newsfeed.
I think the worst-case scenario would be a failure in the Regex logic causing another pattern matching issue.