Signal-Desktop/README.md

72 lines
2.8 KiB
Markdown
Raw Normal View History

2014-03-06 18:12:24 +00:00
TextSecure Chromium Implementation
==================================
This is very early stuff and exists primarily to get the crypto in place.
2014-07-26 22:14:09 +00:00
*This does not currently work, dont bother trying to use it seriously yet*
Getting Started with Development
================================
These steps are for **development only**.
* Clone the repo
* Open Chrome
* Go to chrome://extensions/
* Enable developer mode (checkbox on the top right)
* Click "Load unpacked extension..."
* Point to the repo's directory
Note that for development, the TextSecure staging environment uses a self-signed certificate, which Chrome will complain is insecure. So first visit <https://textsecure-service-staging.whispersystems.org/> in your browser and allow the certificate.
Now, in the extension's options, you can register for TextSecure:
* Select "Register" under "I'm new to TextSecure".
* Enter a real phone number (Google Voice numbers work too) and country combination and choose to send an SMS. You will receive a real SMS.
* Enter the verification code you received by SMS.
You should now be able to use the extension. If you need to reset your development environment, open a browser console within the extension options page (or inspect `background.html`) and execute `localStorage.clear()` to clear out the settings.
Dependencies
============
Dependencies are managed by [bower](bower.io). You'll need to install
node, npm, and bower to change them.
### Adding a bower component
2014-10-30 21:41:29 +00:00
Add the package name and version to bower.json under 'dependencies' or `bower
install package-name --save`
Next update the "preen" config in bower.json with the list of files we will
actually use from the new package, e.g.:
```
"preen": {
2014-10-30 21:41:29 +00:00
"package-name": [
"path/to/main.js",
"directory/**/*.js"
],
...
}
```
2014-10-30 21:41:29 +00:00
Now, run `grunt` to delete unused package files and concatenate the remaining
javascript files into `js-deps/bower_components.js`. Note that packages will be
concatenated **in the order** that they are listed in the preen config.
Finally, stage and commit changes to bower.json, js-deps/bower_components.js,
and bower_components/. The latter should be limited to files we actually use.
Tests
=====
2014-10-30 21:41:29 +00:00
Please write tests! Our testing framework is
[mocha](http://visionmedia.github.io/mocha/) and our assertion library is
[chai](http://chaijs.com/api/assert/).
To run tests, open `test/index.html` in your browser. Note that
* Some tests depend on the native client module. These will fail unless you
load the test page from the `chrome-extension://` namespace (as opposed to
the `file://` namespace or via a local webserver.
* Some tests may read, write or clear localStorage. It is recommended that you
create a Chrome user profile just for running tests to avoid clobbering any
existing account and message data.