summary refs log tree commit diff
path: root/webclient/app.js
diff options
context:
space:
mode:
authorEmmanuel ROHEE <erohee@amdocs.com>2014-09-19 15:18:30 +0200
committerEmmanuel ROHEE <erohee@amdocs.com>2014-09-19 17:20:33 +0200
commitf9688d7519dad2f55f949cbb565db836790c4bbe (patch)
tree2cc8ee6e547201791888df16417fe5e847ef1951 /webclient/app.js
parentSYN-47: Fix bug where we still returned events for rooms we had left. (diff)
downloadsynapse-f9688d7519dad2f55f949cbb565db836790c4bbe.tar.xz
SYWEB-13: Do not start the app if the browser does not support WEBStorage.
Internet Explorer case: Launch the app only for versions 9 and higher.
Diffstat (limited to 'webclient/app.js')
-rw-r--r--webclient/app.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/webclient/app.js b/webclient/app.js
index 9370f773b3..31118304c6 100644
--- a/webclient/app.js
+++ b/webclient/app.js
@@ -80,7 +80,24 @@ matrixWebClient.config(['$routeProvider', '$provide', '$httpProvider',
         $httpProvider.interceptors.push('AccessTokenInterceptor');
     }]);
 
-matrixWebClient.run(['$location', 'matrixService', function($location, matrixService) {
+matrixWebClient.run(['$location', '$rootScope', 'matrixService', function($location, $rootScope, matrixService) {
+
+    // Check browser support
+    // Support IE from 9.0. AngularJS needs some tricks to run on IE8 and below
+    var version = parseFloat($.browser.version);
+    if ($.browser.msie && version < 9.0) {
+        $rootScope.unsupportedBrowser = {
+            browser: navigator.userAgent,
+            reason: "Internet Explorer is supported from version 9"
+        };
+    }
+    // The app requires localStorage
+    if(typeof(Storage) === "undefined") {
+        $rootScope.unsupportedBrowser = {
+            browser: navigator.userAgent,
+            reason: "It does not support HTML local storage"
+        };
+    }
 
     // If user auth details are not in cache, go to the login page
     if (!matrixService.isUserLoggedIn() &&