@applitools/eyes-storybook 3.64.3 → 3.64.5
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 +187 -0
- package/package.json +10 -10
- package/src/eyesStorybook.js +8 -1
- package/src/renderStories.js +7 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,192 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.64.5](https://github.com/Applitools-Dev/sdk/compare/js/eyes-storybook@3.64.4...js/eyes-storybook@3.64.5) (2026-03-08)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* @applitools/utils bumped to 1.14.2
|
|
14
|
+
#### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
17
|
+
* @applitools/logger bumped to 2.2.9
|
|
18
|
+
#### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
* @applitools/dom-shared bumped to 1.1.2
|
|
25
|
+
#### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
28
|
+
* @applitools/dom-snapshot bumped to 4.15.11
|
|
29
|
+
#### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
* @applitools/socket bumped to 1.3.10
|
|
36
|
+
#### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
* @applitools/req bumped to 1.9.1
|
|
43
|
+
#### Bug Fixes
|
|
44
|
+
|
|
45
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
* @applitools/image bumped to 1.2.8
|
|
50
|
+
#### Bug Fixes
|
|
51
|
+
|
|
52
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
* @applitools/snippets bumped to 2.7.1
|
|
57
|
+
#### Bug Fixes
|
|
58
|
+
|
|
59
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
60
|
+
* @applitools/dom-capture bumped to 11.6.11
|
|
61
|
+
#### Bug Fixes
|
|
62
|
+
|
|
63
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
* @applitools/driver bumped to 1.25.2
|
|
68
|
+
#### Bug Fixes
|
|
69
|
+
|
|
70
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
* @applitools/spec-driver-webdriver bumped to 1.5.7
|
|
75
|
+
#### Bug Fixes
|
|
76
|
+
|
|
77
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
* @applitools/spec-driver-selenium bumped to 1.7.13
|
|
82
|
+
#### Bug Fixes
|
|
83
|
+
|
|
84
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
* @applitools/spec-driver-puppeteer bumped to 1.7.2
|
|
89
|
+
#### Bug Fixes
|
|
90
|
+
|
|
91
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
* @applitools/screenshoter bumped to 3.12.15
|
|
96
|
+
#### Bug Fixes
|
|
97
|
+
|
|
98
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
* @applitools/nml-client bumped to 1.11.19
|
|
103
|
+
#### Bug Fixes
|
|
104
|
+
|
|
105
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
* @applitools/tunnel-client bumped to 1.11.8
|
|
110
|
+
#### Bug Fixes
|
|
111
|
+
|
|
112
|
+
* audit fix for fastify node >=20 ([#3578](https://github.com/Applitools-Dev/sdk/issues/3578)) ([7c7b9b2](https://github.com/Applitools-Dev/sdk/commit/7c7b9b295b68285d585092dd71b99a4e148c6f55))
|
|
113
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
* @applitools/ufg-client bumped to 1.19.4
|
|
118
|
+
#### Bug Fixes
|
|
119
|
+
|
|
120
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
* @applitools/core-base bumped to 1.32.1
|
|
125
|
+
#### Bug Fixes
|
|
126
|
+
|
|
127
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
* @applitools/ec-client bumped to 1.12.21
|
|
132
|
+
#### Bug Fixes
|
|
133
|
+
|
|
134
|
+
* audit fix for fastify node >=20 ([#3578](https://github.com/Applitools-Dev/sdk/issues/3578)) ([7c7b9b2](https://github.com/Applitools-Dev/sdk/commit/7c7b9b295b68285d585092dd71b99a4e148c6f55))
|
|
135
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
* @applitools/core bumped to 4.57.2
|
|
140
|
+
#### Bug Fixes
|
|
141
|
+
|
|
142
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
* @applitools/eyes bumped to 1.38.8
|
|
147
|
+
#### Bug Fixes
|
|
148
|
+
|
|
149
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
* @applitools/snaptdout bumped to 1.1.1
|
|
154
|
+
#### Bug Fixes
|
|
155
|
+
|
|
156
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
157
|
+
* @applitools/test-server bumped to 1.4.1
|
|
158
|
+
#### Bug Fixes
|
|
159
|
+
|
|
160
|
+
* unskip js/mcp ([#3618](https://github.com/Applitools-Dev/sdk/issues/3618)) ([103f9e2](https://github.com/Applitools-Dev/sdk/commit/103f9e2f18cddc225aba2f2f59556e5fa38965c0))
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
## [3.64.4](https://github.com/Applitools-Dev/sdk/compare/js/eyes-storybook@3.64.3...js/eyes-storybook@3.64.4) (2026-03-08)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
### Bug Fixes
|
|
169
|
+
|
|
170
|
+
* context cleanup before timeout ([#3416](https://github.com/Applitools-Dev/sdk/issues/3416)) ([66afafb](https://github.com/Applitools-Dev/sdk/commit/66afafb5f2962b6b8a5193356cb3f4d32f3c486c))
|
|
171
|
+
* improve page replenishment logic in renderStories | FLD-4200 ([#3602](https://github.com/Applitools-Dev/sdk/issues/3602)) ([a7b3148](https://github.com/Applitools-Dev/sdk/commit/a7b31485382f4f366c87806a864cc8e9a7f85715))
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### Dependencies
|
|
175
|
+
|
|
176
|
+
* @applitools/dom-capture bumped to 11.6.10
|
|
177
|
+
#### Bug Fixes
|
|
178
|
+
|
|
179
|
+
* handle empty data URLs in CSS extraction | FLD-4158 ([#3606](https://github.com/Applitools-Dev/sdk/issues/3606)) ([8adef70](https://github.com/Applitools-Dev/sdk/commit/8adef702c7136b0b4a15f150b3d7ca6f649b30a2))
|
|
180
|
+
* @applitools/core bumped to 4.57.1
|
|
181
|
+
#### Bug Fixes
|
|
182
|
+
|
|
183
|
+
* remove checkNetwork from public API, add unit tests ([#3598](https://github.com/Applitools-Dev/sdk/issues/3598)) ([d0a70a3](https://github.com/Applitools-Dev/sdk/commit/d0a70a3b7319aab6e1ca9dbca5e6a94069955447))
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
* @applitools/eyes bumped to 1.38.7
|
|
188
|
+
|
|
189
|
+
|
|
3
190
|
## [3.64.3](https://github.com/Applitools-Dev/sdk/compare/js/eyes-storybook@3.64.2...js/eyes-storybook@3.64.3) (2026-03-02)
|
|
4
191
|
|
|
5
192
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-storybook",
|
|
3
|
-
"version": "3.64.
|
|
3
|
+
"version": "3.64.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"applitools",
|
|
@@ -59,15 +59,15 @@
|
|
|
59
59
|
"up:framework": "cd test/fixtures/storybook-versions/${APPLITOOLS_FRAMEWORK_VERSION} && npm ci"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@applitools/core": "4.57.
|
|
63
|
-
"@applitools/driver": "1.25.
|
|
64
|
-
"@applitools/eyes": "1.38.
|
|
62
|
+
"@applitools/core": "4.57.2",
|
|
63
|
+
"@applitools/driver": "1.25.2",
|
|
64
|
+
"@applitools/eyes": "1.38.8",
|
|
65
65
|
"@applitools/functional-commons": "1.6.0",
|
|
66
|
-
"@applitools/logger": "2.2.
|
|
66
|
+
"@applitools/logger": "2.2.9",
|
|
67
67
|
"@applitools/monitoring-commons": "1.0.19",
|
|
68
|
-
"@applitools/spec-driver-puppeteer": "1.7.
|
|
69
|
-
"@applitools/ufg-client": "1.19.
|
|
70
|
-
"@applitools/utils": "1.14.
|
|
68
|
+
"@applitools/spec-driver-puppeteer": "1.7.2",
|
|
69
|
+
"@applitools/ufg-client": "1.19.4",
|
|
70
|
+
"@applitools/utils": "1.14.2",
|
|
71
71
|
"@inquirer/prompts": "7.0.1",
|
|
72
72
|
"boxen": "4.2.0",
|
|
73
73
|
"chalk": "3.0.0",
|
|
@@ -82,8 +82,8 @@
|
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@applitools/bongo": "^5.10.0",
|
|
85
|
-
"@applitools/snaptdout": "^1.1.
|
|
86
|
-
"@applitools/test-server": "^1.4.
|
|
85
|
+
"@applitools/snaptdout": "^1.1.1",
|
|
86
|
+
"@applitools/test-server": "^1.4.1",
|
|
87
87
|
"@applitools/test-utils": "^1.5.17",
|
|
88
88
|
"@storybook/addon-interactions": "^6.4.18",
|
|
89
89
|
"@storybook/react": "^6.5.16",
|
package/src/eyesStorybook.js
CHANGED
|
@@ -250,7 +250,11 @@ async function eyesStorybook({
|
|
|
250
250
|
async function getStoriesWithSpinner() {
|
|
251
251
|
let firstAttemptContext;
|
|
252
252
|
let secondAttemptContext;
|
|
253
|
+
let secondAttemptTimer;
|
|
254
|
+
let winnerFound = false;
|
|
253
255
|
async function attemptNavigate(timeout, waitUntil, isSecondAttempt = false) {
|
|
256
|
+
// If a winner was already found, avoid creating a new context for the second attempt
|
|
257
|
+
if (isSecondAttempt && winnerFound) return {ok: false};
|
|
254
258
|
const contextObj = await createContext({browser, config, logger});
|
|
255
259
|
if (isSecondAttempt) secondAttemptContext = contextObj;
|
|
256
260
|
else firstAttemptContext = contextObj;
|
|
@@ -278,7 +282,7 @@ async function eyesStorybook({
|
|
|
278
282
|
// Start second attempt after 30 seconds with 2x timeout
|
|
279
283
|
const secondAttempt = enableTimeoutRetryMechanism
|
|
280
284
|
? new Promise(resolve => {
|
|
281
|
-
setTimeout(() => {
|
|
285
|
+
secondAttemptTimer = setTimeout(() => {
|
|
282
286
|
attemptNavigate(readStoriesTimeout * 2, navigationWaitUntil, true).then(resolve);
|
|
283
287
|
}, timeoutRetry);
|
|
284
288
|
})
|
|
@@ -323,6 +327,7 @@ async function eyesStorybook({
|
|
|
323
327
|
}
|
|
324
328
|
|
|
325
329
|
async function cleanupContext(winnerPage) {
|
|
330
|
+
if (secondAttemptTimer) clearTimeout(secondAttemptTimer);
|
|
326
331
|
if (winnerPage === firstAttemptContext?.page && secondAttemptContext) {
|
|
327
332
|
try {
|
|
328
333
|
await secondAttemptContext.page.close();
|
|
@@ -345,6 +350,7 @@ async function eyesStorybook({
|
|
|
345
350
|
// Wait for the first successful navigation
|
|
346
351
|
return Promise.race([firstAttempt, secondAttempt]).then(async result => {
|
|
347
352
|
if (result.ok) {
|
|
353
|
+
winnerFound = true;
|
|
348
354
|
await cleanupContext(result.page);
|
|
349
355
|
return handleReadStories(result.page);
|
|
350
356
|
}
|
|
@@ -352,6 +358,7 @@ async function eyesStorybook({
|
|
|
352
358
|
return Promise.all([firstAttempt, secondAttempt]).then(async results => {
|
|
353
359
|
const success = results.find(r => r.ok);
|
|
354
360
|
if (success) {
|
|
361
|
+
winnerFound = true;
|
|
355
362
|
await cleanupContext(success.page);
|
|
356
363
|
return handleReadStories(success.page);
|
|
357
364
|
}
|
package/src/renderStories.js
CHANGED
|
@@ -67,15 +67,17 @@ function makeRenderStories({
|
|
|
67
67
|
`[sparePages] new page ${pageId} is corrupted. preparing new page.`,
|
|
68
68
|
errorInSanity,
|
|
69
69
|
);
|
|
70
|
-
// If the page is corrupted, we close it and try again
|
|
70
|
+
// If the page is corrupted, we close it and try again below
|
|
71
71
|
page.close().catch(() => {});
|
|
72
72
|
}
|
|
73
73
|
} finally {
|
|
74
74
|
this.isPreparing = false;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
}
|
|
76
|
+
// If we are still empty (sanity check failed), try again.
|
|
77
|
+
// Note: this runs only when createPage succeeded but sanityCheck failed,
|
|
78
|
+
// because a failed createPage returns early above.
|
|
79
|
+
if (this.queue.length === 0) {
|
|
80
|
+
this.replenish();
|
|
79
81
|
}
|
|
80
82
|
},
|
|
81
83
|
};
|