browsertime 27.0.2 → 27.0.4
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 +8 -0
- package/browserscripts/pageinfo/interactionToNextPaintInfo.js +7 -0
- package/browserscripts/timings/interactionToNextPaint.js +7 -0
- package/lib/safari/native/ios-capture +0 -0
- package/lib/safari/native/ios-capture.m +1 -1
- package/lib/safari/webdriver/safari.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Browsertime changelog (we do [semantic versioning](https://semver.org))
|
|
2
2
|
|
|
3
|
+
## 27.0.4 - 2026-05-05
|
|
4
|
+
### Fixed
|
|
5
|
+
* Fix Safari iOS video time scale [#2457](https://github.com/sitespeedio/browsertime/pull/2457). This make the video and Safari metric match.
|
|
6
|
+
|
|
7
|
+
## 27.0.3 - 2026-05-04
|
|
8
|
+
### Fixed
|
|
9
|
+
* Fix so INP only is calculated on interactions with an id [#2456](https://github.com/sitespeedio/browsertime/pull/2456).
|
|
10
|
+
|
|
3
11
|
## 27.0.2 - 2026-05-02
|
|
4
12
|
|
|
5
13
|
### Fixed
|
|
@@ -106,6 +106,13 @@
|
|
|
106
106
|
const longestInteractionList = [];
|
|
107
107
|
const longestInteractionMap = {};
|
|
108
108
|
for (let entry of entries) {
|
|
109
|
+
// web-vitals only counts entries the browser tagged as part of a
|
|
110
|
+
// discrete interaction; bare events like a `pointerover` fired by
|
|
111
|
+
// a stationary OS cursor get interactionId === 0 and must be
|
|
112
|
+
// skipped. Without this guard automated runs report a synthetic
|
|
113
|
+
// INP whenever the cursor happens to be over content as it paints.
|
|
114
|
+
// See https://github.com/GoogleChrome/web-vitals/blob/main/src/lib/interactions.ts
|
|
115
|
+
if (!entry.interactionId) continue;
|
|
109
116
|
var minLongestInteraction =
|
|
110
117
|
longestInteractionList[longestInteractionList.length - 1];
|
|
111
118
|
var existingInteraction = longestInteractionMap[entry.interactionId];
|
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
const longestInteractionList = [];
|
|
10
10
|
const longestInteractionMap = {};
|
|
11
11
|
for (let entry of entries) {
|
|
12
|
+
// web-vitals only counts entries the browser tagged as part of a
|
|
13
|
+
// discrete interaction; bare events like a `pointerover` fired by
|
|
14
|
+
// a stationary OS cursor get interactionId === 0 and must be
|
|
15
|
+
// skipped. Without this guard automated runs report a synthetic
|
|
16
|
+
// INP whenever the cursor happens to be over content as it paints.
|
|
17
|
+
// See https://github.com/GoogleChrome/web-vitals/blob/main/src/lib/interactions.ts
|
|
18
|
+
if (!entry.interactionId) continue;
|
|
12
19
|
var minLongestInteraction =
|
|
13
20
|
longestInteractionList[longestInteractionList.length - 1];
|
|
14
21
|
var existingInteraction = longestInteractionMap[entry.interactionId];
|
|
Binary file
|
|
@@ -234,7 +234,7 @@ int main(int argc, const char *argv[]) {
|
|
|
234
234
|
signal(SIGINT, handleSignal);
|
|
235
235
|
signal(SIGTERM, handleSignal);
|
|
236
236
|
|
|
237
|
-
int framerate =
|
|
237
|
+
int framerate = 60;
|
|
238
238
|
for (int i = 1; i < argc; i++) {
|
|
239
239
|
if (strcmp(argv[i], "-r") == 0 && i + 1 < argc) {
|
|
240
240
|
framerate = atoi(argv[++i]);
|
|
@@ -142,7 +142,7 @@ export class Safari {
|
|
|
142
142
|
);
|
|
143
143
|
|
|
144
144
|
log.debug('Starting ios-capture server');
|
|
145
|
-
this.iosCaptureProcess = execa(iosCaptureCommand, ['-r', '
|
|
145
|
+
this.iosCaptureProcess = execa(iosCaptureCommand, ['-r', '60'], {
|
|
146
146
|
stdin: 'pipe',
|
|
147
147
|
stdout: 'pipe',
|
|
148
148
|
stderr: 'pipe',
|
package/package.json
CHANGED