d1ea261dea
Java has nulls, and any object reference in Java can be null, but in Kotlin parameters default to not null unless the type is specified as `Type?`; our override of onActivityResult was specifying the type of the intent parameter as `Intent` instead of `Intent?`, causing an exception before our code was called. Figuring out how to turn on "break on all exceptions" in Android Studio (which is non-trivial for some reason) finally showed me the stack trace. |
||
---|---|---|
.vscode | ||
android | ||
app | ||
assets | ||
build | ||
common | ||
docs | ||
ios | ||
public | ||
scripts | ||
server | ||
test | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.yml | ||
.gitattributes | ||
.gitignore | ||
.htmllintrc | ||
.prettierignore | ||
.stylelintrc | ||
browserconfig.xml | ||
browserslist | ||
CHANGELOG.md | ||
circle.yml | ||
CONTRIBUTORS | ||
docker-compose.yml | ||
Dockerfile | ||
l10n.toml | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
postcss.config.js | ||
README.md | ||
tailwind.js | ||
webpack.config.js |
Firefox Send
Docs: FAQ, Encryption, Build, Docker, Metrics, More
Table of Contents
- What it does
- Requirements
- Development
- Commands
- Configuration
- Localization
- Contributing
- Testing
- Android
- License
What it does
A file sharing experiment which allows you to send encrypted files to other users.
Requirements
- Node.js 10.0+
- Redis server (optional for development)
- AWS S3 or compatible service. (optional)
Development
To start an ephemeral development server run:
npm install
npm start
Then browse to http://localhost:8080
Commands
Command | Description |
---|---|
npm run format |
Formats the frontend and server code using prettier. |
npm run lint |
Lints the CSS and JavaScript code. |
npm test |
Runs the suite of mocha tests. |
npm start |
Runs the server in development configuration. |
npm run build |
Builds the production assets. |
npm run prod |
Runs the server in production configuration. |
Configuration
The server is configured with environment variables. See server/config.js for all options and docs/docker.md for examples.
Localization
Firefox Send localization is managed via Pontoon, not direct pull requests to the repository. If you want to fix a typo, add a new language, or simply know more about localization, please get in touch with the existing localization team for your language or Mozilla’s l10n-drivers for guidance.
see also docs/localization.md
Contributing
Pull requests are always welcome! Feel free to check out the list of "good first issues".
Testing
ENVIRONMENT | URL |
---|---|
Production | https://send.firefox.com/ |
Stage | https://send.stage.mozaws.net/ |
Development | https://send.dev.mozaws.net/ |
Android
The android implementation is contained in the android
directory, and can be viewed locally for easy testing and editing by running ANDROID=1 npm start
and then visiting http://localhost:8080. CSS and image files are located in the android/app/src/main/assets
directory.
License
Mozilla Public License Version 2.0