morluto
2a0410f171
fix(browser)!: bind session timelines to the observation window
...
Sample the browser monotonic clock with observation already subscribed, filter historical lifecycle and network facts, and preserve scope and termination handling when event time is unknown.
Bound pre-arm retention using transport-owned wire bytes. Fail closed when the relevant-event buffer fills, and keep unrelated protocol payloads outside that budget.
BREAKING CHANGE: observe_web_session timeline timestamps can be null when the producer supplies no comparable timestamp. Consumers must handle unknown time explicitly.
Refs #5609
2026-10-21 03:27:31 +08:00
morluto
7f4e7d5577
fix(browser): preserve caller cancellation through CDP observations
2026-10-19 14:00:01 +08:00
Ysopwnable
2a2a33ad92
fix(browser): confirm service-worker cancellation cleanup ( #4010 )
...
* fix(browser): confirm service-worker cancellation cleanup
* fix(browser): restore policy after setup failure
* fix(browser): transfer cancelled navigation cleanup
* fix(browser): retain cancellation ownership across retries
* fix(browser): confirm storage navigation cleanup
2026-10-15 20:08:30 +08:00
morluto
bffdd91053
fix(browser): preserve malformed capture gaps and protocol session identity
2026-10-14 09:49:49 +08:00
morluto
7b25a73ac4
fix(browser): bound CDP messages by the shared budget
...
Apply the 64 MiB protocol message limit when connect callers omit an override. Reject invalid explicit limits, including values that wrap through ws signed 32-bit coercion and disable enforcement. Preserve the typed payload_limit reason through disconnect and later commands.
Validation: 16 transport boundary tests passed, including UTF-8 exact/+1 limits and an oversized frame header without allocating its body. Real Chrome 154 CLI/MCP browser verification and check:fast passed. This caps message bytes, not decoded JSON heap size.
2026-10-11 07:30:14 +08:00
morluto
96d3cafb07
fix(browser): bind correlated replies to their selected session
2026-10-09 04:12:49 +08:00
morluto
6b92002597
fix(browser): preserve command failures and reject malformed replies
2026-10-09 04:12:48 +08:00
morluto
017297c40c
test(browser): reject unmodeled CDP commands in protocol fixtures
2026-10-09 03:13:53 +08:00
Ysopwnable and morluto
b5afa5f91e
feat(browser): attribute native execution and listener sources ( #917 )
...
* feat(browser): attribute native execution and listener sources
Integrate finite native precise-coverage windows and direct DOM listener inspection through shared CLI/MCP workflows, exact session script identities, inline source evidence and owned instrumentation cleanup.
Refs #881 , #774
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): preserve runtime identity and settle fixture cleanup
Retain complete reported initiator objects, reject changing loader availability, propagate the selected operation through main-frame authorization and complete effect/help inventories. Close only the synthetic owned Chrome via its native endpoint, await process-group settlement and preserve primary verification errors during cleanup.
Refs #881
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): settle invalid events and preserve document evidence
Accept same-document URL changes with proven stable loader identity, retain metadata without inventing ownership, terminate malformed event collection immediately, and sanitize known transport URLs without erasing sourceURL declarations.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): end detached target windows and sanitize coverage identities
Reuse the existing flat-session event matcher, retain prearming termination, and apply the source identity policy to coverage URLs. Add real MCP target-close verification and producer regressions for detachment orderings.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): retain final sample metadata and settle fatal protocol failures
Keep source inventory open through the resetting sample, propagate fatal wire failures without outstanding commands, and check listener collection failures after final document validation.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): require default execution worlds for website attribution
Preserve native context and world metadata without treating same-frame isolated or unknown contexts as website sources. Verify actual Chrome isolated function execution before excluding its coverage, and cover ambiguous world metadata with producer regressions.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): revalidate runtime source joins and selector failures
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
---------
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com >
2026-10-07 21:45:07 +08:00
morluto
2a6eb41147
refactor(tools): return complete analysis results inline
2026-09-29 14:53:50 +08:00
morluto
513d9b1555
test: overhaul deterministic suite architecture
2026-07-29 22:00:38 +00:00