Loop/Debugging

From MozillaWiki
Jump to: navigation, search

Try This First

Before trying to troubleshoot Hello itself, please take the following steps to determine where in your system things aren't working:

  1. Make sure your camera works. Start up a non-Firefox application like Photobooth or Skype and make sure you can see yourself.
  2. Make sure Firefox can get your camera and show it to you. Go to the gUM test page, run the video test, and check that you can see yourself in Firefox. If not, file a bug on Core/WebRTC: Audio/Video.
  3. Make sure you can run a WebRTC video call. Go to apprtc and join a room. Provide the room link to the partner you've been trying to use Hello with. If they can join and you can have a call, the WebRTC platform is working fine. If it's not, file a bug on Core/WebRTC: Signaling.
  4. Make sure you can run a call with the OpenTok toolkit (one of the components used in Hello): go to the OpenTok demo page, enter a room name of your choosing, and pass it to your partner. If this works, then the OpenTok client is working between your machines. If the OpenTok demo fails, you should still file a bug on the Hello client, but be sure to point out that OpenTok is also not working for you.
  5. If you get this far and Hello is still not working, then you'll want to run through the debugging steps below. If you can figure out whether the issue is on the client or the server, file a bug on the relevant component. Otherwise, file a bug on Loop/General, and we'll figure it out.

Debugging Loop

There are some options/preferences that will help with debugging issues with Loop. We are working on exposing more of the failures via the UI, but these are likely to continue to be useful, especially for developers.

Current Preferences

  • debug.websocket (true/false)
    • This enables debug for the connection activity between client and server when connecting a direct call, or an original call-url based call.
    • This shows information as to what stage the connections have got to, and reasons as to why calls may have been rejected.
  • debug.sdk (true/false)
    • Turns on debugging of the OpenTok sdk
    • This is most useful for debugging if issues are occurring within the sdk, e.g. video/audio setup issues.
  • debug.dispatcher (true/false)
    • This logs "actions" that are generated in the UI.
    • These are to aid developer diagnostics of the flow of information around the flux-based system.
    • Currently only the direct calling outgoing window uses flux.
  • debug.loglevel (All, Info, Warn, Error)
    • Only applicable to Firefox desktop
    • Logs information about the state in the backend services.

How to turn on debugging

Firefox Desktop

Go into about:config and search for the preference, prefixed by 'loop.'. Then set the value to appropriately.

For example, for debug.websocket, set the preference loop.debug.websocket to true.

Debug output is shown on the Browser Console (not the web console), accessible from the Tools -> Web Developer menu.

Link Clicker UI

This is the standalone UI, shown when clicking a link. To turn on debugging:

  • Open the Web Console (accessible from the Tools -> Web Developer Menu)
  • In the line at the bottom, (with the '>' symbol) enter:
localStorage.setItem("debug.websocket", true);
  • (or use the values appropriate to the pref you want to set)
  • Debug output will then appear on the webconsole.
  • The preference value will stay set, until you clear the site's local storage or manually enter:
localStorage.removeItem("debug.websocket");

Logging Bugs

Please log bugs in bugzilla under 'Loop' Product: