Repository: GoogleChrome/lighthouse
Pull request #12607 (2021-06-02 20:15:50)

tests(smoke): relative source map hash
We were getting failures in g3 because of the port number, which we dynamically change.


Patch:
diff --git a/docs/v8-perf-faq.md b/docs/v8-perf-faq.md
index 127940cd7..bc0686c79 100644
--- a/docs/v8-perf-faq.md
+++ b/docs/v8-perf-faq.md
@@ -111,17 +111,14 @@ any substantial improvement to your lab metrics should be observable in the
 field once it's been deployed. The higher the Lighthouse score, the less you're
 leaving up to chance in the field.
 
-### What blindspots from the field does lab tooling illuminate?
-
-Field data analyzes all successful page loads. Lab tooling analyzes the
-experience of a fixed configuration for a hypothetical user. If every potential
-user in the world successfully loaded an equal number of pages on your site, we
-might not need to focus on the experience of a hypothetical one, but in reality
-we know this isn't the case. Users who have better experiences use your site
-more; that's why we care about performance in the first place! Lab tooling shows
-you the quality of the experience for these hypothetical users that field data
-might be [missing
-entirely](https://blog.chriszacharias.com/page-weight-matters).
+### What blindspots from the field can lab tooling illuminate?
+
+Field data analyzes all successful page loads. But if failed and aborted loads
+are excluded, or reporting is blocked by extensions, the collected field data
+can suffer from survivorship bias. Users who have better experiences use your
+site more; that's why we care about performance in the first place! Lab tooling
+shows you the quality of the experience for these users that field data might be
+[missing entirely](https://blog.chriszacharias.com/page-weight-matters).
 
 Lighthouse mobile reports emulate a slow 4G connection on a mid-tier Android
 device. While field data might not indicate these conditions are especially
@@ -130,6 +127,9 @@ conditions helps expand your site's audience. Lighthouse identifies the worst
 experiences, experiences you can't see in the field because they were so bad the
 user never came back (or waited around in the first place).
 
+As always, using both lab and field data to understand and optimize your user
+experience is best practice. [Read more about field & lab](https://developers.google.com/web/fundamentals/performance/speed-tools).
+
 ### How should I work to optimize CLS differently given that it has been updated?
 
 The [windowing
diff --git a/lighthouse-core/lib/lh-error.js b/lighthouse-core/lib/lh-error.js
index c5593a4e8..8687d0d8c 100644
--- a/lighthouse-core/lib/lh-error.js
+++ b/lighthouse-core/lib/lh-error.js
@@ -71,12 +71,12 @@ const UIStrings = {
   /** Error message explaining that Lighthouse timed out while waiting for the initial connection to the Chrome Devtools protocol. */
   criTimeout: 'Timeout waiting for initial Debugger Protocol connection.',
   /**
-   * @description Error message explaning that a resource that was required for testing was never collected. "artifactName" will be replaced with the name of the resource that wasn't collected.
+   * @description Error message explaining that a resource that was required for testing was never collected. "artifactName" will be replaced with the name of the resource that wasn't collected.
    * @example {WebAppManifest} artifactName
    * */
   missingRequiredArtifact: 'Required {artifactName} gatherer did not run.',
   /**
-   * @description Error message explaning that there was an error while trying to collect a resource that was required for testing. "artifactName" will be replaced with the name of the resource that wasn't collected; "errorMessage" will be replaced with a string description of the error that occurred.
+   * @description Error message explaining that there was an error while trying to collect a resource that was required for testing. "artifactName" will be replaced with the name of the resource that wasn't collected; "errorMessage" will be replaced with a string description of the error that occurred.
    * @example {WebAppManifest} artifactName
    * @example {Manifest invalid} errorMessage
    * */
diff --git a/lighthouse-core/report/html/readme.md b/lighthouse-core/report/html/readme.md
index 2e6fc0acd..b055cc045 100644
--- a/lighthouse-core/report/html/readme.md
+++ b/lighthouse-core/report/html/readme.md
@@ -1,6 +1,6 @@
 # Lighthouse HTML Report Renderer
 
-[Source on Github](https://github.com/GoogleChrome/lighthouse/tree/master/lighthouse-core/report/html)
+[Source on GitHub](https://github.com/GoogleChrome/lighthouse/tree/master/lighthouse-core/report/html)
 
 
 ## Overview
diff --git a/lighthouse-core/report/html/renderer/util.js b/lighthouse-core/report/html/renderer/util.js
index aabc4c0af..a979531a1 100644
--- a/lighthouse-core/report/html/renderer/util.js
+++ b/lighthouse-core/report/html/renderer/util.js
@@ -596,7 +596,7 @@ Util.UIStrings = {
   dropdownSaveJSON: 'Save as JSON',
   /** Option in a dropdown menu that opens the current report in the Lighthouse Viewer Application. */
   dropdownViewer: 'Open in Viewer',
-  /** Option in a dropdown menu that saves the current report as a new Github Gist. */
+  /** Option in a dropdown menu that saves the current report as a new GitHub Gist. */
   dropdownSaveGist: 'Save as Gist',
   /** Option in a dropdown menu that toggles the themeing of the report between Light(default) and Dark themes. */
   dropdownDarkTheme: 'Toggle Dark Theme',
@@ -624,7 +624,7 @@ Util.UIStrings = {
   /** Label for a row in a table that shows the version of the Axe library used. Example row values: 2.1.0, 3.2.3 */
   runtimeSettingsAxeVersion: 'Axe version',
 
-  /** Label for button to create an issue against the Lighthouse Github project. */
+  /** Label for button to create an issue against the Lighthouse GitHub project. */
   footerIssue: 'File an issue',
 
   /** Descriptive explanation for emulation setting when no device emulation is set. */
diff --git a/proto/README.md b/proto/README.md
index beadcbc70..25e33c11a 100644
--- a/proto/README.md
+++ b/proto/README.md
@@ -22,7 +22,7 @@ You'll need to have v3.7.1 of the protocol-buffer/protobuf compiler installed. (
 1. Run `yarn test-proto`
 
 ## Proto Resources
-- [Protobuf Github Repo](https://github.com/protocolbuffers/protobuf) 
+- [Protobuf GitHub Repo](https://github.com/protocolbuffers/protobuf)
 - [Protobuf Docs](https://developers.google.com/protocol-buffers/docs/overview)
 
 ## LHR Round Trip Flow
@@ -39,4 +39,4 @@ LHR round trip flow:
 ## Hacking Hints
 - Clean out compiled proto and json with `yarn clean`
 - Round trips might jumble the order of your JSON keys and lists!
-- Is your `six` installation troubling your `pip install protobuf`? Mine did.  Try `pip install --ignore-installed six`.
\ No newline at end of file
+- Is your `six` installation troubling your `pip install protobuf`? Mine did.  Try `pip install --ignore-installed six`.
diff --git a/proto/lighthouse-result.proto b/proto/lighthouse-result.proto
index eb79084ca..1f160186d 100644
--- a/proto/lighthouse-result.proto
+++ b/proto/lighthouse-result.proto
@@ -366,7 +366,7 @@ message I18n {
     // The label for the initial request in a critical request chain
     string crc_initial_navigation = 14;
 
-    // The disclaimer shown under performance explaning that the network can
+    // The disclaimer shown under performance explaining that the network can
     // vary
     string ls_performance_category_description = 15;
 
@@ -455,7 +455,7 @@ message I18n {
     // dialog.
     string dropdown_print_summary = 37;
 
-    // Option in a dropdown menu that saves the current report as a new Github
+    // Option in a dropdown menu that saves the current report as a new GitHub
     // Gist.
     string dropdown_save_gist = 38;
 
@@ -471,7 +471,7 @@ message I18n {
     // Viewer Application.
     string dropdown_viewer = 41;
 
-    // Label for button to create an issue against the Lighthouse Github
+    // Label for button to create an issue against the Lighthouse GitHub
     // project.
     string footer_issue = 42;
 
diff --git a/readme.md b/readme.md
index cf5c46024..38fd82b41 100644
--- a/readme.md
+++ b/readme.md
@@ -383,11 +383,11 @@ Other awesome open source projects that use Lighthouse.
 * **[lighthouse-badges](https://github.com/emazzotta/lighthouse-badges)** - Generate gh-badges (shields.io) based on Lighthouse performance.
 * **[lighthouse-batch](https://www.npmjs.com/package/lighthouse-batch)** - Run Lighthouse over a number of sites and generate a summary of their metrics/scores.
 * **[lighthouse-batch-parallel](https://www.npmjs.com/package/lighthouse-batch-parallel)** - Run multiple Lighthouse runs in parallel to accelerate the data collecting process, get the result stream (csv, json, js object) in your own process (warning: performance results may be volatile).
-* **[lighthouse-check-action](https://github.com/foo-software/lighthouse-check-action)** - A Github Action to run Lighthouse in a workflow, featuring Slack notifications and report upload to S3.
+* **[lighthouse-check-action](https://github.com/foo-software/lighthouse-check-action)** - A GitHub Action to run Lighthouse in a workflow, featuring Slack notifications and report upload to S3.
 * **[lighthouse-check-orb](https://circleci.com/orbs/registry/orb/foo-software/lighthouse-check)** - A CircleCI Orb to run Lighthouse in a workflow, featuring Slack notifications and report upload to S3.
 * **[andreasonny83/lighthouse-ci](https://github.com/andreasonny83/lighthouse-ci)** - Run Lighthouse and assert scores satisfy your custom thresholds.
 * **[GoogleChrome/lighthouse-ci](https://github.com/GoogleChrome/lighthouse-ci)** - (**official**) Automate running Lighthouse for every commit, viewing the changes, and preventing regressions.
-* **[lighthouse-ci-action](https://github.com/treosh/lighthouse-ci-action)** - A Github Action that makes it easy to run Lighthouse in CI and keep your pages small using performance budgets.
+* **[lighthouse-ci-action](https://github.com/treosh/lighthouse-ci-action)** - A GitHub Action that makes it easy to run Lighthouse in CI and keep your pages small using performance budgets.
 * **[lighthouse-cron](https://github.com/thearegee/lighthouse-cron)** - Cron multiple batch Lighthouse audits and emit results for sending to remote server.
 * **[lighthouse-gh-reporter](https://github.com/carlesnunez/lighthouse-gh-reporter)** - Run Lighthouse in CI and report back in a comment on your pull requests
 * **[lighthouse-hue](https://github.com/ebidel/lighthouse-hue)** - Set the color of Philips Hue lights based on a Lighthouse score


Test patch:
diff --git a/lighthouse-cli/test/fixtures/csp.html b/lighthouse-cli/test/fixtures/csp.html
index 2a0dae1f0..bab3c578e 100644
--- a/lighthouse-cli/test/fixtures/csp.html
+++ b/lighthouse-cli/test/fixtures/csp.html
@@ -7,7 +7,7 @@
   <head>
     <script>
       // Use a source map so we can test the injected iframe fetcher.
-      //# sourceMappingURL=http://localhost:10200/source-map/script.js.map
+      //# sourceMappingURL=source-map/script.js.map
     </script>
   </head>
   <body>
diff --git a/lighthouse-cli/test/smokehouse/test-definitions/csp/csp-expectations.js b/lighthouse-cli/test/smokehouse/test-definitions/csp/csp-expectations.js
index 2ee560786..53edd12f0 100644
--- a/lighthouse-cli/test/smokehouse/test-definitions/csp/csp-expectations.js
+++ b/lighthouse-cli/test/smokehouse/test-definitions/csp/csp-expectations.js
@@ -19,7 +19,7 @@ function headersParam(headers) {
 // Easiest way to get script contents with whitespace is by copying script node in DevTools.
 const blockAllExceptInlineScriptCsp = headersParam([[
   'Content-Security-Policy',
-  `default-src 'none'; script-src 'sha256-qZLV55/xxILbIrha9pgX0OdkZMhOlaIgfpEo/6Dly2U='`,
+  `default-src 'none'; script-src 'sha256-NCWlI90TxQpIfghtBWJyNU5Y92Nj8XhO+AYMm0gqGfQ='`,
 ]]);
 
 /**