Firefox Application Services
Перейти к файлу
lougeniac64 02592aad3d addresses incoming logic 2021-02-02 08:00:06 +11:00
.cargo Adds cargo aliasing to use asdev 2020-06-23 12:20:22 -07:00
.circleci Update nimbus-sdk to v0.7.1 (#3836) 2021-01-28 15:17:22 +11:00
.github Add config file to disable dependabot PRs. 2021-01-12 15:52:26 +11:00
.vscode Update vscode recommended extensions 2020-04-20 19:19:23 -04:00
automation Update Glean to v33.10.1 (#3800) 2021-01-08 23:33:52 +11:00
build-scripts Rename `master` to `main` in many places 2020-06-29 08:43:33 -07:00
components addresses incoming logic 2021-02-02 08:00:06 +11:00
docs Update doc to include submodule instructions 2021-01-11 12:00:07 +11:00
examples Expose autofill metadata and rationalize some structs. (#3842) 2021-02-01 13:32:48 +11:00
gradle/wrapper Import nimbus-sdk as submodule, republish as part of the megazord. 2020-11-09 16:40:21 +11:00
libs Support for XCode 12 and dynamically linked Application Services (#3822) 2021-01-20 12:33:49 +11:00
megazords Regenerate dependencies 2021-01-25 12:54:36 +01:00
taskcluster Update nimbus-sdk to v0.7.1 (#3836) 2021-01-28 15:17:22 +11:00
testing Bump rusqlite from 0.24.1 to 0.24.2 2021-01-11 10:14:54 +11:00
tools Bump certifi from 2019.6.16 to 2020.12.5 in /tools 2021-01-25 14:56:14 +11:00
xcconfig Apply fixes for XCode 12 when running a local carthage build. 2020-12-22 16:50:33 +11:00
.buildconfig-android.yml Cut release v69.0.0 (#3838) 2021-01-28 16:01:44 +11:00
.cron.yml Bug 1602861 - Add empty .cron.yml to allow the general cron task to run 2019-12-19 19:10:21 +01:00
.detekt.yml Update Android dependencies 2020-04-08 13:23:31 -04:00
.gitignore Add Glean to the MozillaAppServices Xcode project and include it in compilation 2020-09-09 14:43:30 +02:00
.gitmodules Import nimbus-sdk as submodule, republish as part of the megazord. 2020-11-09 16:40:21 +11:00
.mergify.yml Merge pull request #3298 from mozilla/fix-mergify 2020-06-29 10:50:26 -07:00
.swiftlint.yml Disables opening_brance in swiftlint as it contradicts swiftformat 2020-07-31 10:52:44 -07:00
.taskcluster.yml Bug 1657393 - add resource-monitoring toolchain. (#3309) 2020-08-06 15:36:04 +01:00
CHANGELOG.md Cut release v69.0.0 (#3838) 2021-01-28 16:01:44 +11:00
CHANGES_UNRELEASED.md Cut release v69.0.0 (#3838) 2021-01-28 16:01:44 +11:00
CODE_OF_CONDUCT.md Bring CPG in line with CPGBot's demands, fixes #887 2019-03-31 15:38:31 -07:00
COPYRIGHT rc_crypto initial commit (#1349) 2019-07-09 14:00:48 -04:00
Cargo.lock Leverage more of serde for autofill (#3839) 2021-02-01 11:19:33 +11:00
Cargo.toml Remove the "lockbox" custom megazord. 2020-11-10 09:55:40 +11:00
Cartfile Update dependencies 2020-10-19 13:36:17 -04:00
Cartfile.resolved Apply fixes for XCode 12 when running a local carthage build. 2020-12-22 16:50:33 +11:00
DEPENDENCIES.md Import nimbus-sdk as submodule, republish as part of the megazord. 2020-11-09 16:40:21 +11:00
LICENSE rc_crypto initial commit (#1349) 2019-07-09 14:00:48 -04:00
README.md Commit 3000 claim 2020-05-29 11:51:55 -04:00
build-carthage.sh Apply fixes for XCode 12 when running a local carthage build. 2020-12-22 16:50:33 +11:00
build.gradle Update to Android Components 71.0.0 2021-01-25 13:25:22 +11:00
clippy.toml Document our use of clippy and add a (empty) clippy.toml 2019-03-20 09:02:54 -07:00
codecov.yml Tell codecov our default branch is `main` 2020-07-24 09:39:45 -07:00
gradle.properties Update Android dependencies 2020-04-08 13:23:31 -04:00
gradlew Import nimbus-sdk as submodule, republish as part of the megazord. 2020-11-09 16:40:21 +11:00
gradlew.bat Import nimbus-sdk as submodule, republish as part of the megazord. 2020-11-09 16:40:21 +11:00
proguard-rules-consumer-jna.pro Set consumer Proguard rules. 2018-11-27 20:29:10 -08:00
publish.gradle Add some quality-of-life improvements for running android smoketests. 2020-04-02 16:40:47 +11:00
settings.gradle Update Android dependencies 2020-04-08 13:23:31 -04:00

README.md

Firefox Application Services

A platform for building cloud-powered applications that target Firefox users.

What's this all about?

This repository hosts the code and docs needed to integrate with the products offered by the Firefox Application Services team.

If you are interested in getting involved in the development of those products then you're in the right place! Please review the more detailed guide on how to contribute to this project as well as the Community Participation Guidelines.

If that's not why you're here, then instead you might enjoy:

Overview

This repository is used to build client-side libraries for integrating with Firefox Application services such as Firefox Accounts, Firefox Sync and Push. Each of these is called a "component" and is built using a core of shared code written in Rust, wrapped with native language bindings for different platforms.

The end result is an application that can be assembled from re-usable components that are largely shared across platforms, like this:

component diagram

The code for these components is organized as follows:

For more details on how the client libraries are built and published, please see the Guide to Building a Rust Component.

This repository also hosts the website source for the Application Services Product Portal, which provides consumer-facing documentation on how to integrate with various Application services products.

The ./docs/ directory holds intenal documentation about working with the code in this repository, and is most likely only of interest to contributors.

Components

The currently-available Rust Components in this repo are:

  • fxa-client - for applications that need to sign in with FxA, access encryption keys for sync, and more.
  • sync15 - shared library for accessing data in Firefox Sync
  • logins - for storage and syncing of a user's saved login credentials
  • places - for storage and syncing of a user's saved browsing history
  • push - for applications to receive real-time updates via WebPush
  • rc_log - for connecting component log output to the application's log stream
  • support - low-level utility libraries
    • support/ffi - utilities for building a component's FFI bindings
    • support/sql - utilities for storing data locally with SQL