gecko/browser/components/loop
2014-08-07 15:45:08 +01:00
..
content Bug 1000771: Add a button to copy Loop urls to the clipboard. r=mikedeboer 2014-08-07 15:45:08 +01:00
standalone Bug 1022594 Part 1 Change Loop's incoming call handling to get the call details before displaying the incoming call UI. r=nperriault 2014-08-05 15:54:55 +01:00
test Bug 1000771: Add a button to copy Loop urls to the clipboard. r=mikedeboer 2014-08-07 15:45:08 +01:00
ui Bug 1000771: Add a button to copy Loop urls to the clipboard. r=mikedeboer 2014-08-07 15:45:08 +01:00
.gitignore Bug 1044796 Provide an option to Loop's standalone client makefile to create a version.txt file. r=nperriault 2014-07-30 17:13:16 +01:00
build-jsx Bug 1033715 - Add build script to transpile JSX files to JS, r=dmose 2014-07-07 14:45:00 -07:00
jar.mn Bug 1040662: Upgrade Loop's use of React to version 0.11.1. r=Standard8 2014-08-04 16:35:35 +01:00
manifest.ini Bug 994483 Add Loop unit tests to tbpl. r=dburns 2014-06-05 15:45:16 +01:00
moz.build Bug 1044162 - part 1 - make EXTRA_{PP_,}JS_MODULES communicate their installation path; r=mshal 2014-07-25 13:40:07 -04:00
MozLoopAPI.jsm Bug 1000771: Add a button to copy Loop urls to the clipboard. r=mikedeboer 2014-08-07 15:45:08 +01:00
MozLoopPushHandler.jsm Bug 1002414 - Part 1: Add retry logic to PushServer user agent. r=standard8 2014-07-17 15:28:38 -07:00
MozLoopService.jsm Bug 1035369 Update the parameter name for the push url when registering with the Loop server to match with the latest version of the API. r=mdeboer 2014-07-29 17:17:40 +01:00
MozLoopWorker.js Bug 998989 - anonymize sensitive data in telemetry log. r=ekr, r=dveditz 2014-07-10 19:53:44 -04:00
README.txt Bug 976114 - stand up basic functional test for a fetching a URL, r=Standard8 2014-08-05 07:21:28 -07:00
run-all-loop-tests.sh Bug 1039757 Add a script to run relevant unit tests for Loop. r=dmose 2014-07-17 09:27:47 +01: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.


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

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

from the top level before requesting review on a patch.


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.


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.