lighthouse 10.2.0-dev.20230612 → 10.3.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 (64) hide show
  1. package/core/audits/deprecations.js +1 -1
  2. package/core/audits/server-response-time.d.ts +2 -1
  3. package/core/audits/server-response-time.js +11 -2
  4. package/core/audits/uses-rel-preconnect.js +20 -4
  5. package/core/lib/bf-cache-strings.d.ts +3 -0
  6. package/core/lib/bf-cache-strings.js +248 -232
  7. package/core/lib/cdt/generated/SourceMap.d.ts +18 -31
  8. package/core/lib/cdt/generated/SourceMap.js +51 -101
  9. package/core/lib/dependency-graph/simulator/network-analyzer.js +13 -0
  10. package/core/lib/deprecation-description.d.ts +17 -0
  11. package/core/lib/deprecation-description.js +71 -0
  12. package/core/lib/deprecations-strings.d.ts +282 -63
  13. package/core/lib/deprecations-strings.js +282 -551
  14. package/core/lib/network-request.d.ts +6 -6
  15. package/core/lib/network-request.js +6 -9
  16. package/package.json +6 -6
  17. package/shared/localization/locales/ar-XB.json +20 -170
  18. package/shared/localization/locales/ar.json +20 -170
  19. package/shared/localization/locales/bg.json +19 -169
  20. package/shared/localization/locales/ca.json +19 -169
  21. package/shared/localization/locales/cs.json +19 -169
  22. package/shared/localization/locales/da.json +19 -169
  23. package/shared/localization/locales/de.json +19 -169
  24. package/shared/localization/locales/el.json +19 -169
  25. package/shared/localization/locales/en-GB.json +9 -159
  26. package/shared/localization/locales/en-US.json +115 -70
  27. package/shared/localization/locales/en-XA.json +20 -170
  28. package/shared/localization/locales/en-XL.json +115 -70
  29. package/shared/localization/locales/es-419.json +19 -169
  30. package/shared/localization/locales/es.json +19 -169
  31. package/shared/localization/locales/fi.json +19 -169
  32. package/shared/localization/locales/fil.json +17 -167
  33. package/shared/localization/locales/fr.json +18 -168
  34. package/shared/localization/locales/he.json +19 -169
  35. package/shared/localization/locales/hi.json +20 -170
  36. package/shared/localization/locales/hr.json +19 -169
  37. package/shared/localization/locales/hu.json +19 -169
  38. package/shared/localization/locales/id.json +19 -169
  39. package/shared/localization/locales/it.json +19 -169
  40. package/shared/localization/locales/ja.json +19 -169
  41. package/shared/localization/locales/ko.json +19 -169
  42. package/shared/localization/locales/lt.json +20 -170
  43. package/shared/localization/locales/lv.json +20 -170
  44. package/shared/localization/locales/nl.json +18 -168
  45. package/shared/localization/locales/no.json +19 -169
  46. package/shared/localization/locales/pl.json +19 -169
  47. package/shared/localization/locales/pt-PT.json +19 -169
  48. package/shared/localization/locales/pt.json +19 -169
  49. package/shared/localization/locales/ro.json +19 -169
  50. package/shared/localization/locales/ru.json +19 -169
  51. package/shared/localization/locales/sk.json +20 -170
  52. package/shared/localization/locales/sl.json +19 -169
  53. package/shared/localization/locales/sr-Latn.json +19 -169
  54. package/shared/localization/locales/sr.json +19 -169
  55. package/shared/localization/locales/sv.json +19 -169
  56. package/shared/localization/locales/ta.json +19 -169
  57. package/shared/localization/locales/te.json +19 -169
  58. package/shared/localization/locales/th.json +19 -169
  59. package/shared/localization/locales/tr.json +19 -169
  60. package/shared/localization/locales/uk.json +19 -169
  61. package/shared/localization/locales/vi.json +20 -170
  62. package/shared/localization/locales/zh-HK.json +19 -169
  63. package/shared/localization/locales/zh-TW.json +19 -169
  64. package/shared/localization/locales/zh.json +19 -169
@@ -13,22 +13,22 @@ export type ParsedURL = {
13
13
  host: string;
14
14
  securityOrigin: string;
15
15
  };
16
- /**
17
- * The difference in networkEndTime between the observed Lighthouse networkEndTime and Lightrider's derived networkEndTime.
18
- */
19
16
  export type LightriderStatistics = {
20
17
  /**
21
- * The time spent making a TCP connection (connect + SSL).
18
+ * The difference in networkEndTime between the observed Lighthouse networkEndTime and Lightrider's derived networkEndTime.
22
19
  */
23
20
  endTimeDeltaMs: number;
24
21
  /**
25
- * The time spent requesting a resource from a remote server, we use this to approx RTT.
22
+ * The time spent making a TCP connection (connect + SSL). Note: this is poorly named.
26
23
  */
27
24
  TCPMs: number;
28
25
  /**
29
- * The time spent transferring a resource from a remote server.
26
+ * The time spent requesting a resource from a remote server, we use this to approx RTT. Note: this is poorly names, it really should be "server response time".
30
27
  */
31
28
  requestMs: number;
29
+ /**
30
+ * Time to receive the entire response payload starting the clock on receiving the first fragment (first non-header byte).
31
+ */
32
32
  responseMs: number;
33
33
  };
34
34
  export class NetworkRequest {
@@ -57,7 +57,7 @@ import UrlUtils from './url-utils.js';
57
57
 
58
58
  // Lightrider X-Header names for timing information.
59
59
  // See: _updateTransferSizeForLightrider and _updateTimingsForLightrider.
60
- const HEADER_TCP = 'X-TCPMs';
60
+ const HEADER_TCP = 'X-TCPMs'; // Note: this should have been called something like ConnectMs, as it includes SSL.
61
61
  const HEADER_SSL = 'X-SSLMs';
62
62
  const HEADER_REQ = 'X-RequestMs';
63
63
  const HEADER_RES = 'X-ResponseMs';
@@ -80,14 +80,10 @@ const HEADER_PROTOCOL_IS_H2 = 'X-ProtocolIsH2';
80
80
 
81
81
  /**
82
82
  * @typedef LightriderStatistics
83
- * The difference in networkEndTime between the observed Lighthouse networkEndTime and Lightrider's derived networkEndTime.
84
- * @property {number} endTimeDeltaMs
85
- * The time spent making a TCP connection (connect + SSL).
86
- * @property {number} TCPMs
87
- * The time spent requesting a resource from a remote server, we use this to approx RTT.
88
- * @property {number} requestMs
89
- * The time spent transferring a resource from a remote server.
90
- * @property {number} responseMs
83
+ * @property {number} endTimeDeltaMs The difference in networkEndTime between the observed Lighthouse networkEndTime and Lightrider's derived networkEndTime.
84
+ * @property {number} TCPMs The time spent making a TCP connection (connect + SSL). Note: this is poorly named.
85
+ * @property {number} requestMs The time spent requesting a resource from a remote server, we use this to approx RTT. Note: this is poorly names, it really should be "server response time".
86
+ * @property {number} responseMs Time to receive the entire response payload starting the clock on receiving the first fragment (first non-header byte).
91
87
  */
92
88
 
93
89
  /** @type {LH.Util.SelfMap<LH.Crdp.Network.ResourceType>} */
@@ -501,6 +497,7 @@ class NetworkRequest {
501
497
 
502
498
  // Make sure all times are initialized and are non-negative.
503
499
  const TCPMs = TCPMsHeader ? Math.max(0, parseInt(TCPMsHeader.value)) : 0;
500
+ // This is missing for h2 requests, but present for h1. See b/283843975
504
501
  const SSLMs = SSLMsHeader ? Math.max(0, parseInt(SSLMsHeader.value)) : 0;
505
502
  const requestMs = requestMsHeader ? Math.max(0, parseInt(requestMsHeader.value)) : 0;
506
503
  const responseMs = responseMsHeader ? Math.max(0, parseInt(responseMsHeader.value)) : 0;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lighthouse",
3
3
  "type": "module",
4
- "version": "10.2.0-dev.20230612",
4
+ "version": "10.3.0",
5
5
  "description": "Automated auditing, performance metrics, and best practices for the web.",
6
6
  "main": "./core/index.js",
7
7
  "bin": {
@@ -137,7 +137,7 @@
137
137
  "archiver": "^3.0.0",
138
138
  "c8": "^7.11.3",
139
139
  "chalk": "^2.4.1",
140
- "chrome-devtools-frontend": "1.0.1070764",
140
+ "chrome-devtools-frontend": "1.0.1153166",
141
141
  "concurrently": "^6.4.0",
142
142
  "conventional-changelog-cli": "^2.1.1",
143
143
  "cpy": "^8.1.2",
@@ -169,7 +169,7 @@
169
169
  "pako": "^2.0.3",
170
170
  "preact": "^10.7.2",
171
171
  "pretty-json-stringify": "^0.0.2",
172
- "puppeteer": "^20.5.0",
172
+ "puppeteer": "^20.7.1",
173
173
  "resolve": "^1.20.0",
174
174
  "rollup": "^2.52.7",
175
175
  "rollup-plugin-node-resolve": "^5.2.0",
@@ -187,7 +187,7 @@
187
187
  },
188
188
  "dependencies": {
189
189
  "@sentry/node": "^6.17.4",
190
- "axe-core": "4.7.1",
190
+ "axe-core": "4.7.2",
191
191
  "chrome-launcher": "^0.15.2",
192
192
  "configstore": "^5.0.1",
193
193
  "csp_evaluator": "1.1.1",
@@ -205,11 +205,11 @@
205
205
  "open": "^8.4.0",
206
206
  "parse-cache-control": "1.0.1",
207
207
  "ps-list": "^8.0.0",
208
- "puppeteer-core": "^20.5.0",
208
+ "puppeteer-core": "^20.7.1",
209
209
  "robots-parser": "^3.0.0",
210
210
  "semver": "^5.3.0",
211
211
  "speedline-core": "^1.4.3",
212
- "third-party-web": "^0.22.0",
212
+ "third-party-web": "^0.23.0",
213
213
  "ws": "^7.0.0",
214
214
  "yargs": "^17.3.1",
215
215
  "yargs-parser": "^21.0.0"
@@ -981,28 +981,28 @@
981
981
  "message": "‏‮Allowed‬‏ ‏‮with‬‏ ‏‮warning‬‏"
982
982
  },
983
983
  "core/audits/largest-contentful-paint-element.js | columnPercentOfLCP": {
984
- "message": "% of LCP"
984
+ "message": "% ‏‮of‬‏ ‏‮LCP‬‏"
985
985
  },
986
986
  "core/audits/largest-contentful-paint-element.js | columnPhase": {
987
- "message": "Phase"
987
+ "message": "‏‮Phase‬‏"
988
988
  },
989
989
  "core/audits/largest-contentful-paint-element.js | columnTiming": {
990
- "message": "Timing"
990
+ "message": "‏‮Timing‬‏"
991
991
  },
992
992
  "core/audits/largest-contentful-paint-element.js | description": {
993
993
  "message": "‏‮This‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮contentful‬‏ ‏‮element‬‏ ‏‮painted‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮viewport‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮element‬‏](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
994
994
  },
995
995
  "core/audits/largest-contentful-paint-element.js | itemLoadDelay": {
996
- "message": "Load Delay"
996
+ "message": "‏‮Load‬‏ ‏‮Delay‬‏"
997
997
  },
998
998
  "core/audits/largest-contentful-paint-element.js | itemLoadTime": {
999
- "message": "Load Time"
999
+ "message": "‏‮Load‬‏ ‏‮Time‬‏"
1000
1000
  },
1001
1001
  "core/audits/largest-contentful-paint-element.js | itemRenderDelay": {
1002
- "message": "Render Delay"
1002
+ "message": "‏‮Render‬‏ ‏‮Delay‬‏"
1003
1003
  },
1004
1004
  "core/audits/largest-contentful-paint-element.js | itemTTFB": {
1005
- "message": "TTFB"
1005
+ "message": "‏‮TTFB‬‏"
1006
1006
  },
1007
1007
  "core/audits/largest-contentful-paint-element.js | title": {
1008
1008
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮element‬‏"
@@ -2138,156 +2138,6 @@
2138
2138
  "core/lib/csp-evaluator.js | unsafeInlineFallback": {
2139
2139
  "message": "‏‮Consider‬‏ ‏‮adding‬‏ '‏‮unsafe‬‏-‏‮inline‬‏' (‏‮ignored‬‏ ‏‮by‬‏ ‏‮browsers‬‏ ‏‮supporting‬‏ ‏‮nonces‬‏/‏‮hashes‬‏) ‏‮to‬‏ ‏‮be‬‏ ‏‮backward‬‏ ‏‮compatible‬‏ ‏‮with‬‏ ‏‮older‬‏ ‏‮browsers‬‏."
2140
2140
  },
2141
- "core/lib/deprecations-strings.js | authorizationCoveredByWildcard": {
2142
- "message": "‏‮Authorization‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮covered‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮wildcard‬‏ ‏‮symbol‬‏ (*) ‏‮in‬‏ ‏‮CORS‬‏ `Access-Control-Allow-Headers` ‏‮handling‬‏."
2143
- },
2144
- "core/lib/deprecations-strings.js | canRequestURLHTTPContainingNewline": {
2145
- "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‬‏."
2146
- },
2147
- "core/lib/deprecations-strings.js | chromeLoadTimesConnectionInfo": {
2148
- "message": "`chrome.loadTimes()` ‏‮is‬‏ ‏‮deprecated‬‏, ‏‮instead‬‏ ‏‮use‬‏ ‏‮standardized‬‏ ‏‮API‬‏: ‏‮Navigation‬‏ ‏‮Timing‬‏ 2."
2149
- },
2150
- "core/lib/deprecations-strings.js | chromeLoadTimesFirstPaintAfterLoadTime": {
2151
- "message": "`chrome.loadTimes()` ‏‮is‬‏ ‏‮deprecated‬‏, ‏‮instead‬‏ ‏‮use‬‏ ‏‮standardized‬‏ ‏‮API‬‏: ‏‮Paint‬‏ ‏‮Timing‬‏."
2152
- },
2153
- "core/lib/deprecations-strings.js | chromeLoadTimesWasAlternateProtocolAvailable": {
2154
- "message": "`chrome.loadTimes()` ‏‮is‬‏ ‏‮deprecated‬‏, ‏‮instead‬‏ ‏‮use‬‏ ‏‮standardized‬‏ ‏‮API‬‏: `nextHopProtocol` ‏‮in‬‏ ‏‮Navigation‬‏ ‏‮Timing‬‏ 2."
2155
- },
2156
- "core/lib/deprecations-strings.js | cookieWithTruncatingChar": {
2157
- "message": "‏‮Cookies‬‏ ‏‮containing‬‏ ‏‮a‬‏ `(0|r|n)` ‏‮character‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮rejected‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮truncated‬‏."
2158
- },
2159
- "core/lib/deprecations-strings.js | crossOriginAccessBasedOnDocumentDomain": {
2160
- "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`."
2161
- },
2162
- "core/lib/deprecations-strings.js | crossOriginWindowApi": {
2163
- "message": "‏‮Triggering‬‏ {PH1} ‏‮from‬‏ ‏‮cross‬‏ ‏‮origin‬‏ ‏‮iframes‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮future‬‏."
2164
- },
2165
- "core/lib/deprecations-strings.js | cssSelectorInternalMediaControlsOverlayCastButton": {
2166
- "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‬‏."
2167
- },
2168
- "core/lib/deprecations-strings.js | deprecatedWithReplacement": {
2169
- "message": "{PH1} ‏‮is‬‏ ‏‮deprecated‬‏. ‏‮Please‬‏ ‏‮use‬‏ {PH2} ‏‮instead‬‏."
2170
- },
2171
- "core/lib/deprecations-strings.js | deprecationExample": {
2172
- "message": "‏‮This‬‏ ‏‮is‬‏ ‏‮an‬‏ ‏‮example‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮translated‬‏ ‏‮deprecation‬‏ ‏‮issue‬‏ ‏‮message‬‏."
2173
- },
2174
- "core/lib/deprecations-strings.js | documentDomainSettingWithoutOriginAgentClusterHeader": {
2175
- "message": "‏‮Relaxing‬‏ ‏‮the‬‏ ‏‮same‬‏-‏‮origin‬‏ ‏‮policy‬‏ ‏‮by‬‏ ‏‮setting‬‏ `document.domain` ‏‮is‬‏ ‏‮deprecated‬‏, ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮disabled‬‏ ‏‮by‬‏ ‏‮default‬‏. ‏‮To‬‏ ‏‮continue‬‏ ‏‮using‬‏ ‏‮this‬‏ ‏‮feature‬‏, ‏‮please‬‏ ‏‮opt‬‏-‏‮out‬‏ ‏‮of‬‏ ‏‮origin‬‏-‏‮keyed‬‏ ‏‮agent‬‏ ‏‮clusters‬‏ ‏‮by‬‏ ‏‮sending‬‏ ‏‮an‬‏ `Origin-Agent-Cluster: ?0` ‏‮header‬‏ ‏‮along‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮HTTP‬‏ ‏‮response‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮document‬‏ ‏‮and‬‏ ‏‮frames‬‏. ‏‮See‬‏ ‏‮https‬‏://‏‮developer‬‏.‏‮chrome‬‏.‏‮com‬‏/‏‮blog‬‏/‏‮immutable‬‏-‏‮document‬‏-‏‮domain‬‏/ ‏‮for‬‏ ‏‮more‬‏ ‏‮details‬‏."
2176
- },
2177
- "core/lib/deprecations-strings.js | eventPath": {
2178
- "message": "`Event.path` ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏. ‏‮Please‬‏ ‏‮use‬‏ `Event.composedPath()` ‏‮instead‬‏."
2179
- },
2180
- "core/lib/deprecations-strings.js | expectCTHeader": {
2181
- "message": "‏‮The‬‏ `Expect-CT` ‏‮header‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏. ‏‮Chrome‬‏ ‏‮requires‬‏ ‏‮Certificate‬‏ ‏‮Transparency‬‏ ‏‮for‬‏ ‏‮all‬‏ ‏‮publicly‬‏ ‏‮trusted‬‏ ‏‮certificates‬‏ ‏‮issued‬‏ ‏‮after‬‏ ‏‮April‬‏ 30, 2018."
2182
- },
2183
- "core/lib/deprecations-strings.js | feature": {
2184
- "message": "‏‮Check‬‏ ‏‮the‬‏ ‏‮feature‬‏ ‏‮status‬‏ ‏‮page‬‏ ‏‮for‬‏ ‏‮more‬‏ ‏‮details‬‏."
2185
- },
2186
- "core/lib/deprecations-strings.js | geolocationInsecureOrigin": {
2187
- "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‬‏."
2188
- },
2189
- "core/lib/deprecations-strings.js | geolocationInsecureOriginDeprecatedNotRemoved": {
2190
- "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‬‏."
2191
- },
2192
- "core/lib/deprecations-strings.js | getUserMediaInsecureOrigin": {
2193
- "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‬‏."
2194
- },
2195
- "core/lib/deprecations-strings.js | hostCandidateAttributeGetter": {
2196
- "message": "`RTCPeerConnectionIceErrorEvent.hostCandidate` ‏‮is‬‏ ‏‮deprecated‬‏. ‏‮Please‬‏ ‏‮use‬‏ `RTCPeerConnectionIceErrorEvent.address` ‏‮or‬‏ `RTCPeerConnectionIceErrorEvent.port` ‏‮instead‬‏."
2197
- },
2198
- "core/lib/deprecations-strings.js | identityInCanMakePaymentEvent": {
2199
- "message": "‏‮The‬‏ ‏‮merchant‬‏ ‏‮origin‬‏ ‏‮and‬‏ ‏‮arbitrary‬‏ ‏‮data‬‏ ‏‮from‬‏ ‏‮the‬‏ `canmakepayment` ‏‮service‬‏ ‏‮worker‬‏ ‏‮event‬‏ ‏‮are‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏: `topOrigin`, `paymentRequestOrigin`, `methodData`, `modifiers`."
2200
- },
2201
- "core/lib/deprecations-strings.js | insecurePrivateNetworkSubresourceRequest": {
2202
- "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‬‏."
2203
- },
2204
- "core/lib/deprecations-strings.js | localCSSFileExtensionRejected": {
2205
- "message": "‏‮CSS‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮loaded‬‏ ‏‮from‬‏ `file:` ‏‮URLs‬‏ ‏‮unless‬‏ ‏‮they‬‏ ‏‮end‬‏ ‏‮in‬‏ ‏‮a‬‏ `.css` ‏‮file‬‏ ‏‮extension‬‏."
2206
- },
2207
- "core/lib/deprecations-strings.js | mediaSourceAbortRemove": {
2208
- "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‬‏."
2209
- },
2210
- "core/lib/deprecations-strings.js | mediaSourceDurationTruncatingBuffered": {
2211
- "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`."
2212
- },
2213
- "core/lib/deprecations-strings.js | milestone": {
2214
- "message": "‏‮This‬‏ ‏‮change‬‏ ‏‮will‬‏ ‏‮go‬‏ ‏‮into‬‏ ‏‮effect‬‏ ‏‮with‬‏ ‏‮milestone‬‏ {milestone}."
2215
- },
2216
- "core/lib/deprecations-strings.js | noSysexWebMIDIWithoutPermission": {
2217
- "message": "‏‮Web‬‏ ‏‮MIDI‬‏ ‏‮will‬‏ ‏‮ask‬‏ ‏‮a‬‏ ‏‮permission‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮even‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮sysex‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮specified‬‏ ‏‮in‬‏ ‏‮the‬‏ `MIDIOptions`."
2218
- },
2219
- "core/lib/deprecations-strings.js | notificationInsecureOrigin": {
2220
- "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‬‏."
2221
- },
2222
- "core/lib/deprecations-strings.js | notificationPermissionRequestedIframe": {
2223
- "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‬‏."
2224
- },
2225
- "core/lib/deprecations-strings.js | obsoleteWebRtcCipherSuite": {
2226
- "message": "‏‮Your‬‏ ‏‮partner‬‏ ‏‮is‬‏ ‏‮negotiating‬‏ ‏‮an‬‏ ‏‮obsolete‬‏ (‏‮D‬‏)‏‮TLS‬‏ ‏‮version‬‏. ‏‮Please‬‏ ‏‮check‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮partner‬‏ ‏‮to‬‏ ‏‮have‬‏ ‏‮this‬‏ ‏‮fixed‬‏."
2227
- },
2228
- "core/lib/deprecations-strings.js | openWebDatabaseInsecureContext": {
2229
- "message": "‏‮WebSQL‬‏ ‏‮in‬‏ ‏‮non‬‏-‏‮secure‬‏ ‏‮contexts‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮soon‬‏. ‏‮Please‬‏ ‏‮use‬‏ ‏‮Web‬‏ ‏‮Storage‬‏ ‏‮or‬‏ ‏‮Indexed‬‏ ‏‮Database‬‏."
2230
- },
2231
- "core/lib/deprecations-strings.js | overflowVisibleOnReplacedElement": {
2232
- "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‬‏."
2233
- },
2234
- "core/lib/deprecations-strings.js | paymentInstruments": {
2235
- "message": "`paymentManager.instruments` ‏‮is‬‏ ‏‮deprecated‬‏. ‏‮Please‬‏ ‏‮use‬‏ ‏‮just‬‏-‏‮in‬‏-‏‮time‬‏ ‏‮install‬‏ ‏‮for‬‏ ‏‮payment‬‏ ‏‮handlers‬‏ ‏‮instead‬‏."
2236
- },
2237
- "core/lib/deprecations-strings.js | paymentRequestCSPViolation": {
2238
- "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‬‏."
2239
- },
2240
- "core/lib/deprecations-strings.js | persistentQuotaType": {
2241
- "message": "`StorageType.persistent` ‏‮is‬‏ ‏‮deprecated‬‏. ‏‮Please‬‏ ‏‮use‬‏ ‏‮standardized‬‏ `navigator.storage` ‏‮instead‬‏."
2242
- },
2243
- "core/lib/deprecations-strings.js | pictureSourceSrc": {
2244
- "message": "`<source src>` ‏‮with‬‏ ‏‮a‬‏ `<picture>` ‏‮parent‬‏ ‏‮is‬‏ ‏‮invalid‬‏ ‏‮and‬‏ ‏‮therefore‬‏ ‏‮ignored‬‏. ‏‮Please‬‏ ‏‮use‬‏ `<source srcset>` ‏‮instead‬‏."
2245
- },
2246
- "core/lib/deprecations-strings.js | prefixedStorageInfo": {
2247
- "message": "`window.webkitStorageInfo` ‏‮is‬‏ ‏‮deprecated‬‏. ‏‮Please‬‏ ‏‮use‬‏ ‏‮standardized‬‏ `navigator.storage` ‏‮instead‬‏."
2248
- },
2249
- "core/lib/deprecations-strings.js | requestedSubresourceWithEmbeddedCredentials": {
2250
- "message": "‏‮Subresource‬‏ ‏‮requests‬‏ ‏‮whose‬‏ ‏‮URLs‬‏ ‏‮contain‬‏ ‏‮embedded‬‏ ‏‮credentials‬‏ (‏‮e‬‏.‏‮g‬‏. `https://user:pass@host/`) ‏‮are‬‏ ‏‮blocked‬‏."
2251
- },
2252
- "core/lib/deprecations-strings.js | rtcConstraintEnableDtlsSrtpFalse": {
2253
- "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‬‏."
2254
- },
2255
- "core/lib/deprecations-strings.js | rtcConstraintEnableDtlsSrtpTrue": {
2256
- "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‬‏."
2257
- },
2258
- "core/lib/deprecations-strings.js | rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics": {
2259
- "message": "`Complex Plan B SDP` ‏‮detected‬‏. ‏‮This‬‏ ‏‮dialect‬‏ ‏‮of‬‏ ‏‮the‬‏ `Session Description Protocol` ‏‮is‬‏ ‏‮no‬‏ ‏‮longer‬‏ ‏‮supported‬‏. ‏‮Please‬‏ ‏‮use‬‏ `Unified Plan SDP` ‏‮instead‬‏."
2260
- },
2261
- "core/lib/deprecations-strings.js | rtcPeerConnectionSdpSemanticsPlanB": {
2262
- "message": "`Plan B SDP semantics`, ‏‮which‬‏ ‏‮is‬‏ ‏‮used‬‏ ‏‮when‬‏ ‏‮constructing‬‏ ‏‮an‬‏ `RTCPeerConnection` ‏‮with‬‏ `{sdpSemantics:plan-b}`, ‏‮is‬‏ ‏‮a‬‏ ‏‮legacy‬‏ ‏‮non‬‏-‏‮standard‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮the‬‏ `Session Description Protocol` ‏‮that‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮permanently‬‏ ‏‮deleted‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮Web‬‏ ‏‮Platform‬‏. ‏‮It‬‏ ‏‮is‬‏ ‏‮still‬‏ ‏‮available‬‏ ‏‮when‬‏ ‏‮building‬‏ ‏‮with‬‏ `IS_FUCHSIA`, ‏‮but‬‏ ‏‮we‬‏ ‏‮intend‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮it‬‏ ‏‮as‬‏ ‏‮soon‬‏ ‏‮as‬‏ ‏‮possible‬‏. ‏‮Stop‬‏ ‏‮depending‬‏ ‏‮on‬‏ ‏‮it‬‏. ‏‮See‬‏ ‏‮https‬‏://‏‮crbug‬‏.‏‮com‬‏/1302249 ‏‮for‬‏ ‏‮status‬‏."
2263
- },
2264
- "core/lib/deprecations-strings.js | rtcpMuxPolicyNegotiate": {
2265
- "message": "‏‮The‬‏ `rtcpMuxPolicy` ‏‮option‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏."
2266
- },
2267
- "core/lib/deprecations-strings.js | sharedArrayBufferConstructedWithoutIsolation": {
2268
- "message": "`SharedArrayBuffer` ‏‮will‬‏ ‏‮require‬‏ ‏‮cross‬‏-‏‮origin‬‏ ‏‮isolation‬‏. ‏‮See‬‏ ‏‮https‬‏://‏‮developer‬‏.‏‮chrome‬‏.‏‮com‬‏/‏‮blog‬‏/‏‮enabling‬‏-‏‮shared‬‏-‏‮array‬‏-‏‮buffer‬‏/ ‏‮for‬‏ ‏‮more‬‏ ‏‮details‬‏."
2269
- },
2270
- "core/lib/deprecations-strings.js | textToSpeech_DisallowedByAutoplay": {
2271
- "message": "`speechSynthesis.speak()` ‏‮without‬‏ ‏‮user‬‏ ‏‮activation‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮and‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏."
2272
- },
2273
- "core/lib/deprecations-strings.js | title": {
2274
- "message": "‏‮Deprecated‬‏ ‏‮Feature‬‏ ‏‮Used‬‏"
2275
- },
2276
- "core/lib/deprecations-strings.js | v8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2277
- "message": "‏‮Extensions‬‏ ‏‮should‬‏ ‏‮opt‬‏ ‏‮into‬‏ ‏‮cross‬‏-‏‮origin‬‏ ‏‮isolation‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮using‬‏ `SharedArrayBuffer`. ‏‮See‬‏ ‏‮https‬‏://‏‮developer‬‏.‏‮chrome‬‏.‏‮com‬‏/‏‮docs‬‏/‏‮extensions‬‏/‏‮mv‬‏3/‏‮cross‬‏-‏‮origin‬‏-‏‮isolation‬‏/."
2278
- },
2279
- "core/lib/deprecations-strings.js | vendorSpecificApi": {
2280
- "message": "{PH1} ‏‮is‬‏ ‏‮vendor‬‏-‏‮specific‬‏. ‏‮Please‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮standard‬‏ {PH2} ‏‮instead‬‏."
2281
- },
2282
- "core/lib/deprecations-strings.js | xhrJSONEncodingDetection": {
2283
- "message": "‏‮UTF‬‏-16 ‏‮is‬‏ ‏‮not‬‏ ‏‮supported‬‏ ‏‮by‬‏ ‏‮response‬‏ ‏‮json‬‏ ‏‮in‬‏ `XMLHttpRequest`"
2284
- },
2285
- "core/lib/deprecations-strings.js | xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2286
- "message": "‏‮Synchronous‬‏ `XMLHttpRequest` ‏‮on‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮thread‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮because‬‏ ‏‮of‬‏ ‏‮its‬‏ ‏‮detrimental‬‏ ‏‮effects‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮user‬‏’‏‮s‬‏ ‏‮experience‬‏. ‏‮For‬‏ ‏‮more‬‏ ‏‮help‬‏, ‏‮check‬‏ ‏‮https‬‏://‏‮xhr‬‏.‏‮spec‬‏.‏‮whatwg‬‏.‏‮org‬‏/."
2287
- },
2288
- "core/lib/deprecations-strings.js | xrSupportsSession": {
2289
- "message": "`supportsSession()` ‏‮is‬‏ ‏‮deprecated‬‏. ‏‮Please‬‏ ‏‮use‬‏ `isSessionSupported()` ‏‮and‬‏ ‏‮check‬‏ ‏‮the‬‏ ‏‮resolved‬‏ ‏‮boolean‬‏ ‏‮value‬‏ ‏‮instead‬‏."
2290
- },
2291
2141
  "core/lib/i18n/i18n.js | columnBlockingTime": {
2292
2142
  "message": "‏‮Main‬‏-‏‮Thread‬‏ ‏‮Blocking‬‏ ‏‮Time‬‏"
2293
2143
  },
@@ -2760,31 +2610,31 @@
2760
2610
  "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/speed) ‏‮and‬‏ ‏‮enable‬‏ `Resize Images` ‏‮to‬‏ ‏‮resize‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮device‬‏ ‏‮appropriate‬‏ ‏‮size‬‏, ‏‮reducing‬‏ ‏‮network‬‏ ‏‮payload‬‏ ‏‮sizes‬‏."
2761
2611
  },
2762
2612
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | modern-image-formats": {
2763
- "message": "Use the `gatsby-plugin-image` component instead of `<img>` to automatically optimize image format. [Learn more](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2613
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮optimize‬‏ ‏‮image‬‏ ‏‮format‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2764
2614
  },
2765
2615
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | offscreen-images": {
2766
- "message": "Use the `gatsby-plugin-image` component instead of `<img>` to automatically lazy-load images. [Learn more](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2616
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮images‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2767
2617
  },
2768
2618
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | prioritize-lcp-image": {
2769
- "message": "Use the `gatsby-plugin-image` component and set the `loading` prop to `eager`. [Learn more](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-plugin-image#shared-props)."
2619
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ ‏‮the‬‏ `loading` ‏‮prop‬‏ ‏‮to‬‏ `eager`. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-plugin-image#shared-props)."
2770
2620
  },
2771
2621
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | render-blocking-resources": {
2772
- "message": "Use the `Gatsby Script API` to defer loading of non-critical third-party scripts. [Learn more](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-script/)."
2622
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `Gatsby Script API` ‏‮to‬‏ ‏‮defer‬‏ ‏‮loading‬‏ ‏‮of‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮scripts‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-script/)."
2773
2623
  },
2774
2624
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-css-rules": {
2775
- "message": "Use the `PurgeCSS` `Gatsby` plugin to remove unused rules from stylesheets. [Learn more](https://purgecss.com/plugins/gatsby.html)."
2625
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `PurgeCSS` `Gatsby` ‏‮plugin‬‏ ‏‮to‬‏ ‏‮remove‬‏ ‏‮unused‬‏ ‏‮rules‬‏ ‏‮from‬‏ ‏‮stylesheets‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://purgecss.com/plugins/gatsby.html)."
2776
2626
  },
2777
2627
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-javascript": {
2778
- "message": "Use `Webpack Bundle Analyzer` to detect unused JavaScript code. [Learn more](https://www.gatsbyjs.com/plugins/gatsby-plugin-webpack-bundle-analyser-v2/)"
2628
+ "message": "‏‮Use‬‏ `Webpack Bundle Analyzer` ‏‮to‬‏ ‏‮detect‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮code‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/plugins/gatsby-plugin-webpack-bundle-analyser-v2/)"
2779
2629
  },
2780
2630
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-long-cache-ttl": {
2781
- "message": "Configure caching for immutable assets. [Learn more](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/caching/)."
2631
+ "message": "‏‮Configure‬‏ ‏‮caching‬‏ ‏‮for‬‏ ‏‮immutable‬‏ ‏‮assets‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/caching/)."
2782
2632
  },
2783
2633
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-optimized-images": {
2784
- "message": "Use the `gatsby-plugin-image` component instead of `<img>` to adjust image quality. [Learn more](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2634
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮adjust‬‏ ‏‮image‬‏ ‏‮quality‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2785
2635
  },
2786
2636
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-responsive-images": {
2787
- "message": "Use the `gatsby-plugin-image` component to set appropriate `sizes`. [Learn more](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2637
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮appropriate‬‏ `sizes`. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
2788
2638
  },
2789
2639
  "node_modules/lighthouse-stack-packs/packs/joomla.js | efficient-animated-content": {
2790
2640
  "message": "‏‮Consider‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮GIF‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮which‬‏ ‏‮will‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮embed‬‏ ‏‮as‬‏ ‏‮an‬‏ ‏‮HTML‬‏5 ‏‮video‬‏."
@@ -2865,10 +2715,10 @@
2865
2715
  "message": "`<link rel=preload>` ‏‮tags‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮added‬‏ ‏‮by‬‏ [‏‮modifying‬‏ ‏‮a‬‏ ‏‮themes‬‏'‏‮s‬‏ ‏‮layout‬‏](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
2866
2716
  },
2867
2717
  "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
2868
- "message": "Use the `next/image` component instead of `<img>` to automatically optimize image format. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2718
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮optimize‬‏ ‏‮image‬‏ ‏‮format‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/basic-features/image-optimization)."
2869
2719
  },
2870
2720
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
2871
- "message": "Use the `next/image` component instead of `<img>` to automatically lazy-load images. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2721
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮images‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/basic-features/image-optimization)."
2872
2722
  },
2873
2723
  "node_modules/lighthouse-stack-packs/packs/next.js | prioritize-lcp-image": {
2874
2724
  "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ \"‏‮priority‬‏\" ‏‮to‬‏ ‏‮true‬‏ ‏‮to‬‏ ‏‮preload‬‏ ‏‮LCP‬‏ ‏‮image‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/api-reference/next/image#priority)."
@@ -2883,7 +2733,7 @@
2883
2733
  "message": "‏‮Consider‬‏ ‏‮setting‬‏ ‏‮up‬‏ `PurgeCSS` ‏‮in‬‏ `Next.js` ‏‮configuration‬‏ ‏‮to‬‏ ‏‮remove‬‏ ‏‮unused‬‏ ‏‮rules‬‏ ‏‮from‬‏ ‏‮stylesheets‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://purgecss.com/guides/next.html)."
2884
2734
  },
2885
2735
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-javascript": {
2886
- "message": "Use `Webpack Bundle Analyzer` to detect unused JavaScript code. [Learn more](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)"
2736
+ "message": "‏‮Use‬‏ `Webpack Bundle Analyzer` ‏‮to‬‏ ‏‮detect‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮code‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)"
2887
2737
  },
2888
2738
  "node_modules/lighthouse-stack-packs/packs/next.js | user-timings": {
2889
2739
  "message": "‏‮Consider‬‏ ‏‮using‬‏ `Next.js Analytics` ‏‮to‬‏ ‏‮measure‬‏ ‏‮your‬‏ ‏‮app‬‏'‏‮s‬‏ ‏‮real‬‏-‏‮world‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/advanced-features/measuring-performance)."
@@ -2892,7 +2742,7 @@
2892
2742
  "message": "‏‮Configure‬‏ ‏‮caching‬‏ ‏‮for‬‏ ‏‮immutable‬‏ ‏‮assets‬‏ ‏‮and‬‏ `Server-side Rendered` (‏‮SSR‬‏) ‏‮pages‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/going-to-production#caching)."
2893
2743
  },
2894
2744
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
2895
- "message": "Use the `next/image` component instead of `<img>` to adjust image quality. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2745
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮adjust‬‏ ‏‮image‬‏ ‏‮quality‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/basic-features/image-optimization)."
2896
2746
  },
2897
2747
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
2898
2748
  "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮appropriate‬‏ `sizes`. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/api-reference/next/image#sizes)."