From 9f81c85ca7f1221670168e0643ff933687b9a6ca Mon Sep 17 00:00:00 2001 From: Sergey Mishin Date: Mon, 13 Apr 2015 19:07:39 +0300 Subject: [PATCH 1/2] fix using detect localStorage --- .../syncthing/core/services/localeService.js | 32 ++++++++++--------- internal/auto/gui.files.go | 4 +-- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/gui/scripts/syncthing/core/services/localeService.js b/gui/scripts/syncthing/core/services/localeService.js index b594ed20..d27947d6 100644 --- a/gui/scripts/syncthing/core/services/localeService.js +++ b/gui/scripts/syncthing/core/services/localeService.js @@ -18,6 +18,20 @@ angular.module('syncthing.core') _availableLocales = locales; }; + function isLocalStorageEnabled () { + // Feature detect localStorage; https://mathiasbynens.be/notes/localstorage-pattern + try { + var uid = new Date(); + var storage = window.localStorage; + storage.setItem(uid, uid); + var success = storage.getItem(uid) == uid; + storage.removeItem(uid); + return success; + } catch (exception) { + return false; + } + } + this.$get = ['$http', '$translate', '$location', function ($http, $translate, $location) { /** @@ -32,22 +46,10 @@ angular.module('syncthing.core') } function autoConfigLocale() { - // Feature detect localStorage; https://mathiasbynens.be/notes/localstorage-pattern - var storage; - var fail; - var uid; - try { - uid = new Date; - (storage = window.localStorage).setItem(uid, uid); - fail = storage.getItem(uid) != uid; - storage.removeItem(uid); - fail && (storage = false); - } catch (exception) {} - var params = $location.search(); var savedLang; - if (storage) { - savedLang = storage[_SYNLANG]; + if (isLocalStorageEnabled()) { + savedLang = localStorage[_SYNLANG]; } if(params.lang) { @@ -99,7 +101,7 @@ angular.module('syncthing.core') function useLocale(language, save2Storage) { if (language) { $translate.use(language).then(function () { - if (save2Storage && typeof(localStorage) != 'undefined') + if (save2Storage && isLocalStorageEnabled()) localStorage[_SYNLANG] = language; }); } diff --git a/internal/auto/gui.files.go b/internal/auto/gui.files.go index 19409258..355ab938 100644 --- a/internal/auto/gui.files.go +++ b/internal/auto/gui.files.go @@ -5,7 +5,7 @@ import ( ) const ( - AssetsBuildDate = "Sun, 12 Apr 2015 22:43:36 GMT" + AssetsBuildDate = "Mon, 13 Apr 2015 16:04:48 GMT" ) func Assets() map[string][]byte { @@ -109,7 +109,7 @@ func Assets() map[string][]byte { assets["scripts/syncthing/core/module.js"], _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/0rMSy/NSSzSy81PKc1J1VAvrsxLLsnIzEvXS84vSlXXUYiO1bTmAgAAAP//AQAA//+OUhsnJgAAAA==") - assets["scripts/syncthing/core/services/localeService.js"], _ = base64.StdEncoding.DecodeString("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") + assets["scripts/syncthing/core/services/localeService.js"], _ = base64.StdEncoding.DecodeString("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") assets["vendor/angular/angular-translate-loader.min.js"], _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/0SPsW4iMRCG+3sKM0I6W7L8AKCrTtw16ZIOURh7nDXx2pvxLAQtvHucJZBuPP413/fb/DomS6YvfkwoYbDV2TQQuo4Nk801WUZQJljHhc4Slo/tM1uO7l9MWJ+K9Uigt7B8Bw3LjnkAHcbsOJYsrd6riZBHyuKxdGqKQS7c5bJwphFD/JjHOoY2Ku6onETGk9gQFZLwt4zJ598sUoOJOsNF+KJrkYu4XRCFxO2AqAO6GCL6Baj10ZLwf6zxGJCkWn/L7OU0Ulpt7wLamTc867vEzhxKzBJA6R65K34F/zcvoAdLtq8rgKtqSeewVvlTVk3eENaSjtgeLYJzgUfg9n9Ax3LGtYj2TaD0seL1ulPrX58AAAD//wEAAP//1rAncZcBAAA=") From 2322e9cff74694ca51acb753717337b6fa100843 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 16 Apr 2015 23:43:11 +0900 Subject: [PATCH 2/2] Store and use _localStorage object --- .../syncthing/core/services/localeService.js | 38 ++++++++++--------- internal/auto/gui.files.go | 4 +- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/gui/scripts/syncthing/core/services/localeService.js b/gui/scripts/syncthing/core/services/localeService.js index d27947d6..fe4ea3a0 100644 --- a/gui/scripts/syncthing/core/services/localeService.js +++ b/gui/scripts/syncthing/core/services/localeService.js @@ -2,8 +2,23 @@ angular.module('syncthing.core') .provider('LocaleService', function () { 'use strict'; + function detectLocalStorage() { + // Feature detect localStorage; https://mathiasbynens.be/notes/localstorage-pattern + try { + var uid = new Date(); + var storage = window.localStorage; + storage.setItem(uid, uid); + var success = storage.getItem(uid) == uid; + storage.removeItem(uid); + return storage; + } catch (exception) { + return undefined; + } + } + var _defaultLocale, - _availableLocales; + _availableLocales, + _localStorage = detectLocalStorage(); var _SYNLANG = "SYN_LANG"; // const key for localStorage @@ -18,19 +33,6 @@ angular.module('syncthing.core') _availableLocales = locales; }; - function isLocalStorageEnabled () { - // Feature detect localStorage; https://mathiasbynens.be/notes/localstorage-pattern - try { - var uid = new Date(); - var storage = window.localStorage; - storage.setItem(uid, uid); - var success = storage.getItem(uid) == uid; - storage.removeItem(uid); - return success; - } catch (exception) { - return false; - } - } this.$get = ['$http', '$translate', '$location', function ($http, $translate, $location) { @@ -48,8 +50,8 @@ angular.module('syncthing.core') function autoConfigLocale() { var params = $location.search(); var savedLang; - if (isLocalStorageEnabled()) { - savedLang = localStorage[_SYNLANG]; + if (_localStorage) { + savedLang = _localStorage[_SYNLANG]; } if(params.lang) { @@ -101,8 +103,8 @@ angular.module('syncthing.core') function useLocale(language, save2Storage) { if (language) { $translate.use(language).then(function () { - if (save2Storage && isLocalStorageEnabled()) - localStorage[_SYNLANG] = language; + if (save2Storage && _localStorage) + _localStorage[_SYNLANG] = language; }); } } diff --git a/internal/auto/gui.files.go b/internal/auto/gui.files.go index 850b336a..799d51ee 100644 --- a/internal/auto/gui.files.go +++ b/internal/auto/gui.files.go @@ -5,7 +5,7 @@ import ( ) const ( - AssetsBuildDate = "Thu, 16 Apr 2015 14:26:49 GMT" + AssetsBuildDate = "Thu, 16 Apr 2015 14:40:42 GMT" ) func Assets() map[string][]byte { @@ -109,7 +109,7 @@ func Assets() map[string][]byte { assets["scripts/syncthing/core/module.js"], _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/0rMSy/NSSzSy81PKc1J1VAvrsxLLsnIzEvXS84vSlXXUYiO1bTmAgAAAP//AQAA//+OUhsnJgAAAA==") - assets["scripts/syncthing/core/services/localeService.js"], _ = base64.StdEncoding.DecodeString("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") + assets["scripts/syncthing/core/services/localeService.js"], _ = base64.StdEncoding.DecodeString("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") assets["vendor/angular/angular-translate-loader.min.js"], _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/0SPsW4iMRCG+3sKM0I6W7L8AKCrTtw16ZIOURh7nDXx2pvxLAQtvHucJZBuPP413/fb/DomS6YvfkwoYbDV2TQQuo4Nk801WUZQJljHhc4Slo/tM1uO7l9MWJ+K9Uigt7B8Bw3LjnkAHcbsOJYsrd6riZBHyuKxdGqKQS7c5bJwphFD/JjHOoY2Ku6onETGk9gQFZLwt4zJ598sUoOJOsNF+KJrkYu4XRCFxO2AqAO6GCL6Baj10ZLwf6zxGJCkWn/L7OU0Ulpt7wLamTc867vEzhxKzBJA6R65K34F/zcvoAdLtq8rgKtqSeewVvlTVk3eENaSjtgeLYJzgUfg9n9Ax3LGtYj2TaD0seL1ulPrX58AAAD//wEAAP//1rAncZcBAAA=")