fast-replay 0.1.1 → 0.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/README.md +24 -1
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +4 -1
- package/dist/browser.js.map +1 -1
- package/dist/cli/index.js +8 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/compiler/compile.js +27 -1
- package/dist/compiler/compile.js.map +1 -1
- package/dist/compiler/waits.js +7 -1
- package/dist/compiler/waits.js.map +1 -1
- package/dist/ir/schema.d.ts +7 -0
- package/dist/ir/schema.js +18 -0
- package/dist/ir/schema.js.map +1 -1
- package/dist/mcp/server.js +8 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/recorder/agent/capture.js +27 -1
- package/dist/recorder/agent/capture.js.map +1 -1
- package/dist/recorder/agent/selectors.d.ts +7 -0
- package/dist/recorder/agent/selectors.js +14 -1
- package/dist/recorder/agent/selectors.js.map +1 -1
- package/dist/recorder/agent-bundle.generated.d.ts +1 -1
- package/dist/recorder/agent-bundle.generated.js +1 -1
- package/dist/recorder/agent-bundle.generated.js.map +1 -1
- package/dist/recorder/attach.js +4 -0
- package/dist/recorder/attach.js.map +1 -1
- package/dist/recorder/launch.js +1 -0
- package/dist/recorder/launch.js.map +1 -1
- package/dist/recorder/types.d.ts +10 -2
- package/dist/replayer/invariants.js +1 -1
- package/dist/replayer/invariants.js.map +1 -1
- package/dist/replayer/retarget.d.ts +54 -0
- package/dist/replayer/retarget.js +116 -0
- package/dist/replayer/retarget.js.map +1 -0
- package/dist/replayer/run.d.ts +12 -1
- package/dist/replayer/run.js +75 -16
- package/dist/replayer/run.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,11 +43,24 @@ Exit `0` on pass, `1` on fail. On failure you get the failing step, what it does
|
|
|
43
43
|
| Flag | |
|
|
44
44
|
|---|---|
|
|
45
45
|
| `--expect-fixed` | pass when the bug no longer happens |
|
|
46
|
+
| `--env <url>` | replay a repro recorded elsewhere against this deployment |
|
|
46
47
|
| `--headed` | visible browser; some apps refuse headless |
|
|
47
48
|
| `--storage-state <file>` / `--profile <dir>` | get past a login |
|
|
48
49
|
| `--setup <cmd>` | reset state before replaying |
|
|
49
50
|
| `--timeout-scale <n>` | multiply recorded waits, for a slower machine |
|
|
50
51
|
|
|
52
|
+
### Record on staging, verify on localhost
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
repro record checkout-crash --url https://staging.example.com
|
|
56
|
+
# fix the code, then:
|
|
57
|
+
repro run checkout-crash --env http://localhost:3000 --expect-fixed
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
`--env` moves `goto` steps, the app's own network patterns and the captured session onto the target origin. Sibling hosts (`api.example.com`) move with the app; third-party origins are left alone.
|
|
61
|
+
|
|
62
|
+
`-u` is the narrow version — it redirects navigation only, which leaves absolute network patterns unsatisfiable.
|
|
63
|
+
|
|
51
64
|
## From a coding agent
|
|
52
65
|
|
|
53
66
|
```json
|
|
@@ -80,6 +93,16 @@ The recording is JSON, not generated code. It is meant to be read and hand-edite
|
|
|
80
93
|
|
|
81
94
|
Selectors are a ladder: test id → `name` → ARIA role + accessible name → labelled ancestor → stable CSS path → text. Build-generated class names are skipped, and a path unique only by sibling position ranks below the text anchor.
|
|
82
95
|
|
|
96
|
+
### Focus assertions
|
|
97
|
+
|
|
98
|
+
Every step records where focus came to rest (`step.focusedAfter`). Nothing asserts it automatically — copy it into the assertion when it is the thing you care about:
|
|
99
|
+
|
|
100
|
+
```jsonc
|
|
101
|
+
"assertion": { "expectedWhenFixed": { "focused": "[data-testid=\"currency-picker\"]" } }
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Focus restoration (WCAG 2.4.3) leaves no console error, no failed request and no DOM difference, so it is invisible to every other signal — and a deterministic replayer settles it in one line.
|
|
105
|
+
|
|
83
106
|
## Results
|
|
84
107
|
|
|
85
108
|
Measured on one machine, same flow both ways.
|
|
@@ -119,7 +142,7 @@ The CLI and MCP server are both thin wrappers over these.
|
|
|
119
142
|
## Develop
|
|
120
143
|
|
|
121
144
|
```bash
|
|
122
|
-
npm test #
|
|
145
|
+
npm test # 119 tests, unit + real-browser integration
|
|
123
146
|
npm run stress # records once, replays 20x, fails on a single flake
|
|
124
147
|
npm run demo # examples/demo-app
|
|
125
148
|
```
|
package/dist/browser.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface OpenBrowserOptions {
|
|
|
26
26
|
height: number;
|
|
27
27
|
};
|
|
28
28
|
storageStatePath?: string | null;
|
|
29
|
+
/** Pre-rewritten session, used when a repro is retargeted to another origin. */
|
|
30
|
+
storageState?: Record<string, unknown> | null;
|
|
29
31
|
profileDir?: string | null;
|
|
30
32
|
/**
|
|
31
33
|
* Reuse an already-running browser instead of launching one.
|
package/dist/browser.js
CHANGED
|
@@ -20,9 +20,12 @@ export async function openBrowser(options) {
|
|
|
20
20
|
}
|
|
21
21
|
const borrowed = Boolean(options.browser);
|
|
22
22
|
const browser = options.browser ?? (await chromium.launch({ headless }));
|
|
23
|
+
// Playwright accepts either a path or the state itself; a retargeted repro
|
|
24
|
+
// supplies the latter because its origins were rewritten in memory.
|
|
25
|
+
const storageState = options.storageState ?? options.storageStatePath ?? undefined;
|
|
23
26
|
const context = await browser.newContext({
|
|
24
27
|
viewport,
|
|
25
|
-
...(
|
|
28
|
+
...(storageState ? { storageState: storageState } : {}),
|
|
26
29
|
});
|
|
27
30
|
const page = await context.newPage();
|
|
28
31
|
return {
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -62,7 +62,8 @@ program
|
|
|
62
62
|
.argument('<name>', 'name of the repro to replay')
|
|
63
63
|
.option('--headed', 'watch the replay in a visible browser', false)
|
|
64
64
|
.option('--expect-fixed', 'pass when the bug no longer happens — use while fixing', false)
|
|
65
|
-
.option('-u, --url <baseUrl>', 'override
|
|
65
|
+
.option('-u, --url <baseUrl>', 'override where to navigate, nothing else')
|
|
66
|
+
.option('--env <url>', 'replay against another deployment: moves goto steps, the app\'s network patterns and the captured session onto this origin')
|
|
66
67
|
.option('--profile <dir>', 'replay against a persistent Chromium profile (reuses a login)')
|
|
67
68
|
.option('--setup <command>', 'shell command to reset state before replaying')
|
|
68
69
|
.option('--timeout-scale <n>', 'multiply every recorded wait; raise on slow machines', '1')
|
|
@@ -77,6 +78,7 @@ program
|
|
|
77
78
|
name,
|
|
78
79
|
headed: opts.headed,
|
|
79
80
|
baseUrl: opts.url,
|
|
81
|
+
envUrl: opts.env ?? null,
|
|
80
82
|
expectFixed: opts.expectFixed,
|
|
81
83
|
profileDir: opts.profile ?? null,
|
|
82
84
|
setupCommand: opts.setup ?? null,
|
|
@@ -84,6 +86,11 @@ program
|
|
|
84
86
|
// Fallbacks stay cheap probes: half the primary budget.
|
|
85
87
|
resolveTimeouts: { first, subsequent: Math.max(200, Math.round(first / 2)) },
|
|
86
88
|
});
|
|
89
|
+
// Stated before the verdict: a run against the wrong origin looks exactly
|
|
90
|
+
// like a run against the right one until you know which it was.
|
|
91
|
+
const via = opts.env ? ' (retargeted with --env)' : opts.url ? ' (overridden by -u)' : '';
|
|
92
|
+
console.log(dim(` against ${result.baseUrl}${via}`));
|
|
93
|
+
console.log('');
|
|
87
94
|
result.passed ? reportPass(result) : reportFail(result);
|
|
88
95
|
process.exitCode = result.passed ? 0 : 1;
|
|
89
96
|
});
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,+CAA+C,CAAC;IAC7D,yEAAyE;KACxE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACzC,cAAc,CAAC,qBAAqB,EAAE,yDAAyD,CAAC;KAChG,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,GAAG,CAAC;KACnE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kEAAkE,CAAC;KACpG,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;KAC1F,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAI,EAAE,EAAE;IACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC;QACjD,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,QAAQ;QACR,gBAAgB,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;QAC3C,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAChC,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAmC,WAAW,+BAA+B,CAAC,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,CAAC,aAAa,UAAU,GAAG,CAAC,EAAE,CACtG,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,aAAa,IAAI,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,kFAAkF,CAAC,CACxF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;KACjD,MAAM,CAAC,UAAU,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAClE,MAAM,CAAC,gBAAgB,EAAE,wDAAwD,EAAE,KAAK,CAAC;KACzF,MAAM,CAAC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/compile.js
CHANGED
|
@@ -4,6 +4,14 @@ import { isSameOrigin, normalizeUrlPattern } from './normalize.js';
|
|
|
4
4
|
import { buildWaitAfter, DEFAULT_WAIT_RULES } from './waits.js';
|
|
5
5
|
/** A click and a dblclick on the same element this close together are one gesture. */
|
|
6
6
|
const DBLCLICK_MERGE_MS = 600;
|
|
7
|
+
/**
|
|
8
|
+
* Keyboard activation and the click a framework synthesises from it are one
|
|
9
|
+
* gesture. React Native Web turns Enter/Space on a button into a click, so both
|
|
10
|
+
* were recorded; on replay the second one fires after the first already opened
|
|
11
|
+
* a modal, and gets intercepted by the overlay.
|
|
12
|
+
*/
|
|
13
|
+
const KEY_ACTIVATION_MS = 150;
|
|
14
|
+
const ACTIVATION_KEYS = ['Enter', 'Space', ' '];
|
|
7
15
|
/**
|
|
8
16
|
* A navigation this soon after an action is that action's consequence.
|
|
9
17
|
*
|
|
@@ -39,6 +47,21 @@ function mergeDoubleClicks(actions) {
|
|
|
39
47
|
}
|
|
40
48
|
return out;
|
|
41
49
|
}
|
|
50
|
+
/** Drop the click a framework synthesises from a keyboard activation. */
|
|
51
|
+
function dropSynthesizedActivation(actions) {
|
|
52
|
+
return actions.filter((action, i) => {
|
|
53
|
+
if (action.action !== 'click')
|
|
54
|
+
return true;
|
|
55
|
+
const prev = actions[i - 1];
|
|
56
|
+
if (!prev || prev.action !== 'press')
|
|
57
|
+
return true;
|
|
58
|
+
if (!ACTIVATION_KEYS.includes(prev.value ?? ''))
|
|
59
|
+
return true;
|
|
60
|
+
if (action.t - prev.t > KEY_ACTIVATION_MS)
|
|
61
|
+
return true;
|
|
62
|
+
return prev.target?.candidates[0] !== action.target?.candidates[0];
|
|
63
|
+
});
|
|
64
|
+
}
|
|
42
65
|
/**
|
|
43
66
|
* Navigations become steps only when nothing the user did explains them —
|
|
44
67
|
* a typed URL or a back button. A navigation caused by clicking a link is the
|
|
@@ -95,7 +118,7 @@ function collapseScrolls(actions) {
|
|
|
95
118
|
}
|
|
96
119
|
export function compile(trace, options) {
|
|
97
120
|
const rules = options.waitRules ?? DEFAULT_WAIT_RULES;
|
|
98
|
-
const merged = collapseGotos(collapseScrolls(interleaveNavigations(mergeDoubleClicks(trace.actions), trace)));
|
|
121
|
+
const merged = collapseGotos(collapseScrolls(interleaveNavigations(mergeDoubleClicks(dropSynthesizedActivation(trace.actions)), trace)));
|
|
99
122
|
const traceEnd = trace.endedAt || Date.now();
|
|
100
123
|
const steps = merged.map((action, index) => {
|
|
101
124
|
const next = merged[index + 1];
|
|
@@ -116,6 +139,9 @@ export function compile(trace, options) {
|
|
|
116
139
|
if (action.target) {
|
|
117
140
|
step.target = { candidates: action.target.candidates, semantic: action.target.semantic };
|
|
118
141
|
}
|
|
142
|
+
const settled = trace.focus.filter((f) => f.t >= action.t && f.t <= windowEnd).pop();
|
|
143
|
+
if (settled)
|
|
144
|
+
step.focusedAfter = settled.selector;
|
|
119
145
|
return step;
|
|
120
146
|
});
|
|
121
147
|
dropRerenderChurn(steps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/waits.js
CHANGED
|
@@ -47,7 +47,13 @@ export function buildWaitAfter(window, rules = DEFAULT_WAIT_RULES) {
|
|
|
47
47
|
const domGone = uniq(goneAll.filter((s) => !flicker.has(s)), rules.maxSelectors);
|
|
48
48
|
const hasSignal = network.length > 0 || domAppeared.length > 0 || domGone.length > 0;
|
|
49
49
|
if (!hasSignal) {
|
|
50
|
-
|
|
50
|
+
// Only assert idle if the app was in fact idle. An app holding a websocket
|
|
51
|
+
// or a long poll open — chat, live data, anything realtime — never goes
|
|
52
|
+
// idle, so recording it as a required signal made step one fail forever.
|
|
53
|
+
const wentIdle = !window.network.some((n) => n.startedAt <= windowEnd && (n.settledAt === null || n.settledAt > windowEnd));
|
|
54
|
+
return wentIdle
|
|
55
|
+
? { timeoutMs: rules.emptyTimeoutMs, networkIdle: true }
|
|
56
|
+
: { timeoutMs: rules.emptyTimeoutMs };
|
|
51
57
|
}
|
|
52
58
|
// Budget from what actually happened: a 1.5s endpoint earns a generous
|
|
53
59
|
// ceiling, an instant one fails fast instead of hanging on a fixed default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waits.js","sourceRoot":"","sources":["../../src/compiler/waits.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAgBrD,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,eAAe,EAAE,GAAG;IACpB,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;CAChB,CAAC;AAUF,SAAS,IAAI,CAAC,MAAgB,EAAE,GAAW;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsB,EACtB,QAAmB,kBAAkB;IAErC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEhD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,SAAS,IAAI,QAAQ;QACvB,CAAC,CAAC,SAAS,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe;QAC/C,CAAC,CAAC,SAAS,KAAK,IAAI;QACpB,CAAC,CAAC,SAAS,IAAI,SAAS,CAC3B,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEjD,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,CACtB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC1C,KAAK,CAAC,YAAY,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAClB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACtC,KAAK,CAAC,YAAY,CACnB,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"waits.js","sourceRoot":"","sources":["../../src/compiler/waits.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAgBrD,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,eAAe,EAAE,GAAG;IACpB,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;CAChB,CAAC;AAUF,SAAS,IAAI,CAAC,MAAgB,EAAE,GAAW;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsB,EACtB,QAAmB,kBAAkB;IAErC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEhD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,SAAS,IAAI,QAAQ;QACvB,CAAC,CAAC,SAAS,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe;QAC/C,CAAC,CAAC,SAAS,KAAK,IAAI;QACpB,CAAC,CAAC,SAAS,IAAI,SAAS,CAC3B,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEjD,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,CACtB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC1C,KAAK,CAAC,YAAY,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAClB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACtC,KAAK,CAAC,YAAY,CACnB,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CACrF,CAAC;QACF,OAAO,QAAQ;YACb,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;YACxD,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,WAAW,GAAG;QAClB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAC7D,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;KACxC,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,KAAK,CAAC,YAAY,EAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CACrF,CAAC;IAEF,MAAM,IAAI,GAAc,EAAE,SAAS,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3C,IAAI,WAAW,CAAC,MAAM;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/ir/schema.d.ts
CHANGED
|
@@ -70,6 +70,7 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
70
70
|
networkIdle: z.ZodOptional<z.ZodBoolean>;
|
|
71
71
|
timeoutMs: z.ZodNumber;
|
|
72
72
|
}, z.core.$strip>;
|
|
73
|
+
focusedAfter: z.ZodOptional<z.ZodString>;
|
|
73
74
|
author: z.ZodDefault<z.ZodEnum<{
|
|
74
75
|
human: "human";
|
|
75
76
|
agent: "agent";
|
|
@@ -103,6 +104,7 @@ export declare const FinalStateSchema: z.ZodObject<{
|
|
|
103
104
|
urlPattern: z.ZodString;
|
|
104
105
|
method: z.ZodString;
|
|
105
106
|
}, z.core.$strip>>>;
|
|
107
|
+
focused: z.ZodOptional<z.ZodString>;
|
|
106
108
|
}, z.core.$strip>;
|
|
107
109
|
export type FinalState = z.infer<typeof FinalStateSchema>;
|
|
108
110
|
export declare const AssertionSchema: z.ZodObject<{
|
|
@@ -117,6 +119,7 @@ export declare const AssertionSchema: z.ZodObject<{
|
|
|
117
119
|
urlPattern: z.ZodString;
|
|
118
120
|
method: z.ZodString;
|
|
119
121
|
}, z.core.$strip>>>;
|
|
122
|
+
focused: z.ZodOptional<z.ZodString>;
|
|
120
123
|
}, z.core.$strip>;
|
|
121
124
|
expectedWhenFixed: z.ZodOptional<z.ZodObject<{
|
|
122
125
|
domAppeared: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -125,6 +128,7 @@ export declare const AssertionSchema: z.ZodObject<{
|
|
|
125
128
|
urlPattern: z.ZodString;
|
|
126
129
|
method: z.ZodString;
|
|
127
130
|
}, z.core.$strip>>>;
|
|
131
|
+
focused: z.ZodOptional<z.ZodString>;
|
|
128
132
|
}, z.core.$strip>>;
|
|
129
133
|
invariants: z.ZodObject<{
|
|
130
134
|
noConsoleErrors: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -184,6 +188,7 @@ export declare const ReproSchema: z.ZodObject<{
|
|
|
184
188
|
networkIdle: z.ZodOptional<z.ZodBoolean>;
|
|
185
189
|
timeoutMs: z.ZodNumber;
|
|
186
190
|
}, z.core.$strip>;
|
|
191
|
+
focusedAfter: z.ZodOptional<z.ZodString>;
|
|
187
192
|
author: z.ZodDefault<z.ZodEnum<{
|
|
188
193
|
human: "human";
|
|
189
194
|
agent: "agent";
|
|
@@ -201,6 +206,7 @@ export declare const ReproSchema: z.ZodObject<{
|
|
|
201
206
|
urlPattern: z.ZodString;
|
|
202
207
|
method: z.ZodString;
|
|
203
208
|
}, z.core.$strip>>>;
|
|
209
|
+
focused: z.ZodOptional<z.ZodString>;
|
|
204
210
|
}, z.core.$strip>;
|
|
205
211
|
expectedWhenFixed: z.ZodOptional<z.ZodObject<{
|
|
206
212
|
domAppeared: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -209,6 +215,7 @@ export declare const ReproSchema: z.ZodObject<{
|
|
|
209
215
|
urlPattern: z.ZodString;
|
|
210
216
|
method: z.ZodString;
|
|
211
217
|
}, z.core.$strip>>>;
|
|
218
|
+
focused: z.ZodOptional<z.ZodString>;
|
|
212
219
|
}, z.core.$strip>>;
|
|
213
220
|
invariants: z.ZodObject<{
|
|
214
221
|
noConsoleErrors: z.ZodDefault<z.ZodBoolean>;
|
package/dist/ir/schema.js
CHANGED
|
@@ -53,6 +53,15 @@ export const StepSchema = z.object({
|
|
|
53
53
|
/** Absent for `goto`, which addresses a URL rather than an element. */
|
|
54
54
|
target: TargetSchema.optional(),
|
|
55
55
|
waitAfter: WaitAfterSchema,
|
|
56
|
+
/**
|
|
57
|
+
* Where keyboard focus came to rest after this step, as a CSS selector.
|
|
58
|
+
*
|
|
59
|
+
* Recorded for information, never asserted automatically — focus is easily
|
|
60
|
+
* perturbed, and a check nobody asked for that fails on a healthy app is how
|
|
61
|
+
* a tool gets switched off. Copy it into `assertion.expectedWhenFixed.focused`
|
|
62
|
+
* to make it a criterion.
|
|
63
|
+
*/
|
|
64
|
+
focusedAfter: z.string().optional(),
|
|
56
65
|
author: AuthorSchema.default('human'),
|
|
57
66
|
});
|
|
58
67
|
/**
|
|
@@ -86,6 +95,15 @@ export const FinalStateSchema = z.object({
|
|
|
86
95
|
domAppeared: z.array(z.string()).optional(),
|
|
87
96
|
domGone: z.array(z.string()).optional(),
|
|
88
97
|
network: z.array(NetworkWaitSchema).optional(),
|
|
98
|
+
/**
|
|
99
|
+
* CSS selector the focused element must match.
|
|
100
|
+
*
|
|
101
|
+
* Focus restoration is a large, under-tested class of accessibility bug
|
|
102
|
+
* (WCAG 2.4.3): close a dialog and focus lands on `body` instead of returning
|
|
103
|
+
* to the control that opened it. Deterministic replay can settle that in one
|
|
104
|
+
* line — `"focused": "button[aria-label^=\"Select a currency\"]"`.
|
|
105
|
+
*/
|
|
106
|
+
focused: z.string().optional(),
|
|
89
107
|
});
|
|
90
108
|
export const AssertionSchema = z.object({
|
|
91
109
|
/**
|
package/dist/ir/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/ir/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/ir/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -108,7 +108,11 @@ export function createReplayServer(root = process.cwd()) {
|
|
|
108
108
|
.boolean()
|
|
109
109
|
.optional()
|
|
110
110
|
.describe('True while verifying a fix: pass when the bug does NOT occur. False (default) asserts the bug still reproduces.'),
|
|
111
|
-
base_url: z.string().optional().describe('Override
|
|
111
|
+
base_url: z.string().optional().describe('Override where to navigate, nothing else.'),
|
|
112
|
+
env_url: z
|
|
113
|
+
.string()
|
|
114
|
+
.optional()
|
|
115
|
+
.describe("Replay against another deployment of the same app: moves goto steps, the app's own network patterns and the captured session onto this origin. Use this to verify a fix locally on a repro recorded against staging or production."),
|
|
112
116
|
headed: z
|
|
113
117
|
.boolean()
|
|
114
118
|
.optional()
|
|
@@ -126,7 +130,7 @@ export function createReplayServer(root = process.cwd()) {
|
|
|
126
130
|
.optional()
|
|
127
131
|
.describe('Multiply every recorded wait. Raise it when replaying somewhere slower than the machine that recorded.'),
|
|
128
132
|
},
|
|
129
|
-
}, async ({ name, expect_fixed = false, base_url, headed, profile_dir, setup_command, timeout_scale }) => {
|
|
133
|
+
}, async ({ name, expect_fixed = false, base_url, env_url, headed, profile_dir, setup_command, timeout_scale }) => {
|
|
130
134
|
const result = await run({
|
|
131
135
|
name,
|
|
132
136
|
root,
|
|
@@ -139,6 +143,7 @@ export function createReplayServer(root = process.cwd()) {
|
|
|
139
143
|
...(setup_command ? { setupCommand: setup_command } : {}),
|
|
140
144
|
...(timeout_scale ? { timeoutScale: timeout_scale } : {}),
|
|
141
145
|
...(base_url ? { baseUrl: base_url } : {}),
|
|
146
|
+
...(env_url ? { envUrl: env_url } : {}),
|
|
142
147
|
});
|
|
143
148
|
const artifacts = result.failure?.artifacts ?? null;
|
|
144
149
|
const consoleTail = await tail(artifacts?.consoleLog ?? null, 50);
|
|
@@ -173,6 +178,7 @@ export function createReplayServer(root = process.cwd()) {
|
|
|
173
178
|
: null,
|
|
174
179
|
failureKind: result.failure?.kind ?? null,
|
|
175
180
|
invariantViolations: result.invariantViolations,
|
|
181
|
+
baseUrl: result.baseUrl,
|
|
176
182
|
screenshot: result.finalScreenshot,
|
|
177
183
|
},
|
|
178
184
|
};
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isEditable } from './roles.js';
|
|
2
|
-
import { describe } from './selectors.js';
|
|
2
|
+
import { cssSelectorFor, describe } from './selectors.js';
|
|
3
3
|
import { clean } from './text.js';
|
|
4
4
|
/**
|
|
5
5
|
* Turns raw DOM events into recorded actions.
|
|
@@ -20,6 +20,13 @@ const ECHO_WINDOW_MS = 30;
|
|
|
20
20
|
* separate gestures.
|
|
21
21
|
*/
|
|
22
22
|
const GESTURE_WINDOW_MS = 1_000;
|
|
23
|
+
/**
|
|
24
|
+
* How long focus must hold still before it counts as having landed.
|
|
25
|
+
*
|
|
26
|
+
* Focus bounces during a transition — a modal takes it, a guard passes it on —
|
|
27
|
+
* and only where it comes to rest describes the state a user is left in.
|
|
28
|
+
*/
|
|
29
|
+
const FOCUS_SETTLE_MS = 120;
|
|
23
30
|
/** Keys that carry meaning outside a text field. */
|
|
24
31
|
const MEANINGFUL_KEYS = [
|
|
25
32
|
'Enter',
|
|
@@ -133,6 +140,20 @@ export function installCapture(ctx) {
|
|
|
133
140
|
transport.emit(ev);
|
|
134
141
|
return true;
|
|
135
142
|
}
|
|
143
|
+
let focusTimer = null;
|
|
144
|
+
let lastFocus = null;
|
|
145
|
+
function noteFocusChange() {
|
|
146
|
+
if (focusTimer)
|
|
147
|
+
clearTimeout(focusTimer);
|
|
148
|
+
focusTimer = setTimeout(() => {
|
|
149
|
+
const el = document.activeElement;
|
|
150
|
+
const selector = el ? cssSelectorFor(el) : null;
|
|
151
|
+
if (!selector || selector === lastFocus)
|
|
152
|
+
return;
|
|
153
|
+
lastFocus = selector;
|
|
154
|
+
transport.emit({ kind: 'focus', selector, t: Date.now() });
|
|
155
|
+
}, FOCUS_SETTLE_MS);
|
|
156
|
+
}
|
|
136
157
|
/** Emit the preceding hover first, when that hover is what revealed this target. */
|
|
137
158
|
function flushRevealingHover(actionTarget) {
|
|
138
159
|
const hovered = reveals.takeLoadBearingHover(actionTarget);
|
|
@@ -178,7 +199,12 @@ export function installCapture(ctx) {
|
|
|
178
199
|
const el = targetOf(e);
|
|
179
200
|
if (el && isEditable(el))
|
|
180
201
|
focusValue.set(el, valueOf(el));
|
|
202
|
+
noteFocusChange();
|
|
181
203
|
});
|
|
204
|
+
// Focus lost to nothing fires focusout with no matching focusin, and that is
|
|
205
|
+
// precisely the accessibility bug worth catching: closing a dialog and
|
|
206
|
+
// dropping focus on <body> instead of returning it to whatever opened it.
|
|
207
|
+
on('focusout', () => noteFocusChange());
|
|
182
208
|
on('mouseover', (e) => {
|
|
183
209
|
const el = targetOf(e);
|
|
184
210
|
if (el)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/recorder/agent/capture.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/recorder/agent/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,13 @@ export declare function roleNameSelector(el: Element): string | null;
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function appearedSelector(el: Element): string | null;
|
|
11
11
|
export declare function goneSelector(el: Element): string | null;
|
|
12
|
+
/**
|
|
13
|
+
* A selector `Element.matches()` can evaluate.
|
|
14
|
+
*
|
|
15
|
+
* Focus is checked against the live `document.activeElement`, which rules out
|
|
16
|
+
* Playwright's `role=` and `text=` engines — those exist only in the driver.
|
|
17
|
+
*/
|
|
18
|
+
export declare function cssSelectorFor(el: Element): string | null;
|
|
12
19
|
export declare function buildCssPath(el: Element): string | null;
|
|
13
20
|
/**
|
|
14
21
|
* Candidates in priority order:
|