Skip to content

Commit

Permalink
Bug 1750450 - Fix 'Non-consecutive header level increase' DONTBUILD
Browse files Browse the repository at this point in the history
  • Loading branch information
sylvestre committed Dec 31, 2022
1 parent 3a6543a commit d51d303
Show file tree
Hide file tree
Showing 17 changed files with 118 additions and 116 deletions.
20 changes: 10 additions & 10 deletions browser/components/newtab/content-src/asrouter/docs/first-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@ Onboarding flow comprises of entire flow users have after Firefox has successful
For new users, the first instance of new tab shows relevant messaging on about:welcome. For existing users, an upgrade dialog with release highlights is shown on major release upgrades.


### New User Onboarding
## New User Onboarding

A full-page multistep experience that shows up on first run since Fx80 with `browser.aboutwelcome.enabled` pref as `true`. Setting `browser.aboutwelcome.enabled` to `false` takes user to about:newtab and hides about:welcome.

#### Default values
### Default values

Multistage proton onboarding experience is live since Fx89 and its major variations are:

##### Zero onboarding
#### Zero onboarding

No about:welcome experience is shown (users see about:newtab during first run).

Testing instructions: Set `browser.aboutwelcome.enabled` to `false` in about:config

##### Proton
#### Proton

A full-page multistep experience that shows a large splash screen and several subsequent screens. See [Default experience variations](#default-experience-variations) for more information.

##### Return to AMO (RTAMO)
#### Return to AMO (RTAMO)

Special custom onboarding experience shown to users when they try to download an addon from addons.mozilla.org but don’t have Firefox installed. This experience allows them to install the addon they were trying to install directly from a button on RTAMO.

Expand All @@ -35,13 +35,13 @@ Testing instructions:
- Click Targeting -> Attribution -> Force Attribution
- Open about:welcome, should display RTAMO page

#### General capabilities
### General capabilities
- Run experiments and roll-outs through Nimbus (see [FeatureManifests](https://searchfox.org/mozilla-central/rev/5e955a47c4af398e2a859b34056017764e7a2252/toolkit/components/nimbus/FeatureManifest.js#56)), only windows is supported. FeatureConfig (from prefs or experiments) has higher precedence to defaults. See [Default experience variations](#default-experience-variations)
- AboutWelcomeDefaults methods [getDefaults](https://searchfox.org/mozilla-central/rev/81c32a2ea5605c5cb22bd02d28c362c140b5cfb4/browser/components/newtab/aboutwelcome/lib/AboutWelcomeDefaults.jsm#539) and [prepareContentForReact](https://searchfox.org/mozilla-central/rev/81c32a2ea5605c5cb22bd02d28c362c140b5cfb4/browser/components/newtab/aboutwelcome/lib/AboutWelcomeDefaults.jsm#566) have dynamic rules which are applied to both experiments and default UI before content is shown to user.
- about:welcome only shows up for users who download Firefox Beta or release (currently not enabled on Nightly)
- [Enterprise builds](https://searchfox.org/mozilla-central/rev/5e955a47c4af398e2a859b34056017764e7a2252/browser/components/enterprisepolicies/Policies.jsm#1385) can turn off about:welcome by setting the browser.aboutwelcome.enabled preference to false.

#### Default experience variations
### Default experience variations
In order of precedence:
- Has AMO attribution
- Return to AMO
Expand All @@ -52,16 +52,16 @@ In order of precedence:
- Import screen allows user to import password, bookmarks and browsing history from previous browser.
- Set a theme lets users personalize Firefox with a theme.

### Upgrade Dialog
## Upgrade Dialog
Upgrade Dialog was first introduced in Fx89 with MR1 release. It replaces whatsnew tab with an upgrade modal explaining proton changes, setting Firefox as default and/or pinning, and allowing theme change.

#### Feature Details:
### Feature Details:
- Hides whatsnew tab on release channel when Upgrade Modal is shown
- Modal dialog appears on major version upgrade to 89 for MR1
- It’s a window modal preventing access to tabs and other toolbar UI
- Support desired content and actions on each screen. For MR1 initial screen explains proton changes, highlight option to set Firefox as default and pin. Subsequent screen allows theme changes.

#### Testing Instructions:
### Testing Instructions:
- In about:config, set:
- `browser.startup.homepage_override.mstone` to `88.0` . The dialog only shows after it detects a major upgrade and need to set to 88 to trigger MR1 upgrade dialog.
- Ensure pref `browser.startup.upgradeDialog.version` is empty. After the dialog shows, `browser.startup.upgradeDialog.version` remembers what version of the dialog to avoid reshowing.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

For a more in-depth explanation of JEXL syntax you can read the [Normady project docs](https://mozilla.github.io/normandy/user/filters.html?highlight=jexl).

### How to write JEXL targeting expressions
## How to write JEXL targeting expressions
A message needs to contain the `targeting` property (JEXL string) which is evaluated against the provided attributes.
Examples:

Expand Down
44 changes: 22 additions & 22 deletions browser/components/newtab/docs/v2-system-addon/preferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,23 +81,23 @@ for more information about what methods are available.

Preferences specific to the Discovery Stream are nested under the sub-branch `browser.newtabpage.activity-stream.discoverystream` (with the exception of `browser.newtabpage.blocked`).

#### `browser.newtabpage.activity-stream.discoverystream.flight.blocks`
### `browser.newtabpage.activity-stream.discoverystream.flight.blocks`

- Type: `string (JSON)`
- Default: `{}`
- Pref Type: AS

Not intended for user configuration, but is programmatically updated. Used for tracking blocked flight IDs when a user dismisses a SPOC. Keys are flight IDs. Values don't have a specific meaning.

#### `browser.newtabpage.blocked`
### `browser.newtabpage.blocked`

- Type: `string (JSON)`
- Default: `null`
- Pref Type: AS

Not intended for user configuration, but is programmatically updated. Used for tracking blocked story IDs when a user dismisses one. Keys are story IDs. Values don't have a specific meaning.

#### `browser.newtabpage.activity-stream.discoverystream.config`
### `browser.newtabpage.activity-stream.discoverystream.config`

- Type `string (JSON)`
- Default:
Expand All @@ -121,151 +121,151 @@ Not intended for user configuration, but is programmatically updated. Used for t
- `layout_endpoint` (string): The URL for a remote layout definition that will be used if `hardcoded_layout` is `false`.
- `unused_key` (string): This is not set by default and is unused by this codebase. It's a standardized way to differentiate configurations to prevent experiment participants from being unenrolled.

#### `browser.newtabpage.activity-stream.discoverystream.enabled`
### `browser.newtabpage.activity-stream.discoverystream.enabled`

- Type: `boolean`
- Default: `true`
- Pref Type: Firefox

When this is set to `true` the Discovery Stream experience will show up if `enabled` is also `true` on `browser.newtabpage.activity-stream.discoverystream.config`. Otherwise the old Activity Stream experience will be shown.

#### `browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear`
### `browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear`

- Type: `string (URL)`
- Default: `https://spocs.getpocket.com/user`
- Pref Type: AS

Endpoint for when a user opts-out of sponsored content to delete the corresponding data from the ad server.

#### `browser.newtabpage.activity-stream.discoverystream.endpoints`
### `browser.newtabpage.activity-stream.discoverystream.endpoints`

- Type: `string (URLs, CSV)`
- Default: `https://getpocket.cdn.mozilla.net/,https://spocs.getpocket.com/`
- Pref Type: AS

A list of endpoints that are allowed to be used by Discovery Stream for remote content (eg: story metadata) and configuration (eg: remote layout definitions for experimentation).

#### `browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout`
### `browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout`

- Type: `boolean`
- Default: `false`
- Pref Type: Firefox

If this is `false` the default hardcoded layout is used, and if it's `true` then an alternate hardcoded layout (that currently simulates the older AS experience) is used.

#### `browser.newtabpage.activity-stream.discoverystream.rec.impressions`
### `browser.newtabpage.activity-stream.discoverystream.rec.impressions`

- Type: `string (JSON)`
- Default: `{}`
- Pref Type: AS

Programmatically generated hash table where the keys are recommendation IDs and the values are timestamps representing the first impression.

#### `browser.newtabpage.activity-stream.discoverystream.spoc.impressions`
### `browser.newtabpage.activity-stream.discoverystream.spoc.impressions`

- Type: `string (JSON)`
- Default: `{}`
- Pref Type: AS

Programmatically generated hash table where the keys are sponsored content IDs and the values are arrays of timestamps for every impression.

#### `browser.newtabpage.activity-stream.discoverystream.locale-list-config`
### `browser.newtabpage.activity-stream.discoverystream.locale-list-config`

- Type: `string (CSV, locales)`
- Default: `null`
- Pref Type: Firefox

A comma separated list of locales that by default have stories enabled in newtab. It overrides what might be in region-stories-config. So if I set this to "en-US,en-CA,en-GB", all users with a English browser would see newtab stories, even if their region was not in region-stories-config list.

#### `browser.newtabpage.activity-stream.discoverystream.region-stories-config`
### `browser.newtabpage.activity-stream.discoverystream.region-stories-config`

- Type: `string (CSV, regions)`
- Default: `US,DE,CA,GB,IE,CH,AT,BE`
- Pref Type: Firefox

A comma separated list of geos that by default have stories enabled in newtab. It matches the client's geo with that list, then looks for a matching locale.

#### `browser.newtabpage.activity-stream.discoverystream.region-spocs-config`
### `browser.newtabpage.activity-stream.discoverystream.region-spocs-config`

- Type: `string (CSV, regions)`
- Default: `US,CA,DE`
- Pref Type: Firefox

A comma separated list of geos that by default have spocs enabled in newtab. It matches the client's geo with that list.

#### `browser.newtabpage.activity-stream.discoverystream.region-layout-config`
### `browser.newtabpage.activity-stream.discoverystream.region-layout-config`

- Type: `string (CSV, regions)`
- Default: `US,CA,GB,DE,IE,CH,AT,BE`
- Pref Type: Firefox

A comma separated list of geos that have 7 rows of stories enabled in newtab. It matches the client's geo with that list.

#### `browser.newtabpage.activity-stream.discoverystream.region-basic-layout`
### `browser.newtabpage.activity-stream.discoverystream.region-basic-layout`

- Type: `boolean`
- Default: false
- Pref Type: AS

If this is `true` newtabs with stories enabled see 1 row. It is set programmatically based on the result from region-layout-config.

#### `browser.newtabpage.activity-stream.discoverystream.spocs-endpoint`
### `browser.newtabpage.activity-stream.discoverystream.spocs-endpoint`

- Type: `string (URL)`
- Default: `null`
- Pref Type: Firefox

Override to specify endpoint for SPOCs. Will take precedence over remote and hardcoded layout SPOC endpoints.

#### `browser.newtabpage.activity-stream.discoverystream.personalization.version`
### `browser.newtabpage.activity-stream.discoverystream.personalization.version`

- Type: `integer`
- Default: `1`
- Pref Type: Firefox

This controls what version of personalization we should use to score newtab stories.

#### `browser.newtabpage.activity-stream.discoverystream.personalization.modelKeys`
### `browser.newtabpage.activity-stream.discoverystream.personalization.modelKeys`

- Type: `string (CSV)`
- Default: `nb_model_arts_and_entertainment, nb_model_autos_and_vehicles, nb_model_beauty_and_fitness, nb_model_blogging_resources_and_services, nb_model_books_and_literature, nb_model_business_and_industrial, nb_model_computers_and_electronics, nb_model_finance, nb_model_food_and_drink, nb_model_games, nb_model_health, nb_model_hobbies_and_leisure, nb_model_home_and_garden, nb_model_internet_and_telecom, nb_model_jobs_and_education, nb_model_law_and_government, nb_model_online_communities, nb_model_people_and_society, nb_model_pets_and_animals, nb_model_real_estate, nb_model_reference, nb_model_science, nb_model_shopping, nb_model_sports, nb_model_travel`
- Pref Type: Firefox

This is a configuration for personalization version 2. It is a list of topics the algorithm uses to score stories by.

#### `browser.newtabpage.activity-stream.discoverystream.recs.personalized`
### `browser.newtabpage.activity-stream.discoverystream.recs.personalized`

- Type: `boolean`
- Default: false
- Pref Type: Firefox

This controls if newtab story personalization includes regular stories or not. See spocs.personalized for sponsored content.

#### `browser.newtabpage.activity-stream.discoverystream.spocs.personalized`
### `browser.newtabpage.activity-stream.discoverystream.spocs.personalized`

- Type: `boolean`
- Default: true
- Pref Type: Firefox

This controls if newtab story personalization includes sponsored content or not. See recs.personalized for regular stories.

#### `browser.newtabpage.activity-stream.discoverystream.isCollectionDismissible`
### `browser.newtabpage.activity-stream.discoverystream.isCollectionDismissible`

- Type: `boolean`
- Default: true
- Pref Type: Firefox

This controls if newtab story collections are dismissible or not.

#### `browser.newtabpage.activity-stream.feeds.section.topstories`
### `browser.newtabpage.activity-stream.feeds.section.topstories`

- Type: `boolean`
- Default: true
- Pref Type: Firefox

This controls if the user should see newtab stories or not. It is set by the user via about:preferences#home

#### `browser.newtabpage.activity-stream.feeds.system.topstories`
### `browser.newtabpage.activity-stream.feeds.system.topstories`

- Type: `boolean`
- Default: false
Expand Down
4 changes: 2 additions & 2 deletions devtools/client/netmonitor/docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The Network Monitor (netmonitor) shows you all the network requests Firefox makes (for example, when a page is loaded or when an XMLHttpRequest is performed) , how long each request takes, and details of each request. You can edit the method, query, header and resend the request as well. Read [more](https://firefox-source-docs.mozilla.org/devtools-user/network_monitor/) to learn all the features and how to use the tool.

### UI
## UI

The Network Monitor UI is built using [React](http://searchfox.org/mozilla-central/source/devtools/docs/frontend/react.md) components (in `src/components/`).

Expand All @@ -16,7 +16,7 @@ The Network Monitor UI is built using [React](http://searchfox.org/mozilla-centr

We prefer stateless component (define by function) instead of stateful component (define by class) unless the component has to maintain its internal state.

### State
## State

![](https://hacks.mozilla.org/files/2017/06/image8.png)

Expand Down
8 changes: 4 additions & 4 deletions devtools/docs/contributor/frontend/react-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ docs and we can talk about it.
for react and redux code. The guidelines here are more general
patterns not specific to code style.

### Why no JSX?
## Why no JSX?

You probably already noticed we don't use JSX. The answer isn't
complicated: we don't build our JS code, and we write directly for our
Expand All @@ -25,7 +25,7 @@ lot.
It's not as bad as you may think! If you are used to JSX it may be an
adjustment, but you won't miss it too much.

### One component per file
## One component per file

Try to only put one component in a file. This helps avoid large files
full of components, but it's also technically required for how we wrap
Expand All @@ -39,7 +39,7 @@ want to, but note that they won't be directly tested and you will have
to use `React.createElement` or immediately wrap them in factories to
use them.

### Export the component directly and create factory on import
## Export the component directly and create factory on import

Modules are the way components interact. Ideally every component lives
in a separate file and they require whatever they need. This allows
Expand Down Expand Up @@ -68,6 +68,6 @@ module.exports = Thing1;
Do not export `{ Thing1 }` or anything like that. This is required for
the factory wrapping as well as hot reloading.

### More to Come
## More to Come

This is just a start. We will add more to this document.
8 changes: 4 additions & 4 deletions docs/performance/build_metrics/build_metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@
**Build Metrics** is a catch-all term for performance measures that are
generated by the Firefox build system and tracked by Perfherder.

### num_constructors
## num_constructors

Number of static constructors found by the compiler in the Firefox C++
codebase. Lower is better. Static constructors are undesirable because
their initialization imposes an unavoidable time penalty every time
Firefox is started.

### installer size
## installer size

Size in bytes of the Firefox installer. Lower is better here, especially
on space-restricted platforms like Android.

### build times
## build times

Amount of time it takes to build Firefox in automation on a specific
platform / configuration. Lower is better.

### compiler warnings
## compiler warnings

Number of compiler warnings detected during a build. Lower is better.

Expand Down
Loading

0 comments on commit d51d303

Please sign in to comment.