Skip to content

feat(browser): persist profiles and validate native UI - #48

Open
pathscale wants to merge 7 commits into
masterfrom
fix/prebuilt-headless-host
Open

pathscale wants to merge 7 commits into
masterfrom
fix/prebuilt-headless-host

Conversation

@pathscale

@pathscale pathscale commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Chuzz now keeps one browser profile across documents and restarts: WorkTable persists one ordered RFC cookie-jar snapshot, session cookies remain process-local, HTTP and document.cookie share the same jar, public-suffix and secure-prefix rules are enforced, and orderly exits drain queued writes. Synchronous cookie callbacks replace one pending snapshot instead of retaining and writing every intermediate jar during a mutation burst. Wake identifiers keep stale apply commands from consuming a snapshot queued after a flush or close barrier.

The browser defaults to a Chrome-compatible identity, exposes the exact identity in Settings, and applies it consistently to HTTP and navigator.userAgent.

The HTTP exchange uses the consumer cookie-provider hook from pathscale/ps-blitz#98, so the same jar receives intermediate redirect and final error-response cookies before later requests are built. The compatibility surface also adds the DOM and browser APIs needed by current applications, coalesces redraws onto the Tauri main queue to avoid resource-completion deadlocks, and uses Nagoya's portable timers while retaining Tokio only at concrete Tauri/network I/O boundaries. The getter-mutation regression discovered by the event integration test is fixed by pathscale/ps-boa#25.

The existing versioned headless-host fix remains the first commit. A Rust-only fixture plus ps-qa inventory/outcome checks drives the signed native bundle in CI and release jobs. Tests launch children with isolated profiles, and repository policy forbids Python and committed lockfiles.

Validation on the current head:

  • cargo fmt --all -- --check
  • Chuzz cookie/profile suite against the exact ps-blitz 0.4.10, WorkTable 1.9.0-beta1 and ps-boa 1.0.6 sources: 11 passed, including redirect/error exchange ordering, reopen, session exclusion, security policy, a deterministic stale-wake/barrier case, a stopped-worker retry case and a 512-mutation close/reopen burst
  • headless Chuzz cargo clippy --no-default-features --features capture,javascript,vello --all-targets -- -D warnings against those exact sources
  • exact-source dependency-tree verification resolves ps-blitz-net 0.4.10 and WorkTable 1.9.0-beta1; the manifests retain compatible ^0.4, ^0.1 Nagoya and ^0.7 ps-qa ranges
  • frontend lint, typecheck and 15 tests passed for the unchanged frontend portion
  • the Rust fixture served the normal script, 96-resource stress page and 404 path; bash -n scripts/qa-visible-app.sh passed

Before ps-blitz-net 0.4.10 is published, a fresh registry resolution of the compatible ^0.4 range selects 0.4.9, which lacks the consumer cookie-provider API; app, control and headless CI therefore remain expected red. Registry-only CI also requires WorkTable 1.9.0-beta1 and ps-boa 1.0.6. The visible signed-bundle QA remains the release/CI verification path on the macOS runner.

@pathscale pathscale changed the title fix(qa): reuse versioned Linux headless browser feat(browser): persist profiles and validate native UI Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant