Official AngularJS web client for the ProtonMail secure email service. ProtonMail also makes use of OpenPGPjs as our message crytography is PGP compliant.
⚠️ You must have node.js >= v6
$ npm install
$ npm start
make start
to start the app on a container (usemake localurl
to find the url where it's running)make test
to build the app (actual tests are still to come)
There is a very good chance you won't be able to use the app locally because of various security headers and such. But you should be able to get the code running enough to poke around and inspect it.
We are still in Beta and will have a more refined build process, installation instructions, unit tests, and all that good stuff once we exit Beta.
We are very open to bug reports via Issues as well as Pull Requests.
--no-open
: Stop the browser from automatically opening--no-ghost
: Switch off Clicks, Scrolls & Form inputs on any device
For a fix
fix/<your feature>
For a feature
feat/<your feature>
- or
feature/<your feature>
$ npm test
To edit test it's better to run
$ npm run testwatch
(tests with a watcher)
Installation:
$ npm install -g protractor
$ webdriver-manager update
Start up a Selenium Server:
$ webdriver-manager start
To run selenium you can use docker if you don't want to install Java :
$ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome:2.53.0
Run tests:
$ npm run e2e -- --params.password1 "XXX" --params.password2 "XXX"
default account is qatest123, you can change that using
--params.login "xxxx"
$ npm run e2e
Run a scenario:
$ npm run e2e -- --suite=login
--dest
: Deploy dest--api
: Set an API for the app (dev, live, etc.)--article
: Change the path to the article (for a custom version)--api-version
: Set a custom api version--app-version
: Set a custom version (_ex: --app-version=3.8.20)--patch
: Change version, increment patch--minor
: Change version, increment minor--major
: Change version, increment major
--major|minor|patch come from The semantic versioner for npm
--no-open
: Do not open the browser on dev
Copyright (c) 2013-2016
Proton Technologies A.G. (Switzerland)
Email: contact@protonmail.ch
License: https://github.com/ProtonMail/WebClient/blob/public/license.md