From 02f860f374de5c457db731c9f037f47a5d077b14 Mon Sep 17 00:00:00 2001
From: Greg Fodor <gfodor@gmail.com>
Date: Tue, 22 May 2018 13:03:05 -0700
Subject: [PATCH] Add debug mode and ability to set log levels on query string

---
 src/hub.js | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/hub.js b/src/hub.js
index 8bd8e2a29..4a19c796d 100644
--- a/src/hub.js
+++ b/src/hub.js
@@ -6,6 +6,7 @@ import { patchWebGLRenderingContext } from "./utils/webgl";
 patchWebGLRenderingContext();
 
 import "aframe-xr";
+import debug from "debug";
 import "./vendor/GLTFLoader";
 import "networked-aframe/src/index";
 import "naf-janus-adapter";
@@ -129,11 +130,19 @@ function qsTruthy(param) {
 }
 
 const isBotMode = qsTruthy("bot");
+const isTelemetryDisabled = qsTruthy("disable_telemetry");
+const isDebug = qsTruthy("debug");
+const logFilter = qs["log_filter"] || (isDebug && "naf-janus-adapter:*");
 
-if (!isBotMode) {
+if (!isBotMode && !isTelemetryDisabled) {
   registerTelemetry();
 }
 
+// NOTE: this needs to happen after a-frame's `utils/debug.js` file has been eval'ed because it overwrites any prior debug settings :/
+if (logFilter) {
+  debug.enable(logFilter);
+}
+
 disableiOSZoom();
 
 AFRAME.registerInputBehaviour("trackpad_dpad4", trackpad_dpad4);
@@ -237,7 +246,8 @@ const onReady = async () => {
 
     scene.setAttribute("networked-scene", {
       room: hubId,
-      serverURL: process.env.JANUS_SERVER
+      serverURL: process.env.JANUS_SERVER,
+      debug: isDebug
     });
 
     scene.setAttribute("stats-plus", false);
@@ -310,12 +320,17 @@ const onReady = async () => {
       scene.components["networked-scene"].connect().catch(connectError => {
         // hacky until we get return codes
         const isFull = connectError.error && connectError.error.msg.match(/\bfull\b/i);
+        console.error(connectError);
         remountUI({ roomUnavailableReason: isFull ? "full" : "connect_error" });
         exitScene();
 
         return;
       });
 
+      if (isDebug) {
+        NAF.connection.adapter.session.options.verbose = true;
+      }
+
       if (isBotMode) {
         playerRig.setAttribute("avatar-replay", {
           camera: "#player-camera",
-- 
GitLab