lighthouse 12.4.0 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/core/audits/audit.js +3 -1
  2. package/core/audits/bootup-time.js +1 -1
  3. package/core/audits/byte-efficiency/duplicated-javascript.js +1 -1
  4. package/core/audits/byte-efficiency/efficient-animated-content.js +1 -1
  5. package/core/audits/byte-efficiency/legacy-javascript.d.ts +0 -65
  6. package/core/audits/byte-efficiency/legacy-javascript.js +11 -363
  7. package/core/audits/byte-efficiency/modern-image-formats.js +1 -1
  8. package/core/audits/byte-efficiency/offscreen-images.js +4 -3
  9. package/core/audits/byte-efficiency/render-blocking-resources.js +6 -3
  10. package/core/audits/byte-efficiency/unminified-css.js +2 -1
  11. package/core/audits/byte-efficiency/unminified-javascript.js +2 -1
  12. package/core/audits/byte-efficiency/unused-css-rules.js +1 -1
  13. package/core/audits/byte-efficiency/unused-javascript.js +2 -2
  14. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -1
  15. package/core/audits/byte-efficiency/uses-optimized-images.js +1 -1
  16. package/core/audits/byte-efficiency/uses-responsive-images.js +1 -1
  17. package/core/audits/byte-efficiency/uses-text-compression.js +2 -1
  18. package/core/audits/critical-request-chains.js +5 -3
  19. package/core/audits/dobetterweb/dom-size.js +1 -1
  20. package/core/audits/dobetterweb/uses-http2.js +1 -1
  21. package/core/audits/insights/cls-culprits-insight.js +1 -1
  22. package/core/audits/insights/document-latency-insight.js +1 -1
  23. package/core/audits/insights/dom-size-insight.js +1 -1
  24. package/core/audits/insights/{long-critical-network-tree-insight.d.ts → duplicated-javascript-insight.d.ts} +3 -3
  25. package/core/audits/insights/duplicated-javascript-insight.js +54 -0
  26. package/core/audits/insights/font-display-insight.js +8 -7
  27. package/core/audits/insights/forced-reflow-insight.d.ts +10 -0
  28. package/core/audits/insights/forced-reflow-insight.js +64 -12
  29. package/core/audits/insights/image-delivery-insight.js +9 -10
  30. package/core/audits/insights/insight-audit.js +9 -4
  31. package/core/audits/insights/interaction-to-next-paint-insight.js +1 -1
  32. package/core/audits/insights/lcp-discovery-insight.js +1 -1
  33. package/core/audits/insights/lcp-phases-insight.js +1 -1
  34. package/core/audits/insights/network-dependency-tree-insight.d.ts +11 -0
  35. package/core/audits/insights/{long-critical-network-tree-insight.js → network-dependency-tree-insight.js} +7 -7
  36. package/core/audits/insights/render-blocking-insight.js +1 -1
  37. package/core/audits/insights/slow-css-selector-insight.js +1 -1
  38. package/core/audits/insights/third-parties-insight.js +1 -1
  39. package/core/audits/insights/use-cache-insight.d.ts +11 -0
  40. package/core/audits/insights/use-cache-insight.js +61 -0
  41. package/core/audits/insights/viewport-insight.js +1 -1
  42. package/core/audits/largest-contentful-paint-element.js +7 -3
  43. package/core/audits/layout-shifts.js +5 -2
  44. package/core/audits/lcp-lazy-loaded.js +1 -1
  45. package/core/audits/long-tasks.js +6 -4
  46. package/core/audits/mainthread-work-breakdown.js +1 -1
  47. package/core/audits/metrics/first-contentful-paint.js +4 -2
  48. package/core/audits/metrics/interactive.js +6 -3
  49. package/core/audits/metrics/largest-contentful-paint.js +7 -3
  50. package/core/audits/metrics/max-potential-fid.js +6 -3
  51. package/core/audits/metrics/speed-index.js +6 -3
  52. package/core/audits/metrics/total-blocking-time.js +6 -3
  53. package/core/audits/metrics.js +4 -3
  54. package/core/audits/predictive-perf.js +4 -3
  55. package/core/audits/prioritize-lcp-image.js +5 -3
  56. package/core/audits/redirects.js +4 -2
  57. package/core/audits/script-treemap-data.js +8 -4
  58. package/core/audits/third-party-facades.js +1 -1
  59. package/core/audits/third-party-summary.js +1 -1
  60. package/core/audits/uses-rel-preconnect.js +7 -5
  61. package/core/audits/uses-rel-preload.js +5 -3
  62. package/core/computed/computed-artifact.d.ts +5 -1
  63. package/core/computed/computed-artifact.js +23 -2
  64. package/core/computed/critical-request-chains.d.ts +5 -1
  65. package/core/computed/critical-request-chains.js +4 -4
  66. package/core/computed/js-bundles.d.ts +1 -1
  67. package/core/computed/metrics/first-contentful-paint-all-frames.js +1 -1
  68. package/core/computed/metrics/first-contentful-paint.js +1 -1
  69. package/core/computed/metrics/interactive.js +1 -1
  70. package/core/computed/metrics/lantern-first-contentful-paint.js +1 -1
  71. package/core/computed/metrics/lantern-interactive.js +1 -1
  72. package/core/computed/metrics/lantern-largest-contentful-paint.js +1 -1
  73. package/core/computed/metrics/lantern-max-potential-fid.js +1 -1
  74. package/core/computed/metrics/lantern-metric.js +1 -1
  75. package/core/computed/metrics/lantern-speed-index.js +1 -1
  76. package/core/computed/metrics/lantern-total-blocking-time.js +1 -1
  77. package/core/computed/metrics/largest-contentful-paint-all-frames.js +1 -1
  78. package/core/computed/metrics/largest-contentful-paint.js +1 -1
  79. package/core/computed/metrics/lcp-breakdown.js +1 -1
  80. package/core/computed/metrics/max-potential-fid.js +1 -1
  81. package/core/computed/metrics/metric.js +2 -0
  82. package/core/computed/metrics/speed-index.js +1 -1
  83. package/core/computed/metrics/time-to-first-byte.js +1 -1
  84. package/core/computed/metrics/timing-summary.d.ts +5 -2
  85. package/core/computed/metrics/timing-summary.js +8 -4
  86. package/core/computed/metrics/total-blocking-time.js +1 -1
  87. package/core/computed/module-duplication.d.ts +1 -1
  88. package/core/computed/navigation-insights.d.ts +11 -3
  89. package/core/computed/navigation-insights.js +7 -4
  90. package/core/computed/page-dependency-graph.d.ts +7 -3
  91. package/core/computed/page-dependency-graph.js +6 -5
  92. package/core/computed/tbt-impact-tasks.js +1 -1
  93. package/core/computed/trace-engine-result.d.ts +36 -2
  94. package/core/computed/trace-engine-result.js +119 -25
  95. package/core/computed/unused-javascript-summary.d.ts +2 -2
  96. package/core/computed/unused-javascript-summary.js +1 -1
  97. package/core/config/default-config.js +19 -15
  98. package/core/config/experimental-config.js +19 -0
  99. package/core/gather/gatherers/source-maps.d.ts +1 -0
  100. package/core/gather/gatherers/source-maps.js +3 -0
  101. package/core/gather/gatherers/trace-elements.d.ts +4 -4
  102. package/core/gather/gatherers/trace-elements.js +8 -4
  103. package/core/gather/gatherers/trace.js +5 -0
  104. package/core/lib/bf-cache-strings.d.ts +0 -122
  105. package/core/lib/bf-cache-strings.js +1 -2
  106. package/core/lib/deprecation-description.js +2 -1
  107. package/core/lib/legacy-javascript/legacy-javascript.d.ts +29 -0
  108. package/core/lib/legacy-javascript/legacy-javascript.js +351 -0
  109. package/core/lib/legacy-javascript/polyfill-graph-data.json +93 -0
  110. package/core/lib/legacy-javascript/polyfill-module-data.json +623 -0
  111. package/core/lib/trace-engine.d.ts +6 -1
  112. package/core/lib/trace-engine.js +1 -2
  113. package/package.json +10 -8
  114. package/shared/localization/locales/ar-XB.json +783 -513
  115. package/shared/localization/locales/ar.json +783 -513
  116. package/shared/localization/locales/bg.json +933 -663
  117. package/shared/localization/locales/ca.json +925 -655
  118. package/shared/localization/locales/cs.json +926 -656
  119. package/shared/localization/locales/da.json +926 -656
  120. package/shared/localization/locales/de.json +803 -533
  121. package/shared/localization/locales/el.json +928 -658
  122. package/shared/localization/locales/en-GB.json +929 -659
  123. package/shared/localization/locales/en-US.json +593 -551
  124. package/shared/localization/locales/en-XA.json +28 -508
  125. package/shared/localization/locales/en-XL.json +593 -551
  126. package/shared/localization/locales/es-419.json +928 -658
  127. package/shared/localization/locales/es.json +787 -517
  128. package/shared/localization/locales/fi.json +925 -655
  129. package/shared/localization/locales/fil.json +929 -659
  130. package/shared/localization/locales/fr.json +927 -657
  131. package/shared/localization/locales/he.json +795 -528
  132. package/shared/localization/locales/hi.json +798 -528
  133. package/shared/localization/locales/hr.json +929 -659
  134. package/shared/localization/locales/hu.json +926 -656
  135. package/shared/localization/locales/id.json +926 -656
  136. package/shared/localization/locales/it.json +930 -660
  137. package/shared/localization/locales/ja.json +927 -657
  138. package/shared/localization/locales/ko.json +936 -666
  139. package/shared/localization/locales/lt.json +933 -663
  140. package/shared/localization/locales/lv.json +809 -539
  141. package/shared/localization/locales/nl.json +925 -655
  142. package/shared/localization/locales/no.json +928 -658
  143. package/shared/localization/locales/pl.json +927 -657
  144. package/shared/localization/locales/pt-PT.json +841 -571
  145. package/shared/localization/locales/pt.json +841 -571
  146. package/shared/localization/locales/ro.json +925 -655
  147. package/shared/localization/locales/ru.json +935 -668
  148. package/shared/localization/locales/sk.json +925 -655
  149. package/shared/localization/locales/sl.json +927 -657
  150. package/shared/localization/locales/sr-Latn.json +925 -655
  151. package/shared/localization/locales/sr.json +925 -655
  152. package/shared/localization/locales/sv.json +936 -666
  153. package/shared/localization/locales/ta.json +935 -668
  154. package/shared/localization/locales/te.json +785 -515
  155. package/shared/localization/locales/th.json +813 -543
  156. package/shared/localization/locales/tr.json +927 -657
  157. package/shared/localization/locales/uk.json +795 -525
  158. package/shared/localization/locales/vi.json +929 -659
  159. package/shared/localization/locales/zh-HK.json +926 -656
  160. package/shared/localization/locales/zh-TW.json +784 -514
  161. package/shared/localization/locales/zh.json +926 -656
  162. package/tsconfig.json +2 -1
  163. package/types/artifacts.d.ts +2 -1
  164. package/core/audits/byte-efficiency/polyfill-graph-data.json +0 -53
@@ -660,7 +660,10 @@
660
660
  "message": "Use video formats for animated content"
661
661
  },
662
662
  "core/audits/byte-efficiency/legacy-javascript.js | description": {
663
- "message": "Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using module/nomodule feature detection to reduce the amount of code delivered to modern browsers, while retaining support for legacy browsers. [Learn how to use modern JavaScript](https://web.dev/articles/publish-modern-javascript)"
663
+ "message": "Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/baseline) features, unless you know you must support legacy browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
664
+ },
665
+ "core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": {
666
+ "message": "Version 2 of core-js was detected on the page. You should upgrade to version 3 for many performance improvements."
664
667
  },
665
668
  "core/audits/byte-efficiency/legacy-javascript.js | title": {
666
669
  "message": "Avoid serving legacy JavaScript to modern browsers"
@@ -761,6 +764,18 @@
761
764
  "core/audits/byte-efficiency/uses-text-compression.js | title": {
762
765
  "message": "Enable text compression"
763
766
  },
767
+ "core/audits/clickjacking-mitigation.js | columnSeverity": {
768
+ "message": "Severity"
769
+ },
770
+ "core/audits/clickjacking-mitigation.js | description": {
771
+ "message": "The `X-Frame-Options` (XFO) header or the `frame-ancestors` directive in the `Content-Security-Policy` (CSP) header control where a page can be embedded. These can mitigate clickjacking attacks by blocking some or all sites from embedding the page. [Learn more about mitigating clickjacking](https://developer.chrome.com/docs/lighthouse/best-practices/clickjacking-mitigation)."
772
+ },
773
+ "core/audits/clickjacking-mitigation.js | noClickjackingMitigation": {
774
+ "message": "No frame control policy found"
775
+ },
776
+ "core/audits/clickjacking-mitigation.js | title": {
777
+ "message": "Mitigate clickjacking with XFO or CSP"
778
+ },
764
779
  "core/audits/critical-request-chains.js | description": {
765
780
  "message": "The critical request chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources or deferring the download of unnecessary resources to improve page load. [Learn how to avoid chaining critical requests](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)."
766
781
  },
@@ -1040,6 +1055,9 @@
1040
1055
  "core/audits/image-size-responsive.js | title": {
1041
1056
  "message": "Serves images with appropriate resolution"
1042
1057
  },
1058
+ "core/audits/insights/cls-culprits-insight.js | columnScore": {
1059
+ "message": "Layout shift score"
1060
+ },
1043
1061
  "core/audits/is-on-https.js | allowed": {
1044
1062
  "message": "Allowed"
1045
1063
  },
@@ -1658,6 +1676,9 @@
1658
1676
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1659
1677
  "message": "First Paint Improvements"
1660
1678
  },
1679
+ "core/config/default-config.js | insightGroupTitle": {
1680
+ "message": "Insights"
1681
+ },
1661
1682
  "core/config/default-config.js | metricGroupTitle": {
1662
1683
  "message": "Metrics"
1663
1684
  },
@@ -1721,1013 +1742,1259 @@
1721
1742
  "core/gather/timespan-runner.js | warningNavigationDetected": {
1722
1743
  "message": "A page navigation was detected during the run. Using timespan mode to audit page navigations is not recommended. Use navigation mode to audit page navigations for better third-party attribution and main thread detection."
1723
1744
  },
1724
- "core/lib/bf-cache-strings.js | HTTPMethodNotGET": {
1725
- "message": "Only pages loaded via a GET request are eligible for back-forward cache."
1726
- },
1727
- "core/lib/bf-cache-strings.js | HTTPStatusNotOK": {
1728
- "message": "Only pages with a status code of 2XX can be cached."
1745
+ "core/lib/csp-evaluator.js | allowlistFallback": {
1746
+ "message": "Consider adding https: and http: URL schemes (ignored by browsers supporting `'strict-dynamic'`) to be backward compatible with older browsers."
1729
1747
  },
1730
- "core/lib/bf-cache-strings.js | JavaScriptExecution": {
1731
- "message": "Chrome detected an attempt to execute JavaScript while in the cache."
1748
+ "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1749
+ "message": "`disown-opener` is deprecated since CSP3. Please use the Cross-Origin-Opener-Policy header instead."
1732
1750
  },
1733
- "core/lib/bf-cache-strings.js | appBanner": {
1734
- "message": "Pages that requested an AppBanner are not currently eligible for back-forward cache."
1751
+ "core/lib/csp-evaluator.js | deprecatedReferrer": {
1752
+ "message": "`referrer` is deprecated since CSP2. Please use the Referrer-Policy header instead."
1735
1753
  },
1736
- "core/lib/bf-cache-strings.js | backForwardCacheDisabled": {
1737
- "message": "Back-forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device."
1754
+ "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1755
+ "message": "`reflected-xss` is deprecated since CSP2. Please, use the X-XSS-Protection header instead."
1738
1756
  },
1739
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledByCommandLine": {
1740
- "message": "Back-forward cache is disabled by the command line."
1757
+ "core/lib/csp-evaluator.js | missingBaseUri": {
1758
+ "message": "Missing `base-uri` allows injected `<base>` tags to set the base URL for all relative URLs (e.g. scripts) to an attacker controlled domain. Consider setting `base-uri` to `'none'` or `'self'`."
1741
1759
  },
1742
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledByLowMemory": {
1743
- "message": "Back-forward cache is disabled due to insufficient memory."
1760
+ "core/lib/csp-evaluator.js | missingObjectSrc": {
1761
+ "message": "Missing `object-src` allows the injection of plugins that execute unsafe scripts. Consider setting `object-src` to `'none'` if you can."
1744
1762
  },
1745
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledForDelegate": {
1746
- "message": "Back-forward cache is not supported by delegate."
1763
+ "core/lib/csp-evaluator.js | missingScriptSrc": {
1764
+ "message": "`script-src` directive is missing. This can allow the execution of unsafe scripts."
1747
1765
  },
1748
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledForPrerender": {
1749
- "message": "Back-forward cache is disabled for pre-renderer."
1766
+ "core/lib/csp-evaluator.js | missingSemicolon": {
1767
+ "message": "Did you forget the semicolon? {keyword} seems to be a directive, not a keyword."
1750
1768
  },
1751
- "core/lib/bf-cache-strings.js | broadcastChannel": {
1752
- "message": "The page cannot be cached because it has a BroadcastChannel instance with registered listeners."
1769
+ "core/lib/csp-evaluator.js | nonceCharset": {
1770
+ "message": "Nonces should use the base64 charset."
1753
1771
  },
1754
- "core/lib/bf-cache-strings.js | cacheControlNoStore": {
1755
- "message": "Pages with cache-control:no-store header cannot enter back-forward cache."
1772
+ "core/lib/csp-evaluator.js | nonceLength": {
1773
+ "message": "Nonces should be at least eight characters long."
1756
1774
  },
1757
- "core/lib/bf-cache-strings.js | cacheFlushed": {
1758
- "message": "The cache was intentionally cleared."
1775
+ "core/lib/csp-evaluator.js | plainUrlScheme": {
1776
+ "message": "Avoid using plain URL schemes ({keyword}) in this directive. Plain URL schemes allow scripts to be sourced from an unsafe domain."
1759
1777
  },
1760
- "core/lib/bf-cache-strings.js | cacheLimit": {
1761
- "message": "The page was evicted from the cache to allow another page to be cached."
1778
+ "core/lib/csp-evaluator.js | plainWildcards": {
1779
+ "message": "Avoid using plain wildcards ({keyword}) in this directive. Plain wildcards allow scripts to be sourced from an unsafe domain."
1762
1780
  },
1763
- "core/lib/bf-cache-strings.js | containsPlugins": {
1764
- "message": "Pages containing plug-ins are not currently eligible for back-forward cache."
1781
+ "core/lib/csp-evaluator.js | reportToOnly": {
1782
+ "message": "The reporting destination is only configured via the report-to directive. This directive is only supported in Chromium-based browsers so it is recommended to also use a `report-uri` directive."
1765
1783
  },
1766
- "core/lib/bf-cache-strings.js | contentFileChooser": {
1767
- "message": "Pages that use FileChooser API are not eligible for back-forward cache."
1784
+ "core/lib/csp-evaluator.js | reportingDestinationMissing": {
1785
+ "message": "No CSP configures a reporting destination. This makes it difficult to maintain the CSP over time and monitor for any breakages."
1768
1786
  },
1769
- "core/lib/bf-cache-strings.js | contentFileSystemAccess": {
1770
- "message": "Pages that use file system access API are not eligible for back-forward cache."
1787
+ "core/lib/csp-evaluator.js | strictDynamic": {
1788
+ "message": "Host allowlists can frequently be bypassed. Consider using CSP nonces or hashes instead, along with `'strict-dynamic'` if necessary."
1771
1789
  },
1772
- "core/lib/bf-cache-strings.js | contentMediaDevicesDispatcherHost": {
1773
- "message": "Pages that use media device dispatcher are not eligible for back-forward cache."
1790
+ "core/lib/csp-evaluator.js | unknownDirective": {
1791
+ "message": "Unknown CSP directive."
1774
1792
  },
1775
- "core/lib/bf-cache-strings.js | contentMediaPlay": {
1776
- "message": "A media player was playing upon navigating away."
1793
+ "core/lib/csp-evaluator.js | unknownKeyword": {
1794
+ "message": "{keyword} seems to be an invalid keyword."
1777
1795
  },
1778
- "core/lib/bf-cache-strings.js | contentMediaSession": {
1779
- "message": "Pages that use MediaSession API and set a playback state are not eligible for back-forward cache."
1796
+ "core/lib/csp-evaluator.js | unsafeInline": {
1797
+ "message": "`'unsafe-inline'` allows the execution of unsafe in-page scripts and event handlers. Consider using CSP nonces or hashes to allow scripts individually."
1780
1798
  },
1781
- "core/lib/bf-cache-strings.js | contentMediaSessionService": {
1782
- "message": "Pages that use MediaSession API and set action handlers are not eligible for back-forward cache."
1799
+ "core/lib/csp-evaluator.js | unsafeInlineFallback": {
1800
+ "message": "Consider adding `'unsafe-inline'` (ignored by browsers supporting nonces/hashes) to be backward compatible with older browsers."
1783
1801
  },
1784
- "core/lib/bf-cache-strings.js | contentScreenReader": {
1785
- "message": "Back-forward cache is disabled due to screen reader."
1802
+ "core/lib/deprecation-description.js | feature": {
1803
+ "message": "Check the feature status page for more details."
1786
1804
  },
1787
- "core/lib/bf-cache-strings.js | contentSecurityHandler": {
1788
- "message": "Pages that use SecurityHandler are not eligible for back-forward cache."
1805
+ "core/lib/deprecation-description.js | milestone": {
1806
+ "message": "This change will go into effect with milestone {milestone}."
1789
1807
  },
1790
- "core/lib/bf-cache-strings.js | contentSerial": {
1791
- "message": "Pages that use Serial API are not eligible for back-forward cache."
1808
+ "core/lib/deprecation-description.js | title": {
1809
+ "message": "Deprecated feature used"
1792
1810
  },
1793
- "core/lib/bf-cache-strings.js | contentWebAuthenticationAPI": {
1794
- "message": "Pages that use WebAuthentication API are not eligible for back-forward cache."
1811
+ "core/lib/i18n/i18n.js | columnBlockingTime": {
1812
+ "message": "Main-thread blocking time"
1795
1813
  },
1796
- "core/lib/bf-cache-strings.js | contentWebBluetooth": {
1797
- "message": "Pages that use WebBluetooth API are not eligible for back-forward cache."
1814
+ "core/lib/i18n/i18n.js | columnCacheTTL": {
1815
+ "message": "Cache TTL"
1798
1816
  },
1799
- "core/lib/bf-cache-strings.js | contentWebUSB": {
1800
- "message": "Pages that use WebUSB API are not eligible for back-forward cache."
1817
+ "core/lib/i18n/i18n.js | columnDescription": {
1818
+ "message": "Description"
1801
1819
  },
1802
- "core/lib/bf-cache-strings.js | cookieDisabled": {
1803
- "message": "Back/forward cache is disabled because cookies are disabled on a page that uses `Cache-Control: no-store`."
1820
+ "core/lib/i18n/i18n.js | columnDuration": {
1821
+ "message": "Duration"
1804
1822
  },
1805
- "core/lib/bf-cache-strings.js | dedicatedWorkerOrWorklet": {
1806
- "message": "Pages that use a dedicated worker or worklet are not currently eligible for back-forward cache."
1823
+ "core/lib/i18n/i18n.js | columnElement": {
1824
+ "message": "Element"
1807
1825
  },
1808
- "core/lib/bf-cache-strings.js | documentLoaded": {
1809
- "message": "The document did not finish loading before navigating away."
1826
+ "core/lib/i18n/i18n.js | columnFailingElem": {
1827
+ "message": "Failing elements"
1810
1828
  },
1811
- "core/lib/bf-cache-strings.js | embedderAppBannerManager": {
1812
- "message": "App banner was present upon navigating away."
1829
+ "core/lib/i18n/i18n.js | columnLocation": {
1830
+ "message": "Location"
1813
1831
  },
1814
- "core/lib/bf-cache-strings.js | embedderChromePasswordManagerClientBindCredentialManager": {
1815
- "message": "Chrome Password Manager was present upon navigating away."
1832
+ "core/lib/i18n/i18n.js | columnName": {
1833
+ "message": "Name"
1816
1834
  },
1817
- "core/lib/bf-cache-strings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
1818
- "message": "DOM distillation was in progress upon navigating away."
1835
+ "core/lib/i18n/i18n.js | columnRequests": {
1836
+ "message": "Requests"
1819
1837
  },
1820
- "core/lib/bf-cache-strings.js | embedderDomDistillerViewerSource": {
1821
- "message": "DOM distiller viewer was present upon navigating away."
1838
+ "core/lib/i18n/i18n.js | columnResourceSize": {
1839
+ "message": "Resource size"
1822
1840
  },
1823
- "core/lib/bf-cache-strings.js | embedderExtensionMessaging": {
1824
- "message": "Back-forward cache is disabled due to extensions using messaging API."
1841
+ "core/lib/i18n/i18n.js | columnResourceType": {
1842
+ "message": "Resource type"
1825
1843
  },
1826
- "core/lib/bf-cache-strings.js | embedderExtensionMessagingForOpenPort": {
1827
- "message": "Extensions with long-lived connection should close the connection before entering back-forward cache."
1844
+ "core/lib/i18n/i18n.js | columnSize": {
1845
+ "message": "Size"
1828
1846
  },
1829
- "core/lib/bf-cache-strings.js | embedderExtensionSentMessageToCachedFrame": {
1830
- "message": "Extensions with long-lived connection attempted to send messages to frames in back-forward cache."
1847
+ "core/lib/i18n/i18n.js | columnSource": {
1848
+ "message": "Source"
1831
1849
  },
1832
- "core/lib/bf-cache-strings.js | embedderExtensions": {
1833
- "message": "Back-forward cache is disabled due to extensions."
1850
+ "core/lib/i18n/i18n.js | columnStartTime": {
1851
+ "message": "Start Time"
1834
1852
  },
1835
- "core/lib/bf-cache-strings.js | embedderModalDialog": {
1836
- "message": "Modal dialogue such as form resubmission or HTTP password dialogue was shown for the page upon navigating away."
1853
+ "core/lib/i18n/i18n.js | columnTimeSpent": {
1854
+ "message": "Time Spent"
1837
1855
  },
1838
- "core/lib/bf-cache-strings.js | embedderOfflinePage": {
1839
- "message": "The offline page was shown upon navigating away."
1856
+ "core/lib/i18n/i18n.js | columnTransferSize": {
1857
+ "message": "Transfer size"
1840
1858
  },
1841
- "core/lib/bf-cache-strings.js | embedderOomInterventionTabHelper": {
1842
- "message": "Out-of-memory intervention bar was present upon navigating away."
1859
+ "core/lib/i18n/i18n.js | columnURL": {
1860
+ "message": "URL"
1843
1861
  },
1844
- "core/lib/bf-cache-strings.js | embedderPermissionRequestManager": {
1845
- "message": "There were permission requests upon navigating away."
1862
+ "core/lib/i18n/i18n.js | columnWastedBytes": {
1863
+ "message": "Potential savings"
1846
1864
  },
1847
- "core/lib/bf-cache-strings.js | embedderPopupBlockerTabHelper": {
1848
- "message": "Pop-up blocker was present upon navigating away."
1865
+ "core/lib/i18n/i18n.js | columnWastedMs": {
1866
+ "message": "Potential Savings"
1849
1867
  },
1850
- "core/lib/bf-cache-strings.js | embedderSafeBrowsingThreatDetails": {
1851
- "message": "Safe Browsing details were shown upon navigating away."
1868
+ "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1869
+ "message": "Cumulative Layout Shift"
1852
1870
  },
1853
- "core/lib/bf-cache-strings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
1854
- "message": "Safe Browsing considered this page to be abusive and blocked the pop-up."
1871
+ "core/lib/i18n/i18n.js | displayValueByteSavings": {
1872
+ "message": "Potential savings of {wastedBytes, number, bytes} KiB"
1855
1873
  },
1856
- "core/lib/bf-cache-strings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
1857
- "message": "A service worker was activated while the page was in back-forward cache."
1874
+ "core/lib/i18n/i18n.js | displayValueElementsFound": {
1875
+ "message": "{nodeCount,plural, =1{1 element found}other{# elements found}}"
1858
1876
  },
1859
- "core/lib/bf-cache-strings.js | errorDocument": {
1860
- "message": "Back-forward cache is disabled due to a document error."
1877
+ "core/lib/i18n/i18n.js | displayValueMsSavings": {
1878
+ "message": "Potential savings of {wastedMs, number, milliseconds} ms"
1861
1879
  },
1862
- "core/lib/bf-cache-strings.js | fencedFramesEmbedder": {
1863
- "message": "Pages using FencedFrames cannot be stored in bfcache."
1880
+ "core/lib/i18n/i18n.js | documentResourceType": {
1881
+ "message": "Document"
1864
1882
  },
1865
- "core/lib/bf-cache-strings.js | foregroundCacheLimit": {
1866
- "message": "The page was evicted from the cache to allow another page to be cached."
1883
+ "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1884
+ "message": "First Contentful Paint"
1867
1885
  },
1868
- "core/lib/bf-cache-strings.js | grantedMediaStreamAccess": {
1869
- "message": "Pages that have granted media stream access are not currently eligible for back-forward cache."
1886
+ "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1887
+ "message": "First Meaningful Paint"
1870
1888
  },
1871
- "core/lib/bf-cache-strings.js | haveInnerContents": {
1872
- "message": "Pages that use portals are not currently eligible for back-forward cache."
1889
+ "core/lib/i18n/i18n.js | fontResourceType": {
1890
+ "message": "Font"
1873
1891
  },
1874
- "core/lib/bf-cache-strings.js | idleManager": {
1875
- "message": "Pages that use IdleManager are not currently eligible for back-forward cache."
1892
+ "core/lib/i18n/i18n.js | imageResourceType": {
1893
+ "message": "Image"
1876
1894
  },
1877
- "core/lib/bf-cache-strings.js | indexedDBConnection": {
1878
- "message": "Pages that have an open IndexedDB connection are not currently eligible for back-forward cache."
1895
+ "core/lib/i18n/i18n.js | interactionToNextPaint": {
1896
+ "message": "Interaction to Next Paint"
1879
1897
  },
1880
- "core/lib/bf-cache-strings.js | indexedDBEvent": {
1881
- "message": "Back/forward cache is disabled due to an IndexedDB event."
1898
+ "core/lib/i18n/i18n.js | interactiveMetric": {
1899
+ "message": "Time to Interactive"
1882
1900
  },
1883
- "core/lib/bf-cache-strings.js | ineligibleAPI": {
1884
- "message": "Ineligible APIs were used."
1901
+ "core/lib/i18n/i18n.js | itemSeverityHigh": {
1902
+ "message": "High"
1885
1903
  },
1886
- "core/lib/bf-cache-strings.js | injectedJavascript": {
1887
- "message": "Pages that `JavaScript` is injected into by extensions are not currently eligible for back-forward cache."
1904
+ "core/lib/i18n/i18n.js | itemSeverityLow": {
1905
+ "message": "Low"
1888
1906
  },
1889
- "core/lib/bf-cache-strings.js | injectedStyleSheet": {
1890
- "message": "Pages that a `StyleSheet` is injected into by extensions are not currently eligible for back-forward cache."
1907
+ "core/lib/i18n/i18n.js | itemSeverityMedium": {
1908
+ "message": "Medium"
1891
1909
  },
1892
- "core/lib/bf-cache-strings.js | internalError": {
1893
- "message": "Internal error."
1910
+ "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1911
+ "message": "Largest Contentful Paint"
1894
1912
  },
1895
- "core/lib/bf-cache-strings.js | keepaliveRequest": {
1896
- "message": "Back-forward cache is disabled due to a keepalive request."
1913
+ "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1914
+ "message": "Max potential first input delay"
1897
1915
  },
1898
- "core/lib/bf-cache-strings.js | keyboardLock": {
1899
- "message": "Pages that use keyboard lock are not currently eligible for back-forward cache."
1916
+ "core/lib/i18n/i18n.js | mediaResourceType": {
1917
+ "message": "Media"
1900
1918
  },
1901
- "core/lib/bf-cache-strings.js | loading": {
1902
- "message": "The page did not finish loading before navigating away."
1919
+ "core/lib/i18n/i18n.js | ms": {
1920
+ "message": "{timeInMs, number, milliseconds} ms"
1903
1921
  },
1904
- "core/lib/bf-cache-strings.js | mainResourceHasCacheControlNoCache": {
1905
- "message": "Pages whose main resource has cache-control:no-cache cannot enter back-forward cache."
1922
+ "core/lib/i18n/i18n.js | otherResourceType": {
1923
+ "message": "Other"
1906
1924
  },
1907
- "core/lib/bf-cache-strings.js | mainResourceHasCacheControlNoStore": {
1908
- "message": "Pages whose main resource has cache-control:no-store cannot enter back-forward cache."
1925
+ "core/lib/i18n/i18n.js | otherResourcesLabel": {
1926
+ "message": "Other resources"
1909
1927
  },
1910
- "core/lib/bf-cache-strings.js | navigationCancelledWhileRestoring": {
1911
- "message": "Navigation was cancelled before the page could be restored from back-forward cache."
1928
+ "core/lib/i18n/i18n.js | scriptResourceType": {
1929
+ "message": "Script"
1912
1930
  },
1913
- "core/lib/bf-cache-strings.js | networkExceedsBufferLimit": {
1914
- "message": "The page was evicted from the cache because an active network connection received too much data. Chrome limits the amount of data that a page may receive while cached."
1931
+ "core/lib/i18n/i18n.js | seconds": {
1932
+ "message": "{timeInMs, number, seconds} s"
1915
1933
  },
1916
- "core/lib/bf-cache-strings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
1917
- "message": "Pages that have inflight fetch() or XHR are not currently eligible for back-forward cache."
1934
+ "core/lib/i18n/i18n.js | speedIndexMetric": {
1935
+ "message": "Speed Index"
1918
1936
  },
1919
- "core/lib/bf-cache-strings.js | networkRequestRedirected": {
1920
- "message": "The page was evicted from back-forward cache because an active network request involved a redirect."
1937
+ "core/lib/i18n/i18n.js | stylesheetResourceType": {
1938
+ "message": "Stylesheet"
1921
1939
  },
1922
- "core/lib/bf-cache-strings.js | networkRequestTimeout": {
1923
- "message": "The page was evicted from the cache because a network connection was open too long. Chrome limits the amount of time that a page may receive data while cached."
1940
+ "core/lib/i18n/i18n.js | thirdPartyResourceType": {
1941
+ "message": "Third-party"
1924
1942
  },
1925
- "core/lib/bf-cache-strings.js | noResponseHead": {
1926
- "message": "Pages that do not have a valid response head cannot enter back-forward cache."
1943
+ "core/lib/i18n/i18n.js | total": {
1944
+ "message": "Total"
1927
1945
  },
1928
- "core/lib/bf-cache-strings.js | notMainFrame": {
1929
- "message": "Navigation happened in a frame other than the main frame."
1946
+ "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
1947
+ "message": "Total Blocking Time"
1930
1948
  },
1931
- "core/lib/bf-cache-strings.js | outstandingIndexedDBTransaction": {
1932
- "message": "Pages with ongoing indexed DB transactions are not currently eligible for back-forward cache."
1949
+ "core/lib/i18n/i18n.js | totalResourceType": {
1950
+ "message": "Total"
1933
1951
  },
1934
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestDirectSocket": {
1935
- "message": "Pages with an in-flight network request are not currently eligible for back-forward cache."
1952
+ "core/lib/lh-error.js | badTraceRecording": {
1953
+ "message": "Something went wrong with recording the trace over your page load. Please run Lighthouse again. ({errorCode})"
1936
1954
  },
1937
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestFetch": {
1938
- "message": "Pages with an in-flight fetch network request are not currently eligible for back-forward cache."
1955
+ "core/lib/lh-error.js | criTimeout": {
1956
+ "message": "Timeout waiting for initial Debugger Protocol connection."
1939
1957
  },
1940
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestOthers": {
1941
- "message": "Pages with an in-flight network request are not currently eligible for back-forward cache."
1958
+ "core/lib/lh-error.js | didntCollectScreenshots": {
1959
+ "message": "Chrome didn't collect any screenshots during the page load. Please make sure that there is content visible on the page, and then try re-running Lighthouse. ({errorCode})"
1942
1960
  },
1943
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestXHR": {
1944
- "message": "Pages with an in-flight XHR network request are not currently eligible for back-forward cache."
1961
+ "core/lib/lh-error.js | dnsFailure": {
1962
+ "message": "DNS servers could not resolve the provided domain."
1945
1963
  },
1946
- "core/lib/bf-cache-strings.js | paymentManager": {
1947
- "message": "Pages that use PaymentManager are not currently eligible for back-forward cache."
1964
+ "core/lib/lh-error.js | erroredRequiredArtifact": {
1965
+ "message": "Required {artifactName} gatherer encountered an error: {errorMessage}"
1948
1966
  },
1949
- "core/lib/bf-cache-strings.js | pictureInPicture": {
1950
- "message": "Pages that use picture-in-picture are not currently eligible for back-forward cache."
1967
+ "core/lib/lh-error.js | internalChromeError": {
1968
+ "message": "An internal Chrome error occurred. Please restart Chrome and try re-running Lighthouse."
1951
1969
  },
1952
- "core/lib/bf-cache-strings.js | printing": {
1953
- "message": "Pages that show Printing UI are not currently eligible for back-forward cache."
1970
+ "core/lib/lh-error.js | missingRequiredArtifact": {
1971
+ "message": "Required {artifactName} gatherer did not run."
1954
1972
  },
1955
- "core/lib/bf-cache-strings.js | relatedActiveContentsExist": {
1956
- "message": "The page was opened using '`window.open()`' and another tab has a reference to it, or the page opened a window."
1973
+ "core/lib/lh-error.js | noFcp": {
1974
+ "message": "The page did not paint any content. Please ensure that you keep the browser window in the foreground during the load and try again. ({errorCode})"
1957
1975
  },
1958
- "core/lib/bf-cache-strings.js | rendererProcessCrashed": {
1959
- "message": "The renderer process for the page in back-forward cache crashed."
1976
+ "core/lib/lh-error.js | noLcp": {
1977
+ "message": "The page did not display content that qualifies as a largest contentful paint (LCP). Ensure that the page has a valid LCP element and then try again. ({errorCode})"
1960
1978
  },
1961
- "core/lib/bf-cache-strings.js | rendererProcessKilled": {
1962
- "message": "The renderer process for the page in back-forward cache was killed."
1979
+ "core/lib/lh-error.js | notHtml": {
1980
+ "message": "The page provided is not HTML (served as MIME type {mimeType})."
1963
1981
  },
1964
- "core/lib/bf-cache-strings.js | requestedAudioCapturePermission": {
1965
- "message": "Pages that have requested audio capture permissions are not currently eligible for back-forward cache."
1982
+ "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
1983
+ "message": "This version of Chrome is too old to support '{featureName}'. Use a newer version to see full results."
1966
1984
  },
1967
- "core/lib/bf-cache-strings.js | requestedBackForwardCacheBlockedSensors": {
1968
- "message": "Pages that have requested sensor permissions are not currently eligible for back-forward cache."
1985
+ "core/lib/lh-error.js | pageLoadFailed": {
1986
+ "message": "Lighthouse was unable to reliably load the page that you requested. Make sure that you are testing the correct URL and that the server is properly responding to all requests."
1969
1987
  },
1970
- "core/lib/bf-cache-strings.js | requestedBackgroundWorkPermission": {
1971
- "message": "Pages that have requested background sync or fetch permissions are not currently eligible for back-forward cache."
1988
+ "core/lib/lh-error.js | pageLoadFailedHung": {
1989
+ "message": "Lighthouse was unable to reliably load the URL that you requested because the page stopped responding."
1972
1990
  },
1973
- "core/lib/bf-cache-strings.js | requestedMIDIPermission": {
1974
- "message": "Pages that have requested MIDI permissions are not currently eligible for back-forward cache."
1991
+ "core/lib/lh-error.js | pageLoadFailedInsecure": {
1992
+ "message": "The URL you have provided does not have a valid security certificate. {securityMessages}"
1975
1993
  },
1976
- "core/lib/bf-cache-strings.js | requestedNotificationsPermission": {
1977
- "message": "Pages that have requested notifications permissions are not currently eligible for back-forward cache."
1994
+ "core/lib/lh-error.js | pageLoadFailedInterstitial": {
1995
+ "message": "Chrome prevented page load with an interstitial. Make sure that you are testing the correct URL and that the server is properly responding to all requests."
1978
1996
  },
1979
- "core/lib/bf-cache-strings.js | requestedStorageAccessGrant": {
1980
- "message": "Pages that have requested storage access are not currently eligible for back-forward cache."
1997
+ "core/lib/lh-error.js | pageLoadFailedWithDetails": {
1998
+ "message": "Lighthouse was unable to reliably load the page that you requested. Make sure that you are testing the correct URL and that the server is properly responding to all requests. (Details: {errorDetails})"
1981
1999
  },
1982
- "core/lib/bf-cache-strings.js | requestedVideoCapturePermission": {
1983
- "message": "Pages that have requested video capture permissions are not currently eligible for back-forward cache."
2000
+ "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2001
+ "message": "Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: {statusCode})"
1984
2002
  },
1985
- "core/lib/bf-cache-strings.js | schemeNotHTTPOrHTTPS": {
1986
- "message": "Only pages whose URL scheme is HTTP/HTTPS can be cached."
2003
+ "core/lib/lh-error.js | pageLoadTookTooLong": {
2004
+ "message": "Your page took too long to load. Please follow the opportunities in the report to reduce your page load time, and then try re-running Lighthouse. ({errorCode})"
1987
2005
  },
1988
- "core/lib/bf-cache-strings.js | serviceWorkerClaim": {
1989
- "message": "The page was claimed by a service worker while it is in back-forward cache."
2006
+ "core/lib/lh-error.js | protocolTimeout": {
2007
+ "message": "Waiting for DevTools protocol response has exceeded the allotted time. (Method: {protocolMethod})"
1990
2008
  },
1991
- "core/lib/bf-cache-strings.js | serviceWorkerPostMessage": {
1992
- "message": "A service worker attempted to send the page in back-forward cache a `MessageEvent`."
2009
+ "core/lib/lh-error.js | requestContentTimeout": {
2010
+ "message": "Fetching resource content has exceeded the allotted time"
1993
2011
  },
1994
- "core/lib/bf-cache-strings.js | serviceWorkerUnregistration": {
1995
- "message": "ServiceWorker was unregistered while a page was in back-forward cache."
2012
+ "core/lib/lh-error.js | targetCrashed": {
2013
+ "message": "Browser tab has unexpectedly crashed."
1996
2014
  },
1997
- "core/lib/bf-cache-strings.js | serviceWorkerVersionActivation": {
1998
- "message": "The page was evicted from back-forward cache due to a service worker activation."
2015
+ "core/lib/lh-error.js | urlInvalid": {
2016
+ "message": "The URL that you have provided appears to be invalid."
1999
2017
  },
2000
- "core/lib/bf-cache-strings.js | sessionRestored": {
2001
- "message": "Chrome restarted and cleared the back-forward cache entries."
2018
+ "core/lib/navigation-error.js | warningStatusCode": {
2019
+ "message": "Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: {errorCode})"
2002
2020
  },
2003
- "core/lib/bf-cache-strings.js | sharedWorker": {
2004
- "message": "Pages that use SharedWorker are not currently eligible for back-forward cache."
2021
+ "core/lib/navigation-error.js | warningXhtml": {
2022
+ "message": "The page MIME type is XHTML: Lighthouse does not explicitly support this document type"
2005
2023
  },
2006
- "core/lib/bf-cache-strings.js | speechRecognizer": {
2007
- "message": "Pages that use SpeechRecogniser are not currently eligible for back-forward cache."
2024
+ "core/user-flow.js | defaultFlowName": {
2025
+ "message": "User flow ({url})"
2008
2026
  },
2009
- "core/lib/bf-cache-strings.js | speechSynthesis": {
2010
- "message": "Pages that use SpeechSynthesis are not currently eligible for back-forward cache."
2027
+ "core/user-flow.js | defaultNavigationName": {
2028
+ "message": "Navigation report ({url})"
2011
2029
  },
2012
- "core/lib/bf-cache-strings.js | subframeIsNavigating": {
2013
- "message": "An iframe on the page started a navigation that did not complete."
2030
+ "core/user-flow.js | defaultSnapshotName": {
2031
+ "message": "Snapshot report ({url})"
2014
2032
  },
2015
- "core/lib/bf-cache-strings.js | subresourceHasCacheControlNoCache": {
2016
- "message": "Pages whose subresource has cache-control:no-cache cannot enter back-forward cache."
2033
+ "core/user-flow.js | defaultTimespanName": {
2034
+ "message": "Timespan report ({url})"
2017
2035
  },
2018
- "core/lib/bf-cache-strings.js | subresourceHasCacheControlNoStore": {
2019
- "message": "Pages whose subresource has cache-control:no-store cannot enter back-forward cache."
2036
+ "flow-report/src/i18n/ui-strings.js | allReports": {
2037
+ "message": "All reports"
2020
2038
  },
2021
- "core/lib/bf-cache-strings.js | timeout": {
2022
- "message": "The page exceeded the maximum time in back-forward cache and expired."
2039
+ "flow-report/src/i18n/ui-strings.js | categories": {
2040
+ "message": "Categories"
2023
2041
  },
2024
- "core/lib/bf-cache-strings.js | timeoutPuttingInCache": {
2025
- "message": "The page timed out entering back-forward cache (likely due to long-running page-hide handlers)."
2042
+ "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
2043
+ "message": "Accessibility"
2026
2044
  },
2027
- "core/lib/bf-cache-strings.js | unloadHandlerExistsInMainFrame": {
2028
- "message": "The page has an unload handler in the main frame."
2045
+ "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
2046
+ "message": "Best Practices"
2029
2047
  },
2030
- "core/lib/bf-cache-strings.js | unloadHandlerExistsInSubFrame": {
2031
- "message": "The page has an unload handler in a subframe."
2048
+ "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2049
+ "message": "Performance"
2032
2050
  },
2033
- "core/lib/bf-cache-strings.js | userAgentOverrideDiffers": {
2034
- "message": "Browser has changed the user agent override header."
2051
+ "flow-report/src/i18n/ui-strings.js | categorySeo": {
2052
+ "message": "SEO"
2035
2053
  },
2036
- "core/lib/bf-cache-strings.js | wasGrantedMediaAccess": {
2037
- "message": "Pages that have granted access to record video or audio are not currently eligible for back-forward cache."
2054
+ "flow-report/src/i18n/ui-strings.js | desktop": {
2055
+ "message": "Desktop"
2038
2056
  },
2039
- "core/lib/bf-cache-strings.js | webDatabase": {
2040
- "message": "Pages that use WebDatabase are not currently eligible for back-forward cache."
2057
+ "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
2058
+ "message": "Understanding the Lighthouse flow report"
2041
2059
  },
2042
- "core/lib/bf-cache-strings.js | webHID": {
2043
- "message": "Pages that use WebHID are not currently eligible for back-forward cache."
2060
+ "flow-report/src/i18n/ui-strings.js | helpLabel": {
2061
+ "message": "Understanding flows"
2044
2062
  },
2045
- "core/lib/bf-cache-strings.js | webLocks": {
2046
- "message": "Pages that use WebLocks are not currently eligible for back-forward cache."
2063
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
2064
+ "message": "Use Navigation reports to…"
2047
2065
  },
2048
- "core/lib/bf-cache-strings.js | webNfc": {
2049
- "message": "Pages that use WebNfc are not currently eligible for back-forward cache."
2066
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
2067
+ "message": "Use Snapshot reports to…"
2050
2068
  },
2051
- "core/lib/bf-cache-strings.js | webOTPService": {
2052
- "message": "Pages that use WebOTPService are not currently eligible for bfcache."
2069
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
2070
+ "message": "Use Timespan reports to…"
2053
2071
  },
2054
- "core/lib/bf-cache-strings.js | webRTC": {
2055
- "message": "Pages with WebRTC cannot enter back-forward cache."
2072
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
2073
+ "message": "Obtain a Lighthouse performance score."
2056
2074
  },
2057
- "core/lib/bf-cache-strings.js | webShare": {
2058
- "message": "Pages that use WebShare are not currently eligible for back-forward cache."
2075
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
2076
+ "message": "Measure page load performance metrics, such as largest contentful paint and speed index."
2059
2077
  },
2060
- "core/lib/bf-cache-strings.js | webSocket": {
2061
- "message": "Pages with WebSocket cannot enter back-forward cache."
2078
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
2079
+ "message": "Assess progressive web app capabilities."
2062
2080
  },
2063
- "core/lib/bf-cache-strings.js | webTransport": {
2064
- "message": "Pages with WebTransport cannot enter back-forward cache."
2081
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
2082
+ "message": "Find accessibility issues in single-page applications or complex forms."
2065
2083
  },
2066
- "core/lib/bf-cache-strings.js | webXR": {
2067
- "message": "Pages that use WebXR are not currently eligible for back-forward cache."
2084
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
2085
+ "message": "Evaluate best practices of menus and UI elements hidden behind interaction."
2068
2086
  },
2069
- "core/lib/csp-evaluator.js | allowlistFallback": {
2070
- "message": "Consider adding https: and http: URL schemes (ignored by browsers supporting `'strict-dynamic'`) to be backward compatible with older browsers."
2087
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
2088
+ "message": "Measure layout shifts and JavaScript execution time on a series of interactions."
2071
2089
  },
2072
- "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
2073
- "message": "`disown-opener` is deprecated since CSP3. Please use the Cross-Origin-Opener-Policy header instead."
2090
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
2091
+ "message": "Discover performance opportunities to improve the experience for long-lived pages and single-page applications."
2074
2092
  },
2075
- "core/lib/csp-evaluator.js | deprecatedReferrer": {
2076
- "message": "`referrer` is deprecated since CSP2. Please use the Referrer-Policy header instead."
2093
+ "flow-report/src/i18n/ui-strings.js | highestImpact": {
2094
+ "message": "Highest impact"
2077
2095
  },
2078
- "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
2079
- "message": "`reflected-xss` is deprecated since CSP2. Please, use the X-XSS-Protection header instead."
2096
+ "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
2097
+ "message": "{numInformative,plural, =1{{numInformative} informative audit}other{{numInformative} informative audits}}"
2080
2098
  },
2081
- "core/lib/csp-evaluator.js | missingBaseUri": {
2082
- "message": "Missing `base-uri` allows injected `<base>` tags to set the base URL for all relative URLs (e.g. scripts) to an attacker controlled domain. Consider setting `base-uri` to `'none'` or `'self'`."
2099
+ "flow-report/src/i18n/ui-strings.js | mobile": {
2100
+ "message": "Mobile"
2083
2101
  },
2084
- "core/lib/csp-evaluator.js | missingObjectSrc": {
2085
- "message": "Missing `object-src` allows the injection of plugins that execute unsafe scripts. Consider setting `object-src` to `'none'` if you can."
2102
+ "flow-report/src/i18n/ui-strings.js | navigationDescription": {
2103
+ "message": "Page load"
2086
2104
  },
2087
- "core/lib/csp-evaluator.js | missingScriptSrc": {
2088
- "message": "`script-src` directive is missing. This can allow the execution of unsafe scripts."
2105
+ "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
2106
+ "message": "Navigation reports analyse a single page load, exactly like the original Lighthouse reports."
2089
2107
  },
2090
- "core/lib/csp-evaluator.js | missingSemicolon": {
2091
- "message": "Did you forget the semicolon? {keyword} seems to be a directive, not a keyword."
2108
+ "flow-report/src/i18n/ui-strings.js | navigationReport": {
2109
+ "message": "Navigation report"
2092
2110
  },
2093
- "core/lib/csp-evaluator.js | nonceCharset": {
2094
- "message": "Nonces should use the base64 charset."
2111
+ "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
2112
+ "message": "{numNavigation,plural, =1{{numNavigation} navigation report}other{{numNavigation} navigation reports}}"
2095
2113
  },
2096
- "core/lib/csp-evaluator.js | nonceLength": {
2097
- "message": "Nonces should be at least eight characters long."
2114
+ "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
2115
+ "message": "{numPassableAudits,plural, =1{{numPassableAudits} passable audit}other{{numPassableAudits} passable audits}}"
2098
2116
  },
2099
- "core/lib/csp-evaluator.js | plainUrlScheme": {
2100
- "message": "Avoid using plain URL schemes ({keyword}) in this directive. Plain URL schemes allow scripts to be sourced from an unsafe domain."
2117
+ "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
2118
+ "message": "{numPassed,plural, =1{{numPassed} audit passed}other{{numPassed} audits passed}}"
2101
2119
  },
2102
- "core/lib/csp-evaluator.js | plainWildcards": {
2103
- "message": "Avoid using plain wildcards ({keyword}) in this directive. Plain wildcards allow scripts to be sourced from an unsafe domain."
2120
+ "flow-report/src/i18n/ui-strings.js | ratingAverage": {
2121
+ "message": "Average"
2104
2122
  },
2105
- "core/lib/csp-evaluator.js | reportToOnly": {
2106
- "message": "The reporting destination is only configured via the report-to directive. This directive is only supported in Chromium-based browsers so it is recommended to also use a `report-uri` directive."
2123
+ "flow-report/src/i18n/ui-strings.js | ratingError": {
2124
+ "message": "Error"
2107
2125
  },
2108
- "core/lib/csp-evaluator.js | reportingDestinationMissing": {
2109
- "message": "No CSP configures a reporting destination. This makes it difficult to maintain the CSP over time and monitor for any breakages."
2126
+ "flow-report/src/i18n/ui-strings.js | ratingFail": {
2127
+ "message": "Poor"
2110
2128
  },
2111
- "core/lib/csp-evaluator.js | strictDynamic": {
2112
- "message": "Host allowlists can frequently be bypassed. Consider using CSP nonces or hashes instead, along with `'strict-dynamic'` if necessary."
2129
+ "flow-report/src/i18n/ui-strings.js | ratingPass": {
2130
+ "message": "Good"
2113
2131
  },
2114
- "core/lib/csp-evaluator.js | unknownDirective": {
2115
- "message": "Unknown CSP directive."
2132
+ "flow-report/src/i18n/ui-strings.js | save": {
2133
+ "message": "Save"
2116
2134
  },
2117
- "core/lib/csp-evaluator.js | unknownKeyword": {
2118
- "message": "{keyword} seems to be an invalid keyword."
2135
+ "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
2136
+ "message": "Captured state of page"
2119
2137
  },
2120
- "core/lib/csp-evaluator.js | unsafeInline": {
2121
- "message": "`'unsafe-inline'` allows the execution of unsafe in-page scripts and event handlers. Consider using CSP nonces or hashes to allow scripts individually."
2138
+ "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
2139
+ "message": "Snapshot reports analyse the page in a particular state, typically after user interactions."
2122
2140
  },
2123
- "core/lib/csp-evaluator.js | unsafeInlineFallback": {
2124
- "message": "Consider adding `'unsafe-inline'` (ignored by browsers supporting nonces/hashes) to be backward compatible with older browsers."
2141
+ "flow-report/src/i18n/ui-strings.js | snapshotReport": {
2142
+ "message": "Snapshot report"
2125
2143
  },
2126
- "core/lib/deprecation-description.js | feature": {
2127
- "message": "Check the feature status page for more details."
2144
+ "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
2145
+ "message": "{numSnapshot,plural, =1{{numSnapshot} snapshot report}other{{numSnapshot} snapshot reports}}"
2128
2146
  },
2129
- "core/lib/deprecation-description.js | milestone": {
2130
- "message": "This change will go into effect with milestone {milestone}."
2147
+ "flow-report/src/i18n/ui-strings.js | summary": {
2148
+ "message": "Summary"
2131
2149
  },
2132
- "core/lib/deprecation-description.js | title": {
2133
- "message": "Deprecated feature used"
2150
+ "flow-report/src/i18n/ui-strings.js | timespanDescription": {
2151
+ "message": "User interactions"
2134
2152
  },
2135
- "core/lib/deprecations-strings.js | AuthorizationCoveredByWildcard": {
2136
- "message": "Authorisation will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling."
2153
+ "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
2154
+ "message": "Timespan reports analyse an arbitrary period of time, typically containing user interactions."
2137
2155
  },
2138
- "core/lib/deprecations-strings.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2139
- "message": "The `disableRemotePlayback` attribute should be used in order to disable the default cast integration instead of using `-internal-media-controls-overlay-cast-button` selector."
2156
+ "flow-report/src/i18n/ui-strings.js | timespanReport": {
2157
+ "message": "Timespan report"
2140
2158
  },
2141
- "core/lib/deprecations-strings.js | CanRequestURLHTTPContainingNewline": {
2142
- "message": "Resource requests whose URLs contained both removed whitespace `(n|r|t)` characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources."
2159
+ "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
2160
+ "message": "{numTimespan,plural, =1{{numTimespan} timespan report}other{{numTimespan} timespan reports}}"
2143
2161
  },
2144
- "core/lib/deprecations-strings.js | ChromeLoadTimesConnectionInfo": {
2145
- "message": "`chrome.loadTimes()` is deprecated. Instead, use standardised API: Navigation Timing 2."
2162
+ "flow-report/src/i18n/ui-strings.js | title": {
2163
+ "message": "Lighthouse user flow report"
2164
+ },
2165
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | AuthorizationCoveredByWildcard": {
2166
+ "message": "Authorisation will not be covered by the wildcard symbol (*) in CORS Access-Control-Allow-Headers handling."
2167
+ },
2168
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2169
+ "message": "The disableRemotePlayback attribute should be used in order to disable the default Cast integration instead of using -internal-media-controls-overlay-cast-button selector."
2170
+ },
2171
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSValueAppearanceSliderVertical": {
2172
+ "message": "CSS appearance value slider-vertical is not standardised and will be removed."
2146
2173
  },
2147
- "core/lib/deprecations-strings.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
2148
- "message": "`chrome.loadTimes()` is deprecated. Instead, use standardised API: Paint Timing."
2174
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CanRequestURLHTTPContainingNewline": {
2175
+ "message": "Resource requests whose URLs contained both removed whitespace \\(n|r|t) characters and less-than characters (<) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources."
2149
2176
  },
2150
- "core/lib/deprecations-strings.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
2151
- "message": "`chrome.loadTimes()` is deprecated. Instead, use standardised API: `nextHopProtocol` in Navigation Timing 2."
2177
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesConnectionInfo": {
2178
+ "message": "chrome.loadTimes() is deprecated. Instead, use standardised API: Navigation Timing 2."
2152
2179
  },
2153
- "core/lib/deprecations-strings.js | CookieWithTruncatingChar": {
2154
- "message": "Cookies containing a `(0|r|n)` character will be rejected instead of truncated."
2180
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
2181
+ "message": "chrome.loadTimes() is deprecated. Instead, use standardised API: Paint Timing."
2155
2182
  },
2156
- "core/lib/deprecations-strings.js | CrossOriginAccessBasedOnDocumentDomain": {
2157
- "message": "Relaxing the same-origin policy by setting `document.domain` is deprecated and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting `document.domain`."
2183
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
2184
+ "message": "chrome.loadTimes() is deprecated. Instead, use standardised API: nextHopProtocol in Navigation Timing 2."
2158
2185
  },
2159
- "core/lib/deprecations-strings.js | CrossOriginWindowAlert": {
2186
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CookieWithTruncatingChar": {
2187
+ "message": "Cookies containing a \\(0|r|n) character will be rejected instead of truncated."
2188
+ },
2189
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginAccessBasedOnDocumentDomain": {
2190
+ "message": "Relaxing the same-origin policy by setting document.domain is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting document.domain."
2191
+ },
2192
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowAlert": {
2160
2193
  "message": "Triggering window.alert from cross-origin iframes has been deprecated and will be removed in the future."
2161
2194
  },
2162
- "core/lib/deprecations-strings.js | CrossOriginWindowConfirm": {
2195
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowConfirm": {
2163
2196
  "message": "Triggering window.confirm from cross-origin iframes has been deprecated and will be removed in the future."
2164
2197
  },
2165
- "core/lib/deprecations-strings.js | DOMMutationEvents": {
2166
- "message": "DOM mutation events, including `DOMSubtreeModified`, `DOMNodeInserted`, `DOMNodeRemoved`, `DOMNodeRemovedFromDocument`, `DOMNodeInsertedIntoDocument` and `DOMCharacterDataModified` are deprecated (https://w3c.github.io/uievents/#legacy-event-types) and will be removed. Please use `MutationObserver` instead."
2198
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DOMMutationEvents": {
2199
+ "message": "DOM mutation events, including DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument and DOMCharacterDataModified are deprecated (https://w3c.github.io/uievents/#legacy-event-types) and will be removed. Please use MutationObserver instead."
2200
+ },
2201
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
2202
+ "message": "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future."
2167
2203
  },
2168
- "core/lib/deprecations-strings.js | DataUrlInSvgUse": {
2169
- "message": "Support for data: URLs in SVG <use> element is deprecated and it will be removed in the future."
2204
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOrigin": {
2205
+ "message": "getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2170
2206
  },
2171
- "core/lib/deprecations-strings.js | GeolocationInsecureOrigin": {
2172
- "message": "`getCurrentPosition()` and `watchPosition()` no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2207
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
2208
+ "message": "getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2173
2209
  },
2174
- "core/lib/deprecations-strings.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
2175
- "message": "`getCurrentPosition()` and `watchPosition()` are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2210
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GetUserMediaInsecureOrigin": {
2211
+ "message": "getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2176
2212
  },
2177
- "core/lib/deprecations-strings.js | GetUserMediaInsecureOrigin": {
2178
- "message": "`getUserMedia()` no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2213
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | HostCandidateAttributeGetter": {
2214
+ "message": "RTCPeerConnectionIceErrorEvent.hostCandidate is deprecated. Please use RTCPeerConnectionIceErrorEvent.address or RTCPeerConnectionIceErrorEvent.port instead."
2179
2215
  },
2180
- "core/lib/deprecations-strings.js | HostCandidateAttributeGetter": {
2181
- "message": "`RTCPeerConnectionIceErrorEvent.hostCandidate` is deprecated. Please use `RTCPeerConnectionIceErrorEvent.address` or `RTCPeerConnectionIceErrorEvent.port` instead."
2216
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IdentityInCanMakePaymentEvent": {
2217
+ "message": "The merchant origin and arbitrary data from the canmakepayment service worker event are deprecated and will be removed: topOrigin, paymentRequestOrigin, methodData, modifiers."
2182
2218
  },
2183
- "core/lib/deprecations-strings.js | IdentityInCanMakePaymentEvent": {
2184
- "message": "The merchant origin and arbitrary data from the `canmakepayment` service worker event are deprecated and will be removed: `topOrigin`, `paymentRequestOrigin`, `methodData`, `modifiers`."
2219
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InsecurePrivateNetworkSubresourceRequest": {
2220
+ "message": "The website requested a subresource from a network that it could only access because of its users' privileged network position. These requests expose non-public devices and servers to the Internet, increasing the risk of a cross-site request forgery (CSRF) attack and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them."
2185
2221
  },
2186
- "core/lib/deprecations-strings.js | InsecurePrivateNetworkSubresourceRequest": {
2187
- "message": "The website requested a subresource from a network that it could only access because of its users' privileged network position. These requests expose non-public devices and servers to the Internet, increasing the risk of a cross-site request forgery (CSRF) attack and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts and will start blocking them."
2222
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InterestGroupDailyUpdateUrl": {
2223
+ "message": "The dailyUpdateUrl field of InterestGroups passed to joinAdInterestGroup() has been renamed to updateUrl, to more accurately reflect its behaviour."
2188
2224
  },
2189
- "core/lib/deprecations-strings.js | InterestGroupDailyUpdateUrl": {
2190
- "message": "The `dailyUpdateUrl` field of `InterestGroups` passed to `joinAdInterestGroup()` has been renamed to `updateUrl`, to more accurately reflect its behaviour."
2225
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IntlV8BreakIterator": {
2226
+ "message": "Intl.v8BreakIterator is deprecated. Please use Intl.Segmenter instead."
2191
2227
  },
2192
- "core/lib/deprecations-strings.js | LocalCSSFileExtensionRejected": {
2193
- "message": "CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension."
2228
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LocalCSSFileExtensionRejected": {
2229
+ "message": "CSS cannot be loaded from file: URLs unless they end in a .css file extension."
2194
2230
  },
2195
- "core/lib/deprecations-strings.js | MediaSourceAbortRemove": {
2196
- "message": "Using `SourceBuffer.abort()` to abort `remove()`'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should listen to the `updateend` event instead. `abort()` is intended to only abort an asynchronous media append or reset parser state."
2231
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceAbortRemove": {
2232
+ "message": "Using SourceBuffer.abort() to abort remove()'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should listen to the updateend event instead. abort() is intended to only abort an asynchronous media append or reset parser state."
2197
2233
  },
2198
- "core/lib/deprecations-strings.js | MediaSourceDurationTruncatingBuffered": {
2199
- "message": "Setting `MediaSource.duration` below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit `remove(newDuration, oldDuration)` on all `sourceBuffers`, where `newDuration < oldDuration`."
2234
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceDurationTruncatingBuffered": {
2235
+ "message": "Setting MediaSource.duration below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit remove(newDuration, oldDuration) on all sourceBuffers, where newDuration < oldDuration."
2200
2236
  },
2201
- "core/lib/deprecations-strings.js | NoSysexWebMIDIWithoutPermission": {
2202
- "message": "Web MIDI will ask permission to use even if the sysex is not specified in the `MIDIOptions`."
2237
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NoSysexWebMIDIWithoutPermission": {
2238
+ "message": "Web MIDI will ask permission to use even if the sysex is not specified in the MIDIOptions."
2203
2239
  },
2204
- "core/lib/deprecations-strings.js | NotificationInsecureOrigin": {
2205
- "message": "The notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2240
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationInsecureOrigin": {
2241
+ "message": "The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2206
2242
  },
2207
- "core/lib/deprecations-strings.js | NotificationPermissionRequestedIframe": {
2208
- "message": "Permission for the notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead."
2243
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationPermissionRequestedIframe": {
2244
+ "message": "Permission for the Notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead."
2209
2245
  },
2210
- "core/lib/deprecations-strings.js | ObsoleteCreateImageBitmapImageOrientationNone": {
2211
- "message": "Option `imageOrientation: 'none'` in createImageBitmap is deprecated. Please use createImageBitmap with option \\{imageOrientation: 'from-image'\\} instead."
2246
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteCreateImageBitmapImageOrientationNone": {
2247
+ "message": "Option imageOrientation: 'none' in createImageBitmap is deprecated. Please use createImageBitmap with option '\\\\{imageOrientation: 'from-image'\\\\}' instead."
2212
2248
  },
2213
- "core/lib/deprecations-strings.js | ObsoleteWebRtcCipherSuite": {
2249
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteWebRtcCipherSuite": {
2214
2250
  "message": "Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed."
2215
2251
  },
2216
- "core/lib/deprecations-strings.js | OverflowVisibleOnReplacedElement": {
2217
- "message": "Specifying `overflow: visible` on img, video and canvas tags may cause them to produce visual content outside of the element bounds. See https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
2252
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverflowVisibleOnReplacedElement": {
2253
+ "message": "Specifying overflow: visible on img, video and canvas tags may cause them to produce visual content outside of the element bounds. See https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
2218
2254
  },
2219
- "core/lib/deprecations-strings.js | PaymentInstruments": {
2220
- "message": "`paymentManager.instruments` is deprecated. Please use just-in-time install for payment handlers instead."
2255
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentInstruments": {
2256
+ "message": "paymentManager.instruments is deprecated. Please use just-in-time install for payment handlers instead."
2221
2257
  },
2222
- "core/lib/deprecations-strings.js | PaymentRequestCSPViolation": {
2223
- "message": "Your `PaymentRequest` call bypassed Content-Security-Policy (CSP) `connect-src` directive. This bypass is deprecated. Please add the payment method identifier from the `PaymentRequest` API (in `supportedMethods` field) to your CSP `connect-src` directive."
2258
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentRequestCSPViolation": {
2259
+ "message": "Your PaymentRequest call bypassed Content-Security-Policy (CSP) connect-src directive. This bypass is deprecated. Please add the payment method identifier from the PaymentRequest API (in supportedMethods field) to your CSP connect-src directive."
2224
2260
  },
2225
- "core/lib/deprecations-strings.js | PersistentQuotaType": {
2226
- "message": "`StorageType.persistent` is deprecated. Please use standardised `navigator.storage` instead."
2261
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PersistentQuotaType": {
2262
+ "message": "StorageType.persistent is deprecated. Please use standardised navigator.storage instead."
2227
2263
  },
2228
- "core/lib/deprecations-strings.js | PictureSourceSrc": {
2229
- "message": "`<source src>` with a `<picture>` parent is invalid and, therefore, ignored. Please use `<source srcset>` instead."
2264
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PictureSourceSrc": {
2265
+ "message": "<source src> with a <picture> parent is invalid and therefore ignored. Please use <source srcset> instead."
2230
2266
  },
2231
- "core/lib/deprecations-strings.js | PrefixedCancelAnimationFrame": {
2267
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedCancelAnimationFrame": {
2232
2268
  "message": "webkitCancelAnimationFrame is vendor-specific. Please use the standard cancelAnimationFrame instead."
2233
2269
  },
2234
- "core/lib/deprecations-strings.js | PrefixedRequestAnimationFrame": {
2270
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedRequestAnimationFrame": {
2235
2271
  "message": "webkitRequestAnimationFrame is vendor-specific. Please use the standard requestAnimationFrame instead."
2236
2272
  },
2237
- "core/lib/deprecations-strings.js | PrefixedVideoDisplayingFullscreen": {
2273
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoDisplayingFullscreen": {
2238
2274
  "message": "HTMLVideoElement.webkitDisplayingFullscreen is deprecated. Please use Document.fullscreenElement instead."
2239
2275
  },
2240
- "core/lib/deprecations-strings.js | PrefixedVideoEnterFullScreen": {
2276
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullScreen": {
2241
2277
  "message": "HTMLVideoElement.webkitEnterFullScreen() is deprecated. Please use Element.requestFullscreen() instead."
2242
2278
  },
2243
- "core/lib/deprecations-strings.js | PrefixedVideoEnterFullscreen": {
2279
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullscreen": {
2244
2280
  "message": "HTMLVideoElement.webkitEnterFullscreen() is deprecated. Please use Element.requestFullscreen() instead."
2245
2281
  },
2246
- "core/lib/deprecations-strings.js | PrefixedVideoExitFullScreen": {
2282
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullScreen": {
2247
2283
  "message": "HTMLVideoElement.webkitExitFullScreen() is deprecated. Please use Document.exitFullscreen() instead."
2248
2284
  },
2249
- "core/lib/deprecations-strings.js | PrefixedVideoExitFullscreen": {
2285
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullscreen": {
2250
2286
  "message": "HTMLVideoElement.webkitExitFullscreen() is deprecated. Please use Document.exitFullscreen() instead."
2251
2287
  },
2252
- "core/lib/deprecations-strings.js | PrefixedVideoSupportsFullscreen": {
2288
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
2253
2289
  "message": "HTMLVideoElement.webkitSupportsFullscreen is deprecated. Please use Document.fullscreenEnabled instead."
2254
2290
  },
2255
- "core/lib/deprecations-strings.js | PrivacySandboxExtensionsAPI": {
2256
- "message": "We're deprecating the API `chrome.privacy.websites.privacySandboxEnabled`, though it will remain active for backward compatibility until release M113. Instead, please use `chrome.privacy.websites.topicsEnabled`, `chrome.privacy.websites.fledgeEnabled` and `chrome.privacy.websites.adMeasurementEnabled`. See https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
2291
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrivacySandboxExtensionsAPI": {
2292
+ "message": "We're deprecating the API chrome.privacy.websites.privacySandboxEnabled, though it will remain active for backward compatibility until release M113. Instead, please use chrome.privacy.websites.topicsEnabled, chrome.privacy.websites.fledgeEnabled and chrome.privacy.websites.adMeasurementEnabled. See https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
2257
2293
  },
2258
- "core/lib/deprecations-strings.js | RTCConstraintEnableDtlsSrtpFalse": {
2259
- "message": "The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES key negotiation` method. This functionality is removed; use a service that supports `DTLS key negotiation` instead."
2294
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
2295
+ "message": "The constraint DtlsSrtpKeyAgreement is removed. You have specified a false value for this constraint, which is interpreted as an attempt to use the removed SDES key negotiation method. This functionality is removed; use a service that supports DTLS key negotiation instead."
2260
2296
  },
2261
- "core/lib/deprecations-strings.js | RTCConstraintEnableDtlsSrtpTrue": {
2262
- "message": "The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness."
2297
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpTrue": {
2298
+ "message": "The constraint DtlsSrtpKeyAgreement is removed. You have specified a true value for this constraint, which had no effect, but you can remove this constraint for tidiness."
2263
2299
  },
2264
- "core/lib/deprecations-strings.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
2300
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
2265
2301
  "message": "The callback-based getStats() is deprecated and will be removed. Use the spec-compliant getStats() instead."
2266
2302
  },
2267
- "core/lib/deprecations-strings.js | RangeExpand": {
2303
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RangeExpand": {
2268
2304
  "message": "Range.expand() is deprecated. Please use Selection.modify() instead."
2269
2305
  },
2270
- "core/lib/deprecations-strings.js | RequestedSubresourceWithEmbeddedCredentials": {
2271
- "message": "Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked."
2306
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RequestedSubresourceWithEmbeddedCredentials": {
2307
+ "message": "Subresource requests whose URLs contain embedded credentials (e.g. https://user:pass@host/) are blocked."
2272
2308
  },
2273
- "core/lib/deprecations-strings.js | RtcpMuxPolicyNegotiate": {
2274
- "message": "The `rtcpMuxPolicy` option is deprecated and will be removed."
2309
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RtcpMuxPolicyNegotiate": {
2310
+ "message": "The rtcpMuxPolicy option is deprecated and will be removed."
2275
2311
  },
2276
- "core/lib/deprecations-strings.js | SharedArrayBufferConstructedWithoutIsolation": {
2277
- "message": "`SharedArrayBuffer` will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details."
2312
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | SharedArrayBufferConstructedWithoutIsolation": {
2313
+ "message": "SharedArrayBuffer will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details."
2278
2314
  },
2279
- "core/lib/deprecations-strings.js | TextToSpeech_DisallowedByAutoplay": {
2280
- "message": "`speechSynthesis.speak()` without user activation is deprecated and will be removed."
2315
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | TextToSpeech_DisallowedByAutoplay": {
2316
+ "message": "speechSynthesis.speak() without user activation is deprecated and will be removed."
2281
2317
  },
2282
- "core/lib/deprecations-strings.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2283
- "message": "Extensions should opt in to cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
2318
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | UnloadHandler": {
2319
+ "message": "Unload event listeners are deprecated and will be removed."
2284
2320
  },
2285
- "core/lib/deprecations-strings.js | WebSQL": {
2286
- "message": "Web SQL is deprecated. Please use SQLite WebAssembly or Indexed Database"
2321
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2322
+ "message": "Extensions should opt in to cross-origin isolation to continue using SharedArrayBuffer. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
2287
2323
  },
2288
- "core/lib/deprecations-strings.js | XHRJSONEncodingDetection": {
2289
- "message": "UTF-16 is not supported by response JSON in `XMLHttpRequest`"
2324
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XHRJSONEncodingDetection": {
2325
+ "message": "UTF-16 is not supported by response JSON in XMLHttpRequest"
2290
2326
  },
2291
- "core/lib/deprecations-strings.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2292
- "message": "Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects on the end user's experience. For more help, check https://xhr.spec.whatwg.org/."
2327
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2328
+ "message": "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects on the end user's experience. For more help, check https://xhr.spec.whatwg.org/."
2293
2329
  },
2294
- "core/lib/deprecations-strings.js | XRSupportsSession": {
2295
- "message": "`supportsSession()` is deprecated. Please use `isSessionSupported()` and check the resolved Boolean value instead."
2330
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | animation": {
2331
+ "message": "Animation"
2296
2332
  },
2297
- "core/lib/i18n/i18n.js | columnBlockingTime": {
2298
- "message": "Main-thread blocking time"
2333
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2334
+ "message": "Layout shifts occur when elements move absent any user interaction. [Investigate the causes of layout shifts](https://web.dev/articles/optimize-cls), such as elements being added, removed or their fonts changing as the page loads."
2299
2335
  },
2300
- "core/lib/i18n/i18n.js | columnCacheTTL": {
2301
- "message": "Cache TTL"
2336
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | fontRequest": {
2337
+ "message": "Font request"
2302
2338
  },
2303
- "core/lib/i18n/i18n.js | columnDescription": {
2304
- "message": "Description"
2339
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | injectedIframe": {
2340
+ "message": "Injected iframe"
2305
2341
  },
2306
- "core/lib/i18n/i18n.js | columnDuration": {
2307
- "message": "Duration"
2342
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | layoutShiftCluster": {
2343
+ "message": "Layout shift cluster @ {PH1}"
2308
2344
  },
2309
- "core/lib/i18n/i18n.js | columnElement": {
2310
- "message": "Element"
2345
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noCulprits": {
2346
+ "message": "Could not detect any layout shift culprits"
2311
2347
  },
2312
- "core/lib/i18n/i18n.js | columnFailingElem": {
2313
- "message": "Failing elements"
2348
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noLayoutShifts": {
2349
+ "message": "No layout shifts"
2314
2350
  },
2315
- "core/lib/i18n/i18n.js | columnLocation": {
2316
- "message": "Location"
2351
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
2352
+ "message": "Layout shift culprits"
2317
2353
  },
2318
- "core/lib/i18n/i18n.js | columnName": {
2319
- "message": "Name"
2354
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | topCulprits": {
2355
+ "message": "Top layout shift culprits"
2320
2356
  },
2321
- "core/lib/i18n/i18n.js | columnRequests": {
2322
- "message": "Requests"
2357
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | unsizedImages": {
2358
+ "message": "Unsized Images"
2323
2359
  },
2324
- "core/lib/i18n/i18n.js | columnResourceSize": {
2325
- "message": "Resource size"
2360
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstCluster": {
2361
+ "message": "Worst cluster"
2326
2362
  },
2327
- "core/lib/i18n/i18n.js | columnResourceType": {
2328
- "message": "Resource type"
2363
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstLayoutShiftCluster": {
2364
+ "message": "Worst layout shift cluster"
2329
2365
  },
2330
- "core/lib/i18n/i18n.js | columnSize": {
2331
- "message": "Size"
2366
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
2367
+ "message": "A large DOM can increase the duration of style calculations and layout reflows, impacting page responsiveness. A large DOM will also increase memory usage. [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
2332
2368
  },
2333
- "core/lib/i18n/i18n.js | columnSource": {
2334
- "message": "Source"
2369
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | element": {
2370
+ "message": "Element"
2335
2371
  },
2336
- "core/lib/i18n/i18n.js | columnStartTime": {
2337
- "message": "Start Time"
2372
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxChildren": {
2373
+ "message": "Most children"
2338
2374
  },
2339
- "core/lib/i18n/i18n.js | columnTimeSpent": {
2340
- "message": "Time Spent"
2375
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxDOMDepth": {
2376
+ "message": "DOM depth"
2341
2377
  },
2342
- "core/lib/i18n/i18n.js | columnTransferSize": {
2343
- "message": "Transfer size"
2378
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | statistic": {
2379
+ "message": "Statistic"
2344
2380
  },
2345
- "core/lib/i18n/i18n.js | columnURL": {
2346
- "message": "URL"
2381
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
2382
+ "message": "Optimise DOM size"
2347
2383
  },
2348
- "core/lib/i18n/i18n.js | columnWastedBytes": {
2349
- "message": "Potential savings"
2384
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | totalElements": {
2385
+ "message": "Total elements"
2350
2386
  },
2351
- "core/lib/i18n/i18n.js | columnWastedMs": {
2352
- "message": "Potential Savings"
2387
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | value": {
2388
+ "message": "Value"
2353
2389
  },
2354
- "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
2355
- "message": "Cumulative Layout Shift"
2390
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2391
+ "message": "Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response and enabling text compression."
2356
2392
  },
2357
- "core/lib/i18n/i18n.js | displayValueByteSavings": {
2358
- "message": "Potential savings of {wastedBytes, number, bytes} KiB"
2393
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedRedirects": {
2394
+ "message": "Had redirects"
2359
2395
  },
2360
- "core/lib/i18n/i18n.js | displayValueElementsFound": {
2361
- "message": "{nodeCount,plural, =1{1 element found}other{# elements found}}"
2396
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedServerResponseTime": {
2397
+ "message": "Server responded slowly"
2362
2398
  },
2363
- "core/lib/i18n/i18n.js | displayValueMsSavings": {
2364
- "message": "Potential savings of {wastedMs, number, milliseconds} ms"
2399
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedTextCompression": {
2400
+ "message": "No compression applied"
2365
2401
  },
2366
- "core/lib/i18n/i18n.js | documentResourceType": {
2367
- "message": "Document"
2402
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingRedirects": {
2403
+ "message": "Avoids redirects"
2368
2404
  },
2369
- "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
2370
- "message": "First Contentful Paint"
2405
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingServerResponseTime": {
2406
+ "message": "Server responds quickly"
2371
2407
  },
2372
- "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
2373
- "message": "First Meaningful Paint"
2408
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingTextCompression": {
2409
+ "message": "Applies text compression"
2374
2410
  },
2375
- "core/lib/i18n/i18n.js | fontResourceType": {
2411
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | redirectsLabel": {
2412
+ "message": "Redirects"
2413
+ },
2414
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | serverResponseTimeLabel": {
2415
+ "message": "Server response time"
2416
+ },
2417
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
2418
+ "message": "Document request latency"
2419
+ },
2420
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | uncompressedDownload": {
2421
+ "message": "Uncompressed download"
2422
+ },
2423
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
2424
+ "message": "Consider setting [font-display](https://developer.chrome.com/blog/font-display) to swap or optional to ensure that text is consistently visible. swap can be further optimised to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
2425
+ },
2426
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | fontColumn": {
2376
2427
  "message": "Font"
2377
2428
  },
2378
- "core/lib/i18n/i18n.js | imageResourceType": {
2379
- "message": "Image"
2429
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
2430
+ "message": "Font display"
2380
2431
  },
2381
- "core/lib/i18n/i18n.js | interactionToNextPaint": {
2382
- "message": "Interaction to Next Paint"
2432
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | wastedTimeColumn": {
2433
+ "message": "Wasted time"
2383
2434
  },
2384
- "core/lib/i18n/i18n.js | interactiveMetric": {
2385
- "message": "Time to Interactive"
2435
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | description": {
2436
+ "message": "Many APIs, typically reading layout geometry, force the rendering engine to pause script execution in order to calculate the style and layout. Learn more about [forced reflow](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) and its mitigations."
2386
2437
  },
2387
- "core/lib/i18n/i18n.js | itemSeverityHigh": {
2388
- "message": "High"
2438
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | relatedStackTrace": {
2439
+ "message": "Stack trace"
2389
2440
  },
2390
- "core/lib/i18n/i18n.js | itemSeverityLow": {
2391
- "message": "Low"
2441
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | title": {
2442
+ "message": "Forced reflow"
2392
2443
  },
2393
- "core/lib/i18n/i18n.js | itemSeverityMedium": {
2394
- "message": "Medium"
2444
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | topTimeConsumingFunctionCall": {
2445
+ "message": "Top function call"
2395
2446
  },
2396
- "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
2397
- "message": "Largest Contentful Paint"
2447
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | totalReflowTime": {
2448
+ "message": "Total reflow time"
2398
2449
  },
2399
- "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
2400
- "message": "Max potential first input delay"
2450
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
2451
+ "message": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimising image size](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
2401
2452
  },
2402
- "core/lib/i18n/i18n.js | mediaResourceType": {
2403
- "message": "Media"
2453
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | estimatedSavings": {
2454
+ "message": "{PH1} (est {PH2})"
2404
2455
  },
2405
- "core/lib/i18n/i18n.js | ms": {
2406
- "message": "{timeInMs, number, milliseconds} ms"
2456
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | noOptimizableImages": {
2457
+ "message": "No optimisable images"
2407
2458
  },
2408
- "core/lib/i18n/i18n.js | otherResourceType": {
2409
- "message": "Other"
2459
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | optimizeFile": {
2460
+ "message": "Optimise file size"
2410
2461
  },
2411
- "core/lib/i18n/i18n.js | otherResourcesLabel": {
2412
- "message": "Other resources"
2462
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | others": {
2463
+ "message": "{PH1} others"
2413
2464
  },
2414
- "core/lib/i18n/i18n.js | scriptResourceType": {
2415
- "message": "Script"
2465
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
2466
+ "message": "Improve image delivery"
2416
2467
  },
2417
- "core/lib/i18n/i18n.js | seconds": {
2418
- "message": "{timeInMs, number, seconds} s"
2468
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
2469
+ "message": "Increasing the image compression factor could improve this image's download size."
2419
2470
  },
2420
- "core/lib/i18n/i18n.js | speedIndexMetric": {
2421
- "message": "Speed Index"
2471
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
2472
+ "message": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size."
2422
2473
  },
2423
- "core/lib/i18n/i18n.js | stylesheetResourceType": {
2424
- "message": "Stylesheet"
2474
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
2475
+ "message": "This image file is larger than it needs to be ({PH1}) for its displayed dimensions ({PH2}). Use responsive images to reduce the image download size."
2425
2476
  },
2426
- "core/lib/i18n/i18n.js | thirdPartyResourceType": {
2427
- "message": "Third-party"
2477
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
2478
+ "message": "Using video formats instead of GIFs can improve the download size of animated content."
2428
2479
  },
2429
- "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
2430
- "message": "Total Blocking Time"
2480
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
2481
+ "message": "Start investigating with the longest phase. [Delays can be minimised](https://web.dev/articles/optimize-inp#optimize_interactions). To reduce processing duration, [optimise the main-thread costs](https://web.dev/articles/optimize-long-tasks), often JS."
2431
2482
  },
2432
- "core/lib/i18n/i18n.js | totalResourceType": {
2483
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | duration": {
2484
+ "message": "Duration"
2485
+ },
2486
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | inputDelay": {
2487
+ "message": "Input delay"
2488
+ },
2489
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | noInteractions": {
2490
+ "message": "No interactions detected"
2491
+ },
2492
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | phase": {
2493
+ "message": "Phase"
2494
+ },
2495
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | presentationDelay": {
2496
+ "message": "Presentation delay"
2497
+ },
2498
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | processingDuration": {
2499
+ "message": "Processing duration"
2500
+ },
2501
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | title": {
2502
+ "message": "INP by phase"
2503
+ },
2504
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2505
+ "message": "Optimise LCP by making the LCP image [discoverable](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) from the HTML immediately and [avoiding lazy loading](https://web.dev/articles/lcp-lazy-loading)"
2506
+ },
2507
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityApplied": {
2508
+ "message": "fetchpriority=high applied"
2509
+ },
2510
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
2511
+ "message": "fetchpriority=high should be applied"
2512
+ },
2513
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
2514
+ "message": "lazy load not applied"
2515
+ },
2516
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
2517
+ "message": "LCP image loaded {PH1} after earliest start point."
2518
+ },
2519
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcp": {
2520
+ "message": "No LCP detected"
2521
+ },
2522
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcpResource": {
2523
+ "message": "No LCP resource detected because the LCP is not an image"
2524
+ },
2525
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | requestDiscoverable": {
2526
+ "message": "Request is discoverable in initial document"
2527
+ },
2528
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2529
+ "message": "LCP request discovery"
2530
+ },
2531
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | description": {
2532
+ "message": "Each [phase has specific improvement strategies](https://web.dev/articles/optimize-lcp#lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays."
2533
+ },
2534
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | duration": {
2535
+ "message": "Duration"
2536
+ },
2537
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | elementRenderDelay": {
2538
+ "message": "Element render delay"
2539
+ },
2540
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | fieldDuration": {
2541
+ "message": "Field 75th percentile"
2542
+ },
2543
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | noLcp": {
2544
+ "message": "No LCP detected"
2545
+ },
2546
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | phase": {
2547
+ "message": "Phase"
2548
+ },
2549
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | resourceLoadDelay": {
2550
+ "message": "Resource load delay"
2551
+ },
2552
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | resourceLoadDuration": {
2553
+ "message": "Resource load duration"
2554
+ },
2555
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | timeToFirstByte": {
2556
+ "message": "Time to First Byte"
2557
+ },
2558
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | title": {
2559
+ "message": "LCP by phase"
2560
+ },
2561
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | description": {
2562
+ "message": "[Avoid chaining critical requests](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) by reducing the length of chains, reducing the download size of resources or deferring the download of unnecessary resources to improve page load."
2563
+ },
2564
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | maxCriticalPathLatency": {
2565
+ "message": "Max critical path latency:"
2566
+ },
2567
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noNetworkDependencyTree": {
2568
+ "message": "No rendering tasks impacted by network dependencies"
2569
+ },
2570
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | title": {
2571
+ "message": "Network dependency tree"
2572
+ },
2573
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | warningDescription": {
2574
+ "message": "Avoid chaining critical requests by reducing the length of chains, reducing the download size of resources or deferring the download of unnecessary resources to improve page load."
2575
+ },
2576
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2577
+ "message": "Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) can move these network requests out of the critical path."
2578
+ },
2579
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | duration": {
2580
+ "message": "Duration"
2581
+ },
2582
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | noRenderBlocking": {
2583
+ "message": "No render blocking requests for this navigation"
2584
+ },
2585
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | renderBlockingRequest": {
2586
+ "message": "Request"
2587
+ },
2588
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
2589
+ "message": "Render blocking requests"
2590
+ },
2591
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
2592
+ "message": "If Recalculate Style costs remain high, selector optimisation can reduce them. [Optimise the selectors](https://developer.chrome.com/docs/devtools/performance/selector-stats) with both a high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM and a shallower DOM will all reduce matching costs."
2593
+ },
2594
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | elapsed": {
2595
+ "message": "Elapsed time"
2596
+ },
2597
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | enableSelectorData": {
2598
+ "message": "No CSS selector data was found. CSS selector stats need to be enabled in the performance panel settings."
2599
+ },
2600
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchAttempts": {
2601
+ "message": "Match attempts"
2602
+ },
2603
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchCount": {
2604
+ "message": "Match count"
2605
+ },
2606
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
2607
+ "message": "CSS selector costs"
2608
+ },
2609
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectors": {
2610
+ "message": "Top selectors"
2611
+ },
2612
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | total": {
2433
2613
  "message": "Total"
2434
2614
  },
2435
- "core/lib/lh-error.js | badTraceRecording": {
2436
- "message": "Something went wrong with recording the trace over your page load. Please run Lighthouse again. ({errorCode})"
2615
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnMainThreadTime": {
2616
+ "message": "Main thread time"
2437
2617
  },
2438
- "core/lib/lh-error.js | criTimeout": {
2439
- "message": "Timeout waiting for initial Debugger Protocol connection."
2618
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnThirdParty": {
2619
+ "message": "Third party"
2440
2620
  },
2441
- "core/lib/lh-error.js | didntCollectScreenshots": {
2442
- "message": "Chrome didn't collect any screenshots during the page load. Please make sure that there is content visible on the page, and then try re-running Lighthouse. ({errorCode})"
2621
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnTransferSize": {
2622
+ "message": "Transfer size"
2443
2623
  },
2444
- "core/lib/lh-error.js | dnsFailure": {
2445
- "message": "DNS servers could not resolve the provided domain."
2624
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2625
+ "message": "Third-party code can significantly impact load performance. [Reduce and defer loading of third-party code](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) to prioritise your page's content."
2446
2626
  },
2447
- "core/lib/lh-error.js | erroredRequiredArtifact": {
2448
- "message": "Required {artifactName} gatherer encountered an error: {errorMessage}"
2627
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | noThirdParties": {
2628
+ "message": "No third parties found"
2449
2629
  },
2450
- "core/lib/lh-error.js | internalChromeError": {
2451
- "message": "An internal Chrome error occurred. Please restart Chrome and try re-running Lighthouse."
2630
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
2631
+ "message": "Third parties"
2452
2632
  },
2453
- "core/lib/lh-error.js | missingRequiredArtifact": {
2454
- "message": "Required {artifactName} gatherer did not run."
2633
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
2634
+ "message": "Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) if the viewport is not optimised for mobile."
2455
2635
  },
2456
- "core/lib/lh-error.js | noFcp": {
2457
- "message": "The page did not paint any content. Please ensure that you keep the browser window in the foreground during the load and try again. ({errorCode})"
2636
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
2637
+ "message": "Optimise viewport for mobile"
2458
2638
  },
2459
- "core/lib/lh-error.js | noLcp": {
2460
- "message": "The page did not display content that qualifies as a largest contentful paint (LCP). Ensure that the page has a valid LCP element and then try again. ({errorCode})"
2639
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPMethodNotGET": {
2640
+ "message": "Only pages loaded via a GET request are eligible for back-forward cache."
2641
+ },
2642
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPStatusNotOK": {
2643
+ "message": "Only pages with a status code of 2XX can be cached."
2644
+ },
2645
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | JavaScriptExecution": {
2646
+ "message": "Chrome detected an attempt to execute JavaScript while in the cache."
2647
+ },
2648
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | appBanner": {
2649
+ "message": "Pages that requested an AppBanner are not currently eligible for back-forward cache."
2650
+ },
2651
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabled": {
2652
+ "message": "Back-forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device."
2653
+ },
2654
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByCommandLine": {
2655
+ "message": "Back-forward cache is disabled by the command line."
2656
+ },
2657
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByLowMemory": {
2658
+ "message": "Back-forward cache is disabled due to insufficient memory."
2659
+ },
2660
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForDelegate": {
2661
+ "message": "Back-forward cache is not supported by delegate."
2662
+ },
2663
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForPrerender": {
2664
+ "message": "Back-forward cache is disabled for pre-renderer."
2665
+ },
2666
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | broadcastChannel": {
2667
+ "message": "The page cannot be cached because it has a BroadcastChannel instance with registered listeners."
2668
+ },
2669
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheControlNoStore": {
2670
+ "message": "Pages with cache-control:no-store header cannot enter back-forward cache."
2671
+ },
2672
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheFlushed": {
2673
+ "message": "The cache was intentionally cleared."
2674
+ },
2675
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheLimit": {
2676
+ "message": "The page was evicted from the cache to allow another page to be cached."
2677
+ },
2678
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | containsPlugins": {
2679
+ "message": "Pages containing plug-ins are not currently eligible for back-forward cache."
2680
+ },
2681
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentDiscarded": {
2682
+ "message": "Undefined"
2683
+ },
2684
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileChooser": {
2685
+ "message": "Pages that use FileChooser API are not eligible for back-forward cache."
2686
+ },
2687
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileSystemAccess": {
2688
+ "message": "Pages that use file system access API are not eligible for back-forward cache."
2689
+ },
2690
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaDevicesDispatcherHost": {
2691
+ "message": "Pages that use media device dispatcher are not eligible for back-forward cache."
2692
+ },
2693
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaPlay": {
2694
+ "message": "A media player was playing upon navigating away."
2695
+ },
2696
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSession": {
2697
+ "message": "Pages that use MediaSession API and set a playback state are not eligible for back-forward cache."
2698
+ },
2699
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSessionService": {
2700
+ "message": "Pages that use MediaSession API and set action handlers are not eligible for back-forward cache."
2701
+ },
2702
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentScreenReader": {
2703
+ "message": "Back-forward cache is disabled due to screen reader."
2704
+ },
2705
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSecurityHandler": {
2706
+ "message": "Pages that use SecurityHandler are not eligible for back-forward cache."
2707
+ },
2708
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSerial": {
2709
+ "message": "Pages that use Serial API are not eligible for back-forward cache."
2710
+ },
2711
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebAuthenticationAPI": {
2712
+ "message": "Pages that use WebAuthentication API are not eligible for back-forward cache."
2713
+ },
2714
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebBluetooth": {
2715
+ "message": "Pages that use WebBluetooth API are not eligible for back-forward cache."
2716
+ },
2717
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebUSB": {
2718
+ "message": "Pages that use WebUSB API are not eligible for back-forward cache."
2719
+ },
2720
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cookieDisabled": {
2721
+ "message": "Back/forward cache is disabled because cookies are disabled on a page that uses Cache-Control: no-store."
2722
+ },
2723
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | dedicatedWorkerOrWorklet": {
2724
+ "message": "Pages that use a dedicated worker or worklet are not currently eligible for back-forward cache."
2725
+ },
2726
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | documentLoaded": {
2727
+ "message": "The document did not finish loading before navigating away."
2461
2728
  },
2462
- "core/lib/lh-error.js | notHtml": {
2463
- "message": "The page provided is not HTML (served as MIME type {mimeType})."
2729
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderAppBannerManager": {
2730
+ "message": "App banner was present upon navigating away."
2464
2731
  },
2465
- "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
2466
- "message": "This version of Chrome is too old to support '{featureName}'. Use a newer version to see full results."
2732
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderChromePasswordManagerClientBindCredentialManager": {
2733
+ "message": "Chrome Password Manager was present upon navigating away."
2467
2734
  },
2468
- "core/lib/lh-error.js | pageLoadFailed": {
2469
- "message": "Lighthouse was unable to reliably load the page that you requested. Make sure that you are testing the correct URL and that the server is properly responding to all requests."
2735
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
2736
+ "message": "DOM distillation was in progress upon navigating away."
2470
2737
  },
2471
- "core/lib/lh-error.js | pageLoadFailedHung": {
2472
- "message": "Lighthouse was unable to reliably load the URL that you requested because the page stopped responding."
2738
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerViewerSource": {
2739
+ "message": "DOM distiller viewer was present upon navigating away."
2473
2740
  },
2474
- "core/lib/lh-error.js | pageLoadFailedInsecure": {
2475
- "message": "The URL you have provided does not have a valid security certificate. {securityMessages}"
2741
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessaging": {
2742
+ "message": "Back-forward cache is disabled due to extensions using messaging API."
2476
2743
  },
2477
- "core/lib/lh-error.js | pageLoadFailedInterstitial": {
2478
- "message": "Chrome prevented page load with an interstitial. Make sure that you are testing the correct URL and that the server is properly responding to all requests."
2744
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessagingForOpenPort": {
2745
+ "message": "Extensions with long-lived connection should close the connection before entering back-forward cache."
2479
2746
  },
2480
- "core/lib/lh-error.js | pageLoadFailedWithDetails": {
2481
- "message": "Lighthouse was unable to reliably load the page that you requested. Make sure that you are testing the correct URL and that the server is properly responding to all requests. (Details: {errorDetails})"
2747
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionSentMessageToCachedFrame": {
2748
+ "message": "Extensions with long-lived connection attempted to send messages to frames in back-forward cache."
2482
2749
  },
2483
- "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2484
- "message": "Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: {statusCode})"
2750
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensions": {
2751
+ "message": "Back-forward cache is disabled due to extensions."
2485
2752
  },
2486
- "core/lib/lh-error.js | pageLoadTookTooLong": {
2487
- "message": "Your page took too long to load. Please follow the opportunities in the report to reduce your page load time, and then try re-running Lighthouse. ({errorCode})"
2753
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderModalDialog": {
2754
+ "message": "Modal dialogue such as form resubmission or HTTP password dialogue was shown for the page upon navigating away."
2488
2755
  },
2489
- "core/lib/lh-error.js | protocolTimeout": {
2490
- "message": "Waiting for DevTools protocol response has exceeded the allotted time. (Method: {protocolMethod})"
2756
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOfflinePage": {
2757
+ "message": "The offline page was shown upon navigating away."
2491
2758
  },
2492
- "core/lib/lh-error.js | requestContentTimeout": {
2493
- "message": "Fetching resource content has exceeded the allotted time"
2759
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOomInterventionTabHelper": {
2760
+ "message": "Out-of-memory intervention bar was present upon navigating away."
2494
2761
  },
2495
- "core/lib/lh-error.js | targetCrashed": {
2496
- "message": "Browser tab has unexpectedly crashed."
2762
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPermissionRequestManager": {
2763
+ "message": "There were permission requests upon navigating away."
2497
2764
  },
2498
- "core/lib/lh-error.js | urlInvalid": {
2499
- "message": "The URL that you have provided appears to be invalid."
2765
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPopupBlockerTabHelper": {
2766
+ "message": "Pop-up blocker was present upon navigating away."
2500
2767
  },
2501
- "core/lib/navigation-error.js | warningStatusCode": {
2502
- "message": "Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: {errorCode})"
2768
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingThreatDetails": {
2769
+ "message": "Safe Browsing details were shown upon navigating away."
2503
2770
  },
2504
- "core/lib/navigation-error.js | warningXhtml": {
2505
- "message": "The page MIME type is XHTML: Lighthouse does not explicitly support this document type"
2771
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
2772
+ "message": "Safe Browsing considered this page to be abusive and blocked the pop-up."
2506
2773
  },
2507
- "core/user-flow.js | defaultFlowName": {
2508
- "message": "User flow ({url})"
2774
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
2775
+ "message": "A service worker was activated while the page was in back-forward cache."
2509
2776
  },
2510
- "core/user-flow.js | defaultNavigationName": {
2511
- "message": "Navigation report ({url})"
2777
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | errorDocument": {
2778
+ "message": "Back-forward cache is disabled due to a document error."
2512
2779
  },
2513
- "core/user-flow.js | defaultSnapshotName": {
2514
- "message": "Snapshot report ({url})"
2780
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | fencedFramesEmbedder": {
2781
+ "message": "Pages using FencedFrames cannot be stored in bfcache."
2515
2782
  },
2516
- "core/user-flow.js | defaultTimespanName": {
2517
- "message": "Timespan report ({url})"
2783
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | foregroundCacheLimit": {
2784
+ "message": "The page was evicted from the cache to allow another page to be cached."
2518
2785
  },
2519
- "flow-report/src/i18n/ui-strings.js | allReports": {
2520
- "message": "All reports"
2786
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | grantedMediaStreamAccess": {
2787
+ "message": "Pages that have granted media stream access are not currently eligible for back-forward cache."
2521
2788
  },
2522
- "flow-report/src/i18n/ui-strings.js | categories": {
2523
- "message": "Categories"
2789
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | haveInnerContents": {
2790
+ "message": "Pages that have certain kinds of embedded content (e.g. PDFs) are not currently eligible for back/forward cache."
2524
2791
  },
2525
- "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
2526
- "message": "Accessibility"
2792
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | idleManager": {
2793
+ "message": "Pages that use IdleManager are not currently eligible for back-forward cache."
2527
2794
  },
2528
- "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
2529
- "message": "Best Practices"
2795
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBConnection": {
2796
+ "message": "Pages that have an open IndexedDB connection are not currently eligible for back-forward cache."
2530
2797
  },
2531
- "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2532
- "message": "Performance"
2798
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBEvent": {
2799
+ "message": "Back/forward cache is disabled due to an IndexedDB event."
2533
2800
  },
2534
- "flow-report/src/i18n/ui-strings.js | categorySeo": {
2535
- "message": "SEO"
2801
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | ineligibleAPI": {
2802
+ "message": "Ineligible APIs were used."
2536
2803
  },
2537
- "flow-report/src/i18n/ui-strings.js | desktop": {
2538
- "message": "Desktop"
2804
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedJavascript": {
2805
+ "message": "Pages that JavaScript is injected into by extensions are not currently eligible for back-forward cache."
2539
2806
  },
2540
- "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
2541
- "message": "Understanding the Lighthouse flow report"
2807
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedStyleSheet": {
2808
+ "message": "Pages that a StyleSheet is injected into by extensions are not currently eligible for back-forward cache."
2542
2809
  },
2543
- "flow-report/src/i18n/ui-strings.js | helpLabel": {
2544
- "message": "Understanding flows"
2810
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | internalError": {
2811
+ "message": "Internal error."
2545
2812
  },
2546
- "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
2547
- "message": "Use Navigation reports to…"
2813
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | jsNetworkRequestReceivedCacheControlNoStoreResource": {
2814
+ "message": "Back/forward cache is disabled because some JavaScript network request received resource with Cache-Control: no-store header."
2548
2815
  },
2549
- "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
2550
- "message": "Use Snapshot reports to"
2816
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keepaliveRequest": {
2817
+ "message": "Back/forward cache is disabled due to a keepalive request."
2551
2818
  },
2552
- "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
2553
- "message": "Use Timespan reports to…"
2819
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keyboardLock": {
2820
+ "message": "Pages that use keyboard lock are not currently eligible for back-forward cache."
2554
2821
  },
2555
- "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
2556
- "message": "Obtain a Lighthouse performance score."
2822
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | loading": {
2823
+ "message": "The page did not finish loading before navigating away."
2557
2824
  },
2558
- "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
2559
- "message": "Measure page load performance metrics, such as largest contentful paint and speed index."
2825
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoCache": {
2826
+ "message": "Pages whose main resource has cache-control:no-cache cannot enter back-forward cache."
2560
2827
  },
2561
- "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
2562
- "message": "Assess progressive web app capabilities."
2828
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoStore": {
2829
+ "message": "Pages whose main resource has cache-control:no-store cannot enter back-forward cache."
2563
2830
  },
2564
- "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
2565
- "message": "Find accessibility issues in single-page applications or complex forms."
2831
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | navigationCancelledWhileRestoring": {
2832
+ "message": "Navigation was cancelled before the page could be restored from back-forward cache."
2566
2833
  },
2567
- "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
2568
- "message": "Evaluate best practices of menus and UI elements hidden behind interaction."
2834
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkExceedsBufferLimit": {
2835
+ "message": "The page was evicted from the cache because an active network connection received too much data. Chrome limits the amount of data that a page may receive while cached."
2569
2836
  },
2570
- "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
2571
- "message": "Measure layout shifts and JavaScript execution time on a series of interactions."
2837
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
2838
+ "message": "Pages that have inflight fetch() or XHR are not currently eligible for back-forward cache."
2572
2839
  },
2573
- "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
2574
- "message": "Discover performance opportunities to improve the experience for long-lived pages and single-page applications."
2840
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestRedirected": {
2841
+ "message": "The page was evicted from back-forward cache because an active network request involved a redirect."
2575
2842
  },
2576
- "flow-report/src/i18n/ui-strings.js | highestImpact": {
2577
- "message": "Highest impact"
2843
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestTimeout": {
2844
+ "message": "The page was evicted from the cache because a network connection was open too long. Chrome limits the amount of time that a page may receive data while cached."
2578
2845
  },
2579
- "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
2580
- "message": "{numInformative,plural, =1{{numInformative} informative audit}other{{numInformative} informative audits}}"
2846
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | noResponseHead": {
2847
+ "message": "Pages that do not have a valid response head cannot enter back-forward cache."
2581
2848
  },
2582
- "flow-report/src/i18n/ui-strings.js | mobile": {
2583
- "message": "Mobile"
2849
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | notMainFrame": {
2850
+ "message": "Navigation happened in a frame other than the main frame."
2584
2851
  },
2585
- "flow-report/src/i18n/ui-strings.js | navigationDescription": {
2586
- "message": "Page load"
2852
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingIndexedDBTransaction": {
2853
+ "message": "Pages with ongoing indexed DB transactions are not currently eligible for back-forward cache."
2587
2854
  },
2588
- "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
2589
- "message": "Navigation reports analyse a single page load, exactly like the original Lighthouse reports."
2855
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestDirectSocket": {
2856
+ "message": "Pages with an in-flight network request are not currently eligible for back-forward cache."
2590
2857
  },
2591
- "flow-report/src/i18n/ui-strings.js | navigationReport": {
2592
- "message": "Navigation report"
2858
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestFetch": {
2859
+ "message": "Pages with an in-flight fetch network request are not currently eligible for back-forward cache."
2593
2860
  },
2594
- "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
2595
- "message": "{numNavigation,plural, =1{{numNavigation} navigation report}other{{numNavigation} navigation reports}}"
2861
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestOthers": {
2862
+ "message": "Pages with an in-flight network request are not currently eligible for back-forward cache."
2596
2863
  },
2597
- "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
2598
- "message": "{numPassableAudits,plural, =1{{numPassableAudits} passable audit}other{{numPassableAudits} passable audits}}"
2864
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestXHR": {
2865
+ "message": "Pages with an in-flight XHR network request are not currently eligible for back-forward cache."
2599
2866
  },
2600
- "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
2601
- "message": "{numPassed,plural, =1{{numPassed} audit passed}other{{numPassed} audits passed}}"
2867
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | paymentManager": {
2868
+ "message": "Pages that use PaymentManager are not currently eligible for back-forward cache."
2602
2869
  },
2603
- "flow-report/src/i18n/ui-strings.js | ratingAverage": {
2604
- "message": "Average"
2870
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | pictureInPicture": {
2871
+ "message": "Pages that use picture-in-picture are not currently eligible for back-forward cache."
2605
2872
  },
2606
- "flow-report/src/i18n/ui-strings.js | ratingError": {
2607
- "message": "Error"
2873
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | printing": {
2874
+ "message": "Pages that show Printing UI are not currently eligible for back-forward cache."
2608
2875
  },
2609
- "flow-report/src/i18n/ui-strings.js | ratingFail": {
2610
- "message": "Poor"
2876
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | relatedActiveContentsExist": {
2877
+ "message": "The page was opened using 'window.open()' and another tab has a reference to it, or the page opened a window."
2611
2878
  },
2612
- "flow-report/src/i18n/ui-strings.js | ratingPass": {
2613
- "message": "Good"
2879
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessCrashed": {
2880
+ "message": "The renderer process for the page in back-forward cache crashed."
2614
2881
  },
2615
- "flow-report/src/i18n/ui-strings.js | save": {
2616
- "message": "Save"
2882
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessKilled": {
2883
+ "message": "The renderer process for the page in back-forward cache was killed."
2617
2884
  },
2618
- "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
2619
- "message": "Captured state of page"
2885
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedAudioCapturePermission": {
2886
+ "message": "Pages that have requested audio capture permissions are not currently eligible for back-forward cache."
2620
2887
  },
2621
- "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
2622
- "message": "Snapshot reports analyse the page in a particular state, typically after user interactions."
2888
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackForwardCacheBlockedSensors": {
2889
+ "message": "Pages that have requested sensor permissions are not currently eligible for back-forward cache."
2623
2890
  },
2624
- "flow-report/src/i18n/ui-strings.js | snapshotReport": {
2625
- "message": "Snapshot report"
2891
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackgroundWorkPermission": {
2892
+ "message": "Pages that have requested background sync or fetch permissions are not currently eligible for back-forward cache."
2626
2893
  },
2627
- "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
2628
- "message": "{numSnapshot,plural, =1{{numSnapshot} snapshot report}other{{numSnapshot} snapshot reports}}"
2894
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedMIDIPermission": {
2895
+ "message": "Pages that have requested MIDI permissions are not currently eligible for back-forward cache."
2629
2896
  },
2630
- "flow-report/src/i18n/ui-strings.js | summary": {
2631
- "message": "Summary"
2897
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedNotificationsPermission": {
2898
+ "message": "Pages that have requested notifications permissions are not currently eligible for back-forward cache."
2632
2899
  },
2633
- "flow-report/src/i18n/ui-strings.js | timespanDescription": {
2634
- "message": "User interactions"
2900
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedStorageAccessGrant": {
2901
+ "message": "Pages that have requested storage access are not currently eligible for back-forward cache."
2635
2902
  },
2636
- "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
2637
- "message": "Timespan reports analyse an arbitrary period of time, typically containing user interactions."
2903
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedVideoCapturePermission": {
2904
+ "message": "Pages that have requested video capture permissions are not currently eligible for back-forward cache."
2638
2905
  },
2639
- "flow-report/src/i18n/ui-strings.js | timespanReport": {
2640
- "message": "Timespan report"
2906
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | schemeNotHTTPOrHTTPS": {
2907
+ "message": "Only pages whose URL scheme is HTTP/HTTPS can be cached."
2641
2908
  },
2642
- "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
2643
- "message": "{numTimespan,plural, =1{{numTimespan} timespan report}other{{numTimespan} timespan reports}}"
2909
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerClaim": {
2910
+ "message": "The page was claimed by a service worker while it is in back-forward cache."
2644
2911
  },
2645
- "flow-report/src/i18n/ui-strings.js | title": {
2646
- "message": "Lighthouse user flow report"
2912
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerPostMessage": {
2913
+ "message": "A service worker attempted to send the page in back-forward cache a MessageEvent."
2647
2914
  },
2648
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2649
- "message": "Layout shifts occur when elements move absent any user interaction. [Investigate the causes of layout shifts](https://web.dev/articles/optimize-cls), such as elements being added, removed or their fonts changing as the page loads."
2915
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerUnregistration": {
2916
+ "message": "ServiceWorker was unregistered while a page was in back-forward cache."
2650
2917
  },
2651
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
2652
- "message": "Layout shift culprits"
2918
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerVersionActivation": {
2919
+ "message": "The page was evicted from back-forward cache due to a service worker activation."
2653
2920
  },
2654
- "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
2655
- "message": "A large DOM will increase memory usage, cause longer style calculations and produce costly layout reflows which impact page responsiveness. [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
2921
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sessionRestored": {
2922
+ "message": "Chrome restarted and cleared the back-forward cache entries."
2656
2923
  },
2657
- "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
2658
- "message": "Optimise DOM size"
2924
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorker": {
2925
+ "message": "Pages that use SharedWorker are not currently eligible for back-forward cache."
2659
2926
  },
2660
- "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2661
- "message": "Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response and enabling text compression."
2927
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechRecognizer": {
2928
+ "message": "Pages that use SpeechRecogniser are not currently eligible for back-forward cache."
2662
2929
  },
2663
- "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
2664
- "message": "Document request latency"
2930
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechSynthesis": {
2931
+ "message": "Pages that use SpeechSynthesis are not currently eligible for back-forward cache."
2665
2932
  },
2666
- "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
2667
- "message": "Consider setting [font-display](https://developer.chrome.com/blog/font-display) to swap or optional to ensure that text is consistently visible. swap can be further optimised to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
2933
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subframeIsNavigating": {
2934
+ "message": "An iframe on the page started a navigation that did not complete."
2668
2935
  },
2669
- "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
2670
- "message": "Font display"
2936
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoCache": {
2937
+ "message": "Pages whose subresource has cache-control:no-cache cannot enter back-forward cache."
2671
2938
  },
2672
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
2673
- "message": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimising image size](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
2939
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoStore": {
2940
+ "message": "Pages whose subresource has cache-control:no-store cannot enter back-forward cache."
2674
2941
  },
2675
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
2676
- "message": "Improve image delivery"
2942
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeout": {
2943
+ "message": "The page exceeded the maximum time in back-forward cache and expired."
2677
2944
  },
2678
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
2679
- "message": "Increasing the image compression factor could improve this image's download size. (Est {PH1})"
2945
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeoutPuttingInCache": {
2946
+ "message": "The page timed out entering back-forward cache (likely due to long-running page-hide handlers)."
2680
2947
  },
2681
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
2682
- "message": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size. (Est {PH1})"
2948
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInMainFrame": {
2949
+ "message": "The page has an unload handler in the main frame."
2683
2950
  },
2684
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
2685
- "message": "This image file is larger than it needs to be ({PH2}) for its displayed dimensions ({PH3}). Use responsive images to reduce the image download size. (Est {PH1})"
2951
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInSubFrame": {
2952
+ "message": "The page has an unload handler in a sub frame."
2686
2953
  },
2687
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
2688
- "message": "Using video formats instead of GIFs can improve the download size of animated content. (Est {PH1})"
2954
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | userAgentOverrideDiffers": {
2955
+ "message": "Browser has changed the user agent override header."
2689
2956
  },
2690
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
2691
- "message": "Start investigating with the longest phase. [Delays can be minimised](https://web.dev/articles/optimize-inp#optimize_interactions). To reduce processing duration, [optimise the main-thread costs](https://web.dev/articles/optimize-long-tasks), often JS."
2957
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | wasGrantedMediaAccess": {
2958
+ "message": "Pages that have granted access to record video or audio are not currently eligible for back-forward cache."
2692
2959
  },
2693
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | title": {
2694
- "message": "INP by phase"
2960
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webDatabase": {
2961
+ "message": "Pages that use WebDatabase are not currently eligible for back-forward cache."
2695
2962
  },
2696
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2697
- "message": "Optimise LCP by making the LCP image [discoverable](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) from the HTML immediately and [avoiding lazy loading](https://web.dev/articles/lcp-lazy-loading)"
2963
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webHID": {
2964
+ "message": "Pages that use WebHID are not currently eligible for back-forward cache."
2698
2965
  },
2699
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2700
- "message": "LCP request discovery"
2966
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webLocks": {
2967
+ "message": "Pages that use WebLocks are not currently eligible for back-forward cache."
2701
2968
  },
2702
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | description": {
2703
- "message": "Each [phase has specific improvement strategies](https://web.dev/articles/optimize-lcp#lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays."
2969
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webNfc": {
2970
+ "message": "Pages that use WebNfc are not currently eligible for back-forward cache."
2704
2971
  },
2705
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | title": {
2706
- "message": "LCP by phase"
2972
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webOTPService": {
2973
+ "message": "Pages that use WebOTPService are not currently eligible for bfcache."
2707
2974
  },
2708
- "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2709
- "message": "Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) can move these network requests out of the critical path."
2975
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTC": {
2976
+ "message": "Pages with WebRTC cannot enter back-forward cache."
2710
2977
  },
2711
- "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
2712
- "message": "Render blocking requests"
2978
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCSticky": {
2979
+ "message": "Back-forward cache is disabled because WebRTC has been used."
2713
2980
  },
2714
- "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
2715
- "message": "If Recalculate Style costs remain high, selector optimisation can reduce them. [Optimise the selectors](https://developer.chrome.com/docs/devtools/performance/selector-stats) with both a high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM and a shallower DOM will all reduce matching costs."
2981
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webShare": {
2982
+ "message": "Pages that use WebShare are not currently eligible for back-forward cache."
2716
2983
  },
2717
- "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
2718
- "message": "CSS selector costs"
2984
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocket": {
2985
+ "message": "Pages with WebSocket cannot enter back-forward cache."
2719
2986
  },
2720
- "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2721
- "message": "Third-party code can significantly impact load performance. [Reduce and defer loading of third-party code](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) to prioritise your page's content."
2987
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketSticky": {
2988
+ "message": "Back-forward cache is disabled because WebSocket has been used."
2722
2989
  },
2723
- "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
2724
- "message": "Third parties"
2990
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransport": {
2991
+ "message": "Pages with WebTransport cannot enter back-forward cache."
2725
2992
  },
2726
- "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
2727
- "message": "Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) if the viewport is not optimised for mobile."
2993
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportSticky": {
2994
+ "message": "Back-forward cache is disabled because WebTransport has been used."
2728
2995
  },
2729
- "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
2730
- "message": "Optimise viewport for mobile"
2996
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webXR": {
2997
+ "message": "Pages that use WebXR are not currently eligible for back-forward cache."
2731
2998
  },
2732
2999
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
2733
3000
  "message": "For animated content, use [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) to minimise CPU usage when the content is offscreen."
@@ -3221,6 +3488,9 @@
3221
3488
  "report/renderer/report-utils.js | dropdownDarkTheme": {
3222
3489
  "message": "Toggle Dark theme"
3223
3490
  },
3491
+ "report/renderer/report-utils.js | dropdownInsightsToggle": {
3492
+ "message": "Toggle experimental insights"
3493
+ },
3224
3494
  "report/renderer/report-utils.js | dropdownPrintExpanded": {
3225
3495
  "message": "Print expanded"
3226
3496
  },