gecko/browser/components/loop
2015-03-06 08:28:16 +00:00
..
content Bug 1131568 - Update the OpenTok SDK to version 2.5.0. r=Standard8 2015-03-06 08:28:16 +00:00
standalone Bug 1047040 - Add browser-specific graphic of GUM prompt to the media-wait message. r=dmose 2015-02-23 13:00:03 -05:00
test Bug 1139471 - Fix an issue with trying to update the Loop desktop room view's state whilst already rendering; This could cause items like tab sharing to still look like they were active even though they weren't. r=jaws 2015-03-06 08:28:15 +00:00
ui Bug 1069962: update ui-showcase to show contacts in the lists and add unit tests for Gravatar support. r=Standard8 2015-02-27 11:08:30 +01:00
.gitignore
build-jsx
CardDavImporter.jsm
GoogleImporter.jsm
jar.mn Bug 1096399 - [Loop] Upgrade React to 0.12.2. r=Standard8 2015-01-06 13:07:26 +01:00
LoopCalls.jsm Bug 1099296 - Attach LoadInfo to remaining callers of ioService and ProtocolHandlers - websocket changes in browser/ (r=gavin) 2015-02-17 10:10:06 -08:00
LoopContacts.jsm
LoopRooms.jsm Bug 1080953 - UITour: tell page when first incoming call is received and if that room window is open. r=dmose,dolske 2014-12-17 22:37:19 -05:00
LoopStorage.jsm
manifest.ini
moz.build
MozLoopAPI.jsm Bug 1131574 - In Loop's tab sharing, make the shared tab follow the active tab. r=mikedeboer 2015-03-02 19:23:35 +00:00
MozLoopPushHandler.jsm Bug 1099296 - Attach LoadInfo to remaining callers of ioService and ProtocolHandlers - websocket changes in browser/ (r=gavin) 2015-02-17 10:10:06 -08:00
MozLoopService.jsm Bug 1094915: cleanup - remove preference clearing of Loop throttle prefs that are not used anymore. r=abr 2015-02-25 12:39:54 +01:00
MozLoopWorker.js
README.txt Bug 1125775 - Add information about the front-end unit tests and ui-showcase to Loop's README.txt. DONTBUILD as NPOTB. r=nperriault 2015-01-26 18:56:20 +00:00
run-all-loop-tests.sh Bug 1113346-update loop test runner script, rs=MattN, NPOTB, DONTBUILD 2014-12-18 14:10:17 -08:00

This is the directory for the Loop desktop implementation and the standalone
client.

The desktop implementation is the UX built into Firefox, activated by the Loop
button on the toolbar. The standalone client is the link-clicker UX for any
modern browser that supports WebRTC.

The standalone client is a set of web pages intended to be hosted on a
standalone server referenced by the loop-server.

The standalone client exists in standalone/ but shares items
(from content/shared/) with the desktop implementation. See the README.md
file in the standalone/ directory for how to run the server locally.

Working with React JSX files
============================

Our views use [React](http://facebook.github.io/react/) written in JSX files
and transpiled to JS before we commit. You need to install the JSX compiler
using npm in order to compile the .jsx files into regular .js ones:

    npm install -g react-tools

Once installed, run build-jsx with the --watch option from
browser/components/loop, eg.:

    cd browser/components/loop
    ./build-jsx --watch

build-jsx can also be do a one-time compile pass instead of watching if
the --watch argument is omitted.  Be sure to commit any transpiled files
at the same time as changes to their sources.


Hacking
=======
Please be sure to execute

  browser/components/loop/run-all-loop-tests.sh

from the top level before requesting review on a patch.


Front-End Unit Tests
====================
The unit tests for Loop reside in three directories:

- test/desktop-local
- test/shared
- test/standalone

You can run these as part of the run-all-loop-tests.sh command above, or you can run these individually in Firefox. To run them individually, start the standalone client (see standalone/README.md) and load:

  http://localhost:3000/test/


Functional Tests
================
These are currently a work in progress, but it's already possible to run a test
if you have a [loop-server](https://github.com/mozilla-services/loop-server)
install that is properly configured.  From the top-level gecko directory,
execute:

  export LOOP_SERVER=/Users/larry/src/loop-server
  ./mach marionette-test browser/components/loop/test/functional/manifest.ini

Once the automation is complete, we'll include this in run-all-loop-tests.sh
as well.


UI-Showcase
===========
This is a tool giving the layouts for all the frontend views of Loop, allowing debugging and testing of css layouts and local component behavior.

To access it, start the standalone client (see standalone/README.md) and load:

  http://localhost:3000/ui/