aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib
diff options
context:
space:
mode:
authorPhyrexTsai <x01ep23i@hotmail.com>2018-06-01 15:41:18 +0800
committerGitHub <noreply@github.com>2018-06-01 15:41:18 +0800
commitf90d07019081695ef3d697c5af0ae2bee3bb1637 (patch)
treef7c68bb9bcaaddc035c6595bb78fcba98d6cfd1c /app/scripts/lib
parentcc5bdadbf1f12f3f8d7f24f9bcf7ea81fe93f012 (diff)
parentcc73d869fed79c63261821fb7ad8f1e5180ffca2 (diff)
downloadtangerine-wallet-browser-f90d07019081695ef3d697c5af0ae2bee3bb1637.tar.gz
tangerine-wallet-browser-f90d07019081695ef3d697c5af0ae2bee3bb1637.tar.zst
tangerine-wallet-browser-f90d07019081695ef3d697c5af0ae2bee3bb1637.zip
Merge branch 'develop' into portal-metamask
Diffstat (limited to 'app/scripts/lib')
-rw-r--r--app/scripts/lib/cleanErrorStack.js24
-rw-r--r--app/scripts/lib/get-first-preferred-lang-code.js11
2 files changed, 31 insertions, 4 deletions
diff --git a/app/scripts/lib/cleanErrorStack.js b/app/scripts/lib/cleanErrorStack.js
new file mode 100644
index 000000000..fe1bfb0ce
--- /dev/null
+++ b/app/scripts/lib/cleanErrorStack.js
@@ -0,0 +1,24 @@
+/**
+ * Returns error without stack trace for better UI display
+ * @param {Error} err - error
+ * @returns {Error} Error with clean stack trace.
+ */
+function cleanErrorStack(err){
+ var name = err.name
+ name = (name === undefined) ? 'Error' : String(name)
+
+ var msg = err.message
+ msg = (msg === undefined) ? '' : String(msg)
+
+ if (name === '') {
+ err.stack = err.message
+ } else if (msg === '') {
+ err.stack = err.name
+ } else {
+ err.stack = err.name + ': ' + err.message
+ }
+
+ return err
+}
+
+module.exports = cleanErrorStack
diff --git a/app/scripts/lib/get-first-preferred-lang-code.js b/app/scripts/lib/get-first-preferred-lang-code.js
index 5473fccf0..1e6a83ba6 100644
--- a/app/scripts/lib/get-first-preferred-lang-code.js
+++ b/app/scripts/lib/get-first-preferred-lang-code.js
@@ -2,6 +2,12 @@ const extension = require('extensionizer')
const promisify = require('pify')
const allLocales = require('../../_locales/index.json')
+const isSupported = extension.i18n && extension.i18n.getAcceptLanguages
+const getPreferredLocales = isSupported ? promisify(
+ extension.i18n.getAcceptLanguages,
+ { errorFirst: false }
+) : async () => []
+
const existingLocaleCodes = allLocales.map(locale => locale.code.toLowerCase().replace('_', '-'))
/**
@@ -12,10 +18,7 @@ const existingLocaleCodes = allLocales.map(locale => locale.code.toLowerCase().r
*
*/
async function getFirstPreferredLangCode () {
- const userPreferredLocaleCodes = await promisify(
- extension.i18n.getAcceptLanguages,
- { errorFirst: false }
- )()
+ const userPreferredLocaleCodes = await getPreferredLocales()
const firstPreferredLangCode = userPreferredLocaleCodes
.map(code => code.toLowerCase())
.find(code => existingLocaleCodes.includes(code))