Преглед на файлове

Reduce loglevel with no OMEMO devices found

JC Brand преди 4 месеца
родител
ревизия
a9b1b93cd7
променени са 3 файла, в които са добавени 11 реда и са изтрити 12 реда
  1. 7 4
      src/plugins/omemo/devicelist.js
  2. 3 4
      src/plugins/omemo/store.js
  3. 1 4
      src/plugins/omemo/utils.js

+ 7 - 4
src/plugins/omemo/devicelist.js

@@ -1,6 +1,6 @@
 import { Model } from "@converse/skeletor";
 import { getOpenPromise } from "@converse/openpromise";
-import { _converse, api, converse, log, u } from "@converse/headless";
+import { _converse, api, converse, errors, log, parsers, u } from "@converse/headless";
 
 const { Strophe, stx, sizzle } = converse.env;
 
@@ -34,12 +34,15 @@ class DeviceList extends Model {
                 ids = await this.fetchDevicesFromServer();
             } catch (e) {
                 if (e === null) {
-                    log.error(`Timeout error while fetching devices for ${this.get("jid")}`);
+                    log.error(`Timeout error while fetching OMEMO devices for ${this.get("jid")}`);
+                    this.destroy();
+                } else if (u.isElement(e) && (await parsers.parseErrorStanza(e)) instanceof errors.ItemNotFoundError) {
+                    log.debug(`No OMEMO devices found for ${this.get("jid")}`);
                 } else {
-                    log.error(`Could not fetch devices for ${this.get("jid")}`);
+                    log.error(`Could not fetch OMEMO devices for ${this.get("jid")}`);
                     log.error(e);
+                    this.destroy();
                 }
-                this.destroy();
             }
             const bare_jid = _converse.session.get("bare_jid");
             if (this.get("jid") === bare_jid) {

+ 3 - 4
src/plugins/omemo/store.js

@@ -296,16 +296,15 @@ class OMEMOStore extends Model {
         if (this._setup_promise === undefined) {
             this._setup_promise = new Promise((resolve, reject) => {
                 this.fetch({
-                    "success": () => {
+                    success: () => {
                         if (!this.get("device_id")) {
                             this.generateBundle().then(resolve).catch(reject);
                         } else {
                             resolve();
                         }
                     },
-                    "error": (model, resp) => {
-                        log.warn("Could not fetch OMEMO session from cache, we'll generate a new one.");
-                        log.warn(resp);
+                    error: (_model, resp) => {
+                        log.warn(`Could restore OMEMO session, we'll generate a new one: ${resp}`);
                         this.generateBundle().then(resolve).catch(reject);
                     },
                 });

+ 1 - 4
src/plugins/omemo/utils.js

@@ -750,10 +750,7 @@ export function registerPEPPushHandler() {
                 if (sizzle(`event[xmlns="${Strophe.NS.PUBSUB}#event"]`, message).length) {
                     await api.waitUntil("OMEMOInitialized");
                     await updateDevicesFromStanza(message);
-                    await updateBundleFromStanza(message);
-                }
-            } catch (e) {
-                log.error(e.message);
+                    await updateBundleFromStanza(message); } } catch (e) { log.error(e.message);
             }
             return true;
         },