Browse Source

Handle cases where Jed and/or Strophe.disco aren't available

JC Brand 8 years ago
parent
commit
9e8c034b42
2 changed files with 8 additions and 3 deletions
  1. 3 1
      src/converse-ping.js
  2. 5 2
      src/utils.js

+ 3 - 1
src/converse-ping.js

@@ -56,7 +56,9 @@
             };
 
             _converse.registerPongHandler = function () {
-                _converse.connection.disco.addFeature(Strophe.NS.PING);
+                if (!_.isUndefined(_converse.connection.disco)) {
+                    _converse.connection.disco.addFeature(Strophe.NS.PING);
+                }
                 _converse.connection.ping.addPingHandler(_converse.pong);
             };
 

+ 5 - 2
src/utils.js

@@ -6,7 +6,7 @@
 // Copyright (c) 2012-2017, Jan-Carel Brand <jc@opkode.com>
 // Licensed under the Mozilla Public License (MPLv2)
 //
-/*global define, escape, locales, Jed */
+/*global define, escape, locales, window */
 (function (root, factory) {
     define([
         "sizzle",
@@ -86,8 +86,11 @@
     // Translation machinery
     // ---------------------
     u.__ = function (str) {
+        if (_.isUndefined(window.Jed)) {
+            return str;
+        }
         if (!u.isConverseLocale(this.locale) || this.locale === 'en') {
-            return Jed.sprintf.apply(Jed, arguments);
+            return Jed.sprintf.apply(window.Jed, arguments);
         }
         if (typeof this.jed === "undefined") {
             this.jed = new Jed(window.JSON.parse(locales[this.locale]));