ActionsManager.sys.mjs |
A class to manage the actions that recipes can use in Normandy.
|
3570 |
AddonRollouts.sys.mjs |
AddonRollouts store info about an active or expired addon rollouts.
@typedef {object} AddonRollout
@property {int} recipeId
The ID of the recipe.
@property {string} slug
Unique slug of the rollout.
@property {string} state
The current state of the rollout: "active", or "rolled-back".
Active means that Normandy is actively managing therollout. Rolled-back
means that the rollout was previously active, but has been rolled back for
this user.
@property {int} extensionApiId
The ID used to look up the extension in Normandy's API.
@property {string} addonId
The add-on ID for this particular rollout.
@property {string} addonVersion
The rollout add-on version number
@property {string} xpiUrl
URL that the add-on was installed from.
@property {string} xpiHash
The hash of the XPI file.
@property {string} xpiHashAlgorithm
The algorithm used to hash the XPI file.
|
6276 |
AddonStudies.sys.mjs |
@typedef {Object} Study
@property {Number} recipeId
ID of the recipe that created the study. Used as the primary key of the
study.
@property {Number} slug
String code used to identify the study for use in Telemetry and logging.
@property {string} userFacingName
Name of the study to show to the user
@property {string} userFacingDescription
Description of the study and its intent.
@property {string} branch
The branch the user is enrolled in
@property {boolean} active
Is the study still running?
@property {string} addonId
Add-on ID for this particular study.
@property {string} addonUrl
URL that the study add-on was installed from.
@property {string} addonVersion
Study add-on version number
@property {int} extensionApiId
The ID used to look up the extension in Normandy's API.
@property {string} extensionHash
The hash of the XPI file.
@property {string} extensionHashAlgorithm
The algorithm used to hash the XPI file.
@property {Date} studyStartDate
Date when the study was started.
@property {Date|null} studyEndDate
Date when the study was ended.
@property {Date|null} temporaryErrorDeadline
Date of when temporary errors with this experiment should no longer be
considered temporary. After this point, further errors will result in
unenrollment.
|
14769 |
CleanupManager.sys.mjs |
|
1207 |
ClientEnvironment.sys.mjs |
Fetches information about the client that is calculated on the server,
like geolocation and the current time.
The server request is made lazily and is cached for the entire browser
session.
|
3589 |
EventEmitter.sys.mjs |
|
1692 |
Heartbeat.sys.mjs |
Show the Heartbeat UI to request user feedback.
@param chromeWindow
The chrome window that the heartbeat notification is displayed in.
@param {Object} options Options object.
@param {String} options.message
The message, or question, to display on the notification.
@param {String} options.thanksMessage
The thank you message to display after user votes.
@param {String} options.flowId
An identifier for this rating flow. Please note that this is only used to
identify the notification box.
@param {String} [options.engagementButtonLabel=null]
The text of the engagement button to use instead of stars. If this is null
or invalid, rating stars are used.
@param {String} [options.learnMoreMessage=null]
The label of the learn more link. No link will be shown if this is null.
@param {String} [options.learnMoreUrl=null]
The learn more URL to open when clicking on the learn more link. No learn more
will be shown if this is an invalid URL.
@param {String} [options.surveyId]
An ID for the survey, reflected in the Telemetry ping.
@param {Number} [options.surveyVersion]
Survey's version number, reflected in the Telemetry ping.
@param {boolean} [options.testing]
Whether this is a test survey, reflected in the Telemetry ping.
@param {String} [options.postAnswerURL=null]
The url to visit after the user answers the question.
|
12650 |
LegacyHeartbeat.sys.mjs |
A bridge between Nimbus and Normandy's Heartbeat implementation.
|
1443 |
LogManager.sys.mjs |
Configure the root logger for the Recipe Client. Must be called at
least once before using any loggers created via getLogger.
@param {Number} loggingLevel
Logging level to use as defined in Log.sys.mjs
|
1111 |
NormandyAddonManager.sys.mjs |
|
2902 |
NormandyApi.sys.mjs |
Verify content signature, by serializing the specified `object` as
canonical JSON, and using the Normandy signer verifier to check that
it matches the signature specified in `signaturePayload`.
If the the signature is not valid, an error is thrown. Otherwise this
function returns undefined.
@param {object|String} data The object (or string) to be checked
@param {object} signaturePayload The signature information
@param {String} signaturePayload.x5u The certificate chain URL
@param {String} signaturePayload.signature base64 signature bytes
@param {String} type The object type (eg. `"recipe"`, `"action"`)
@returns {Promise<undefined>} If the signature is valid, this function returns without error
@throws {NormandyApi.InvalidSignatureError} if signature is invalid.
|
5051 |
NormandyUtils.sys.mjs |
|
417 |
PreferenceExperiments.sys.mjs |
Preference Experiments temporarily change a preference to one of several test
values for the duration of the experiment. Telemetry packets are annotated to
show what experiments are active, and we use this data to measure the
effectiveness of the preference change.
Info on active and past experiments is stored in a JSON file in the profile
folder.
Active preference experiments are stopped if they aren't active on the recipe
server. They also expire if Firefox isn't able to contact the recipe server
after a period of time, as well as if the user modifies the preference during
an active experiment.
|
35118 |
PreferenceRollouts.sys.mjs |
PreferenceRollouts store info about an active or expired preference rollout.
@typedef {object} PreferenceRollout
@property {string} slug
Unique slug of the experiment
@property {string} state
The current state of the rollout: "active", "rolled-back", "graduated".
Active means that Normandy is actively managing therollout. Rolled-back
means that the rollout was previously active, but has been rolled back for
this user. Graduated means that the built-in default now matches the
rollout value, and so Normandy is no longer managing the preference.
@property {Array<PreferenceSpec>} preferences
An array of preferences specifications involved in the rollout.
|
11208 |
PrefUtils.sys.mjs |
Get a preference of any type from the named branch.
@param {string} pref
@param {object} [options]
@param {"default"|"user"} [options.branchName="user"] One of "default" or "user"
@param {string|boolean|integer|null} [options.defaultValue]
The value to return if the preference does not exist. Defaults to null.
|
4068 |
RecipeRunner.sys.mjs |
cacheProxy returns an object Proxy that will memoize properties of the target.
|
21827 |
ShieldPreferences.sys.mjs |
Handles Shield-specific preferences, including their UI.
|
2578 |
Storage.sys.mjs |
Clear ALL storage data and save to the disk.
|
2278 |
TelemetryEvents.sys.mjs |
|
816 |
Uptake.sys.mjs |
|
2375 |