diff --git a/zerver/signals.py b/zerver/signals.py index 3b73937dcb..d78d948e96 100644 --- a/zerver/signals.py +++ b/zerver/signals.py @@ -53,6 +53,8 @@ def get_device_os(user_agent: str) -> Optional[str]: return "iOS" elif "like mac os x" in user_agent: return "iOS" + elif " cros " in user_agent: + return "ChromeOS" else: return None diff --git a/zerver/tests/test_new_users.py b/zerver/tests/test_new_users.py index 383a174963..897e924df8 100644 --- a/zerver/tests/test_new_users.py +++ b/zerver/tests/test_new_users.py @@ -153,6 +153,9 @@ class TestBrowserAndOsUserAgentStrings(ZulipTestCase): ' (KHTML, like Gecko) Chrome/ Safari' '/ Edge/.' '', 'Edge', 'Windows'), + ('Mozilla/5.0 (X11; CrOS x86_64 10895.56.0) AppleWebKit/537.36' + '(KHTML, like Gecko) Chrome/69.0.3497.95 Safari/537.36', + 'Chrome', 'ChromeOS'), ('', None, None), ]