fix chrome mobile version parsing #98
Merged
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.
We use a fork of https://github.com/faisalman/ua-parser-js to parse browser info from the UA string. Last year (like March 2015) we added a custom regex to identify mobile chrome browsers. One of our customers noticed that we weren't getting the version number for Chrome Mobile, and turns out our custom regex needed some adjustments. Judging by the existing unit tests, the missing version number issue was actually expected (the test cases expect
undefinedas the parse result). I've fixed the regex and updated those old test cases.Quick explanation of the regex: it's expecting 2 values in the match, a browser name and a browser version, but the regex is structured to only grab the version. When the library lines the matches up with the expected values, the version number doesn't get a match. To fix that I parse out chrome as well, so now there are 2 values in the match.