e5246c271e | ||
---|---|---|
src | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
LICENSE | ||
README.md | ||
circle.yml | ||
code_of_conduct.md | ||
package.json | ||
webpack.config.js |
README.md
pulse
Pulse is an upcoming Test Pilot experiment that intends to align user satisfaction and perceived performance with more traditional performance metrics.
Development
Prerequisites: node v7.0.0, npm v3.10.
-
Create a new profile for Pulse development. Launch that profile in either Developer Edition or Nightly.
-
Install the DevPrefs and Extension Auto-Installer add-ons.
-
Clone the repository and install the dependencies:
git clone https://github.com/mozilla/pulse.git cd pulse npm install
-
Run the following command to build the extension and install it to Firefox. While running, it will watch for changes and update the browser to the latest version of the add-on:
npm run watch
-
Use the Browser Console to debug. Filter the log with
pulse.
to filter out messages not logged by Pulse.
Architecture
Pulse is an Embedded WebExtension; an SDK add-on that wholly wraps a WebExtension.
The SDK add-on is responsible for:
- Creating a
<notificationbox>
element to collect prompted feedback. - Establishing a communication channel with the WebExtension.
- Collecting browser analytics to be submitted to telemetry.
- Relaying those analytics to Test Pilot for submission.
While the WebExtension:
- Adds the toolbar icon to the address bar.
- Serves the survey to collect information from the user.
Style
Pulse follows the default formatting recommendations provided by prettier
, but with single quotes. To lint the source tree:
npm run lint
Builds will fail if linting fails.
To automatically clean up the working tree, run:
npm run prettier
More Information
- License: MIT
- Code of conduct: Based on the Contributor Covenant
- IRC:
#testpilot
on irc.mozilla.org