2022-01-28 12:48:05 +00:00
|
|
|
---
|
|
|
|
channels:
|
|
|
|
- release
|
|
|
|
- beta
|
|
|
|
- nightly
|
|
|
|
- developer
|
|
|
|
features:
|
|
|
|
homescreen:
|
|
|
|
description: The homescreen that the user goes to when they press home or new tab.
|
|
|
|
variables:
|
|
|
|
sections-enabled:
|
|
|
|
description: "This property provides a lookup table of whether or not the given section should be enabled.
|
|
|
|
If the section is enabled, it should be toggleable in the settings screen, and on by default."
|
|
|
|
type: Map<HomeScreenSection, Boolean>
|
|
|
|
default:
|
|
|
|
{
|
|
|
|
"top-sites": true,
|
|
|
|
"jump-back-in": true,
|
|
|
|
"recently-saved": true,
|
|
|
|
"recent-explorations": true,
|
2022-02-25 21:01:36 +00:00
|
|
|
"pocket": true,
|
|
|
|
"contile-top-sites": false,
|
2022-01-28 12:48:05 +00:00
|
|
|
}
|
|
|
|
defaults:
|
|
|
|
- channel: nightly
|
|
|
|
value: {
|
|
|
|
"sections-enabled": {
|
|
|
|
"top-sites": true,
|
|
|
|
"jump-back-in": true,
|
|
|
|
"recently-saved": true,
|
|
|
|
"recent-explorations": true,
|
2022-02-25 21:01:36 +00:00
|
|
|
"pocket": true,
|
|
|
|
"contile-top-sites": false,
|
2022-01-28 12:48:05 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
nimbus-validation:
|
|
|
|
description: "A feature that does not correspond to an application feature suitable for showing
|
|
|
|
that Nimbus is working. This should never be used in production."
|
|
|
|
variables:
|
|
|
|
settings-title:
|
|
|
|
description: The title of displayed in the Settings screen and app menu.
|
|
|
|
type: Text
|
|
|
|
default: browser_menu_settings
|
|
|
|
settings-punctuation:
|
|
|
|
description: The emoji displayed in the Settings screen title.
|
|
|
|
type: String
|
|
|
|
default: ""
|
|
|
|
settings-icon:
|
|
|
|
description: The drawable displayed in the app menu for Settings
|
|
|
|
type: String
|
|
|
|
default: mozac_ic_settings
|
|
|
|
search-term-groups:
|
|
|
|
description: A feature allowing the grouping of URLs around the search term that it came from.
|
|
|
|
variables:
|
|
|
|
enabled:
|
|
|
|
description: If true, the feature shows up on the homescreen and on the new tab screen.
|
|
|
|
type: Boolean
|
|
|
|
default: false
|
2022-02-08 12:44:07 +00:00
|
|
|
defaults:
|
|
|
|
- channel: nightly
|
|
|
|
value:
|
|
|
|
enabled: true
|
|
|
|
- channel: developer
|
|
|
|
value:
|
|
|
|
enabled: true
|
2022-01-28 12:48:05 +00:00
|
|
|
default-browser-message:
|
|
|
|
description: A small feature allowing experiments on the placement of a default browser message.
|
|
|
|
variables:
|
|
|
|
message-location:
|
|
|
|
description: Where is the message to be put.
|
2022-02-08 12:44:07 +00:00
|
|
|
type: Option<MessageSurfaceId>
|
|
|
|
default: null
|
2022-03-22 22:02:42 +00:00
|
|
|
messaging:
|
|
|
|
description: |
|
|
|
|
Configuration for the messaging system.
|
|
|
|
|
|
|
|
In practice this is a set of growable lookup tables for the
|
|
|
|
message controller to piece together.
|
|
|
|
|
|
|
|
variables:
|
|
|
|
message-under-experiment:
|
|
|
|
description: Id or prefix of the message under experiment.
|
|
|
|
type: Option<String>
|
|
|
|
default: null
|
|
|
|
|
|
|
|
messages:
|
|
|
|
description: A growable collection of messages
|
|
|
|
type: Map<String, MessageData>
|
|
|
|
default: {}
|
|
|
|
|
|
|
|
triggers:
|
|
|
|
description: >
|
|
|
|
A collection of out the box trigger
|
|
|
|
expressions. Each entry maps to a
|
|
|
|
valid JEXL expression.
|
|
|
|
type: Map<String, String>
|
|
|
|
default:
|
|
|
|
english-speaking: "'en' in locale"
|
|
|
|
ALWAYS: "true"
|
|
|
|
NEW_USER: "days_since_install < 7"
|
|
|
|
|
|
|
|
styles:
|
|
|
|
description: >
|
|
|
|
A map of styles to configure message
|
|
|
|
appearance.
|
|
|
|
type: Map<String, StyleData>
|
|
|
|
default:
|
|
|
|
urgent:
|
|
|
|
background-color: red
|
|
|
|
text-color: white
|
|
|
|
button-background: bright-blue
|
|
|
|
button-text-color: white
|
|
|
|
priority: 70
|
|
|
|
warning:
|
|
|
|
background-color: cyan,
|
|
|
|
text-color: black,
|
|
|
|
button-background: bright-blue
|
|
|
|
button-text-color: white
|
|
|
|
priority: 55
|
|
|
|
default:
|
|
|
|
background-color: blue
|
|
|
|
text-color: white
|
|
|
|
button-background: bright-blue
|
|
|
|
button-text-color: white
|
|
|
|
priority: 50
|
|
|
|
excited:
|
|
|
|
background-color: blue
|
|
|
|
text-color: white
|
|
|
|
button-background: bright-blue
|
|
|
|
button-text-color: white
|
|
|
|
priority: 60
|
|
|
|
|
|
|
|
actions:
|
|
|
|
type: Map<String, String>
|
|
|
|
description: A growable map of action URLs.
|
|
|
|
default:
|
|
|
|
OPEN_SYNC_SETTINGS: firefox://settings/sync
|
|
|
|
OPEN_POCKET_SETTINGS: https:///getpocket.com/settings?fxa={fxa-token}
|
|
|
|
OPEN_SETTINGS: ://settings
|
|
|
|
|
|
|
|
defaults:
|
|
|
|
- channel: developer
|
|
|
|
value: {
|
|
|
|
"messages": {
|
|
|
|
"my-viewpoint-survey": {
|
|
|
|
"title": "Message tile",
|
|
|
|
"text": "Love Firefox? Fill in our survey!",
|
|
|
|
"action": "https://surveyprovider.com/survey-id/{uuid}",
|
|
|
|
"trigger": [ "ALWAYS" ],
|
|
|
|
"max-display-count": 5,
|
|
|
|
"style": "warning",
|
|
|
|
"button-label": "Go to the survey"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
"message-under-experiment": "my-viewpoint-survey"
|
|
|
|
}
|
|
|
|
- channel: developer
|
|
|
|
value: {
|
|
|
|
"messages": {
|
|
|
|
"private-tabs-auto-close": {
|
|
|
|
"action": "OPEN_SETTINGS",
|
|
|
|
"text": "Sharing your phone? Autoclosing private tabs is for you!",
|
|
|
|
"style": "warning",
|
|
|
|
"trigger": [
|
|
|
|
"NEW_USER",
|
|
|
|
"first-private-tabs-opened"
|
|
|
|
],
|
|
|
|
"max-display-count": 5
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
"message-under-experiment": "private-tabs-auto-close"
|
|
|
|
}
|
|
|
|
- channel: developer
|
|
|
|
value: {
|
|
|
|
"triggers": {
|
|
|
|
"ireland": "'IE' in locale"
|
|
|
|
},
|
|
|
|
|
|
|
|
"styles": {
|
|
|
|
"irish-green": {
|
|
|
|
"background-color": "green",
|
|
|
|
"text-color": "dark-green",
|
|
|
|
"button-background": "foo",
|
|
|
|
"button-text-color": "very-green",
|
|
|
|
"priority": 50
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
"actions": {
|
|
|
|
"OPEN_SETTINGS": "://settings"
|
|
|
|
},
|
|
|
|
|
|
|
|
"messages": {
|
|
|
|
"eu-tracking-protection-for-ireland": {
|
|
|
|
"action": "OPEN_SETTINGS",
|
|
|
|
"text": "GDPR has you covered. Firefox has GDPR covered",
|
|
|
|
"style": "irish-green",
|
|
|
|
"trigger": [
|
|
|
|
"NEW_USER",
|
|
|
|
"ireland"
|
|
|
|
],
|
|
|
|
"max-display-count": 5
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
"message-under-experiment": "eu-tracking-protection-for-"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-28 12:48:05 +00:00
|
|
|
types:
|
2022-03-22 22:02:42 +00:00
|
|
|
objects:
|
|
|
|
MessageData:
|
|
|
|
description: >
|
|
|
|
An object to describe a message. It uses human
|
|
|
|
readable strings to describe the triggers, action and
|
|
|
|
style of the message as well as the text of the message
|
|
|
|
and call to action.
|
|
|
|
fields:
|
|
|
|
action:
|
|
|
|
type: String
|
|
|
|
description: >
|
|
|
|
A URL of a page or a deeplink.
|
|
|
|
This may have substitution variables in.
|
|
|
|
# This should never be defaulted.
|
|
|
|
default: empty_string
|
|
|
|
title:
|
|
|
|
type: Option<Text>
|
|
|
|
description: "The title text displayed to the user"
|
|
|
|
default: null
|
|
|
|
text:
|
|
|
|
type: Text
|
|
|
|
description: "The message text displayed to the user"
|
|
|
|
# This should never be defaulted.
|
|
|
|
default: empty_string
|
|
|
|
is-control:
|
|
|
|
type: Boolean
|
|
|
|
description: "Indicates if this message is the control message, if true shouldn't be displayed"
|
|
|
|
default: false
|
|
|
|
|
|
|
|
button-label:
|
|
|
|
type: Option<Text>
|
|
|
|
description: >
|
|
|
|
The text on the button. If no text
|
|
|
|
is present, the whole message is clickable.
|
|
|
|
default: null
|
|
|
|
style:
|
|
|
|
type: String
|
|
|
|
description: >
|
|
|
|
The style as described in a
|
|
|
|
`StyleData` from the styles table.
|
|
|
|
default: "default"
|
|
|
|
max-display-count:
|
|
|
|
type: Int
|
|
|
|
description: >
|
|
|
|
The number of sessions the user is
|
|
|
|
shown the message before the message expires.
|
|
|
|
If the user is able to dismiss the message,
|
|
|
|
this is the number of times they dismiss
|
|
|
|
it before the message expires.
|
|
|
|
A count of -1 means that the message will
|
|
|
|
never expire.
|
|
|
|
default: 5
|
|
|
|
# These triggers aren't part of the MVP,
|
|
|
|
# so may be excluded.
|
|
|
|
trigger:
|
|
|
|
type: List<String>
|
|
|
|
description: >
|
|
|
|
A list of strings corresponding to
|
|
|
|
targeting expressions. The message will be
|
|
|
|
shown if all expressions `true`.
|
|
|
|
default: []
|
|
|
|
StyleData:
|
|
|
|
description: >
|
|
|
|
A group of properities (predominantly visual) to
|
|
|
|
describe the style of the message.
|
|
|
|
fields:
|
|
|
|
# How the string is transformed into a color is unspecified
|
|
|
|
background-color:
|
|
|
|
type: String
|
|
|
|
description: The color of the background.
|
|
|
|
default: "blue"
|
|
|
|
text-color:
|
|
|
|
type: String
|
|
|
|
description: The color of the background.
|
|
|
|
default: "white"
|
|
|
|
button-background:
|
|
|
|
type: String
|
|
|
|
description: The color of the button background.
|
|
|
|
default: "bright-blue"
|
|
|
|
button-text-color:
|
|
|
|
type: String
|
|
|
|
description: The color of the button text.
|
|
|
|
default: "white"
|
|
|
|
priority:
|
|
|
|
type: Int
|
|
|
|
description: >
|
|
|
|
The importance of this message.
|
|
|
|
0 is not very important, 100 is very important.
|
|
|
|
default: 50
|
|
|
|
|
2022-01-28 12:48:05 +00:00
|
|
|
enums:
|
|
|
|
HomeScreenSection:
|
2022-03-22 22:02:42 +00:00
|
|
|
description: The identifiers for the sections of the homescreen.
|
|
|
|
variants:
|
|
|
|
top-sites:
|
|
|
|
description: The frecency and pinned sites.
|
|
|
|
recently-saved:
|
|
|
|
description: The sites the user has bookmarked recently.
|
|
|
|
jump-back-in:
|
|
|
|
description: The tabs the user was looking immediately before being interrupted.
|
|
|
|
recent-explorations:
|
|
|
|
description: The tab groups
|
|
|
|
pocket:
|
|
|
|
description: The pocket section. This should only be available in the US.
|
|
|
|
contile-top-sites:
|
|
|
|
description: The sponsored shortcuts in the homescreen.
|
2022-01-28 12:48:05 +00:00
|
|
|
MessageSurfaceId:
|
2022-03-22 22:02:42 +00:00
|
|
|
description: The identity of a message surface, used in the default browser experiments
|
|
|
|
variants:
|
|
|
|
app-menu-item:
|
|
|
|
description: An item in the default toolbar menu.
|
|
|
|
settings:
|
|
|
|
description: A setting in the settings screen.
|
|
|
|
homescreen-banner:
|
|
|
|
description: A banner in the homescreen.
|
2022-01-28 12:48:05 +00:00
|
|
|
|