From b129c1e1bb16fc4a7d25317fa11505250c603fe8 Mon Sep 17 00:00:00 2001
From: chrisgarrity <chrisg@media.mit.edu>
Date: Tue, 8 Jan 2019 09:14:07 -0500
Subject: [PATCH] Check for minimum versions of recommended browsers

---
 src/components/browser-modal/browser-modal.jsx |  2 +-
 src/lib/supported-browser.js                   | 12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/components/browser-modal/browser-modal.jsx b/src/components/browser-modal/browser-modal.jsx
index ec4f28bbb..95bfe416e 100644
--- a/src/components/browser-modal/browser-modal.jsx
+++ b/src/components/browser-modal/browser-modal.jsx
@@ -32,7 +32,7 @@ const BrowserModal = ({intl, ...props}) => (
                 <p>
                     { /* eslint-disable max-len */ }
                     <FormattedMessage
-                        defaultMessage="We are very sorry, but Scratch does not support this browser. We recommend trying a supported browser such as Google Chrome, Mozilla Firefox, Microsoft Edge, or Apple Safari."
+                        defaultMessage="We are very sorry, but Scratch does not support this browser version. We recommend updating to the latest version of a supported browser such as Google Chrome, Mozilla Firefox, Microsoft Edge, or Apple Safari."
                         description="Unsupported browser description"
                         id="gui.unsupportedBrowser.description"
                     />
diff --git a/src/lib/supported-browser.js b/src/lib/supported-browser.js
index 181fb1cb6..adf449d01 100644
--- a/src/lib/supported-browser.js
+++ b/src/lib/supported-browser.js
@@ -10,6 +10,14 @@ export default function () {
         bowser.silk) {
         return false;
     }
-    // @todo Should also test for versions of supported browsers
-    return true;
+    // IMPORTANT: If you change versions here, also change them in www
+    // minimum versions for recommended browsers
+    const minVersions = {
+        chrome: '63',
+        msedge: '15',
+        firefox: '57',
+        safari: '11'
+    };
+    // strict mode == false so any browser not mentioned in the min Versions is ok
+    return bowser.check(minVersions, false);
 }
-- 
GitLab