browsertime 16.2.0 → 16.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Browsertime changelog (we do [semantic versioning](https://semver.org))
2
2
 
3
+ ## 16.3.0 - 2022-05-07
4
+ ### Added
5
+ * If you use `--visualElements` and the browser supports the Largest Contentful API, we also record
6
+ the LCP from the video. This will help the Chrome team and other browser teams to get it right (see [https://bugs.chromium.org/p/chromium/issues/detail?id=1291502](https://bugs.chromium.org/p/chromium/issues/detail?id=1291502)) [#1782](https://github.com/sitespeedio/browsertime/pull/1782).
7
+
8
+ ## 16.2.2 - 2022-05-06
9
+ ### Fixed
10
+ * The Docker container uses Ubuntu 20 again (instead of 22) since there's been multiple problems (running on ARM and on some cloud services).
11
+
12
+ ## 16.2.1 - 2022-05-04
13
+
14
+ ### Fixed
15
+ * Add an acceptable error of 5 pixels to last frame matches for the visual metric portable script, thank you [Gregory Mierzwinski](https://github.com/gmierz) for PR [#1780](https://github.com/sitespeedio/browsertime/pull/1780).
3
16
  ## 16.2.0 - 2022-05-01
4
17
  ### Added
5
18
  * Updated to Chrome and Chromedriver 101 [#1773](https://github.com/sitespeedio/browsertime/pull/1773).
@@ -125,6 +125,21 @@
125
125
  }
126
126
  });
127
127
 
128
+ // If the browser support largest contentful paint, get that element as well
129
+ const supported = PerformanceObserver.supportedEntryTypes;
130
+ if (supported && supported.indexOf('largest-contentful-paint') > -1) {
131
+ const observer = new PerformanceObserver(list => {});
132
+ observer.observe({ type: 'largest-contentful-paint', buffered: true });
133
+ const entries = observer.takeRecords();
134
+ if (entries.length > 0) {
135
+ const largestEntry = entries[entries.length - 1];
136
+ if (isElementPartlyInViewportAndVisible(largestEntry.element)) {
137
+ keepLargestElementByType('LargestContentfulPaint', largestEntry.element);
138
+ }
139
+ }
140
+ }
141
+
142
+
128
143
  // We need to follow the standard for VisualMetrics
129
144
  return {
130
145
  viewport: {
@@ -1134,7 +1134,7 @@ def eliminate_duplicate_frames(directory, cropped, is_mobile):
1134
1134
  baseline = files[0]
1135
1135
  previous_frame = baseline
1136
1136
  for i in range(1, count):
1137
- if frames_match(baseline, files[i], 15, 0, crop, None):
1137
+ if frames_match(baseline, files[i], 15, 5, crop, None):
1138
1138
  if previous_frame is baseline:
1139
1139
  duplicates.append(previous_frame)
1140
1140
  else:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "description": "Browsertime",
3
- "version": "16.2.0",
3
+ "version": "16.3.0",
4
4
  "bin": "./bin/browsertime.js",
5
5
  "dependencies": {
6
6
  "@cypress/xvfb": "1.2.4",