Commit Graph
1014 Commits
Author SHA1 Message Date
lanyue-llk f886d8db1e fix(network): preserve request metadata and response evidence 2026-09-22 13:11:17 +08:00
lanyue-llk 48d78ac639 fix(layout): refresh geometry and preserve inline fragments 2026-09-22 12:00:46 +08:00
lanyue-llk a37f971f44 fix(reliability): harden diagnostics and test infrastructure 2026-09-22 11:58:33 +08:00
ldm0 7241328085 refactor(fetch): separate curl header encoding from suppression 2026-09-22 02:11:36 +08:00
ldm0 14f6d073be fix(fetch): preserve explicit empty Content-Type headers 2026-09-22 02:11:36 +08:00
ldm0 8f6c464326 fix(fetch): visit live Headers entries during forEach
Refresh the sorted header pairs between callbacks while keeping the iteration
index, so deletions, updates and insertions affect later visits. Preserve
reentrant iteration, callback receivers, exception propagation and realms.

Port the live-iteration part of e09c9800ba onto main. Cover 34 checks in both
Window and Worker contexts and extend the callback-realm regression to visit
an appended header. The source fixture's empty-field normalization case
belongs to the separate raw header-list storage change 9f3d919f89.
2026-09-22 01:54:38 +08:00
ldm0 70b62b7fc6 test(wpt): refresh full Moli case status lists 2026-09-21 22:22:05 +08:00
ldm0 de1093d9c1 fix(fetch): preserve inherited header lists and cover transport
Keep duplicate header entries in storage and copy inherited Request headers from private state. Apply sort-and-combine only at the relevant consumer boundaries, while explicit HeadersInit values retain WebIDL iterable conversion.

Run no-cors cases through real Window and Worker fetch transports, preserve empty fields on the wire, and correct the local Request getter propagation fixture.
2026-09-21 21:48:05 +08:00
ldm0 644ee7b6d2 fix(fetch): apply no-cors guards while filling headers 2026-09-21 21:48:05 +08:00
ldm0 86295e48d4 fix(resource): preserve byte headers in fetch completions 2026-09-21 17:29:14 +08:00
ldm0 52fd1d0953 feat(protocol): expose resource runtime storage diagnostics
Expose the canonical resource runtime snapshot alongside the existing runtime id and memory-cache fields. Add a CDP regression that verifies disk-pool allocation and parked-image memory accounting.
2026-09-21 16:47:19 +08:00
ldm0 18a9f45be2 feat(resource): integrate shared disk-backed response storage
Share one disk pool and parkable-image manager across each browser resource runtime. Adopt completed image receive buffers without a full body clone, share encoded backing with network records and decoders, and drive parking by deadlines. Integrate pooled streaming bodies, release staging capacity after spooling, and use tagged image completions throughout resource loading.
2026-09-21 16:47:19 +08:00
ldm0 0099465abc feat(parkable-image): add managed encoded image parking
Adopt completed image buffers, protect readers with snapshots, and park encoded bytes into one disk extent with a reusable backup. Keep resident and parked registries separate, expose owner-driven deadlines and force parking, and synchronize notifications with a short-lock waiting flag. Include lifecycle, concurrency, scheduling, and failure regressions with documentation and runnable examples.
2026-09-21 16:47:19 +08:00
ldm0 92bdee88a4 feat(disk-pool): add shared temporary-file extent storage
Store immutable resource extents in one anonymous temporary file using positioned I/O. Reuse exact or worst-fit holes through offset and size indexes, coalesce released extents, and preserve bounded-capacity and failure behavior. Include allocator regression tests, concise documentation, and runnable examples.
2026-09-21 16:47:19 +08:00
ldm0 b98e48013b test(wpt): serve programmed navigation responses
Port the second-visit 204, 205 and download fixture from 3ea0668492 onto main. Keep request state isolated by resource path while sharing it across origins, and only admit the supported resource during case discovery.

Validation: 6 navigation fixture tests and all 564 moli-benchmark tests passed.
2026-09-21 16:44:20 +08:00
ldm0 373edf56dd fix(layout): avoid subtracting SVG margins twice 2026-09-21 06:39:53 +08:00
ldm0 480416e50b fix(layout): size inline SVG icons from available space
Keep track of SVGs without intrinsic dimensions so a viewBox-only icon
stretches along the available inline axis instead of acquiring a fixed
150px natural size. Preserve author dimensions, aspect ratios, box insets,
and intrinsic percentage contributions; resolve absolute sizing probes
against their containing block and positioning insets.

Add Chromium-calibrated geometry and paint coverage for search icons,
padded containers, explicit and constrained sizes, absolute positioning,
and shrink-to-fit containers. Correct the older SVG paint expectation
that assumed the same 150px fallback.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast (18,310 passed, 13 skipped)
- Replayed the original Google document through moli serve: both the plus
  and apps icons are 24x24 instead of 150x150.
2026-09-21 06:39:53 +08:00
ldm0 796376878b refactor(curl): use owned byte header lists from curl-rust 2026-09-21 05:37:28 +08:00
ldm0 b080b65104 fix(tests): use byte headers in XHR response fixtures 2026-09-21 05:37:28 +08:00
ldm0 29283fd86a fix(network): scope CDP header overrides and preserve BiDi byte values
Restore original headers on redirect while preserving current-hop overrides
for authentication retries and keeping Network event identity intact.

Preserve raw BiDi Cookie, Set-Cookie, and extra header values through page,
navigation, and worker policies. Apply CDP's last-value behavior for duplicate
request header names.

Add coverage for header bytes, redirects, authentication, and event sequences.
2026-09-21 05:37:28 +08:00
ldm0 932a7225ac refactor(network): preserve request header bytes across interception
Carry RequestHeaders through navigation, Fetch/XHR, workers, redirects and auth,
with explicit Unicode and ByteString conversions at protocol and WebIDL boundaries.
Share the raw curl header list with WebSocket transport and decode binary response
headers without UTF-8 replacement. Keep header memory charging concrete.

Cover opaque values, UTF-8 overrides, duplicates, redirect/auth continuation and
WebSocket handshakes with byte-level regression tests.
2026-09-21 03:54:12 +08:00
ldm0 dd7cd1c1e1 fix(html2md): preserve code boundaries across empty inline events 2026-09-21 03:32:33 +08:00
kevin 3560c85f4b Use CommonMark punctuation class and retain compatibility scenarios 2026-09-20 20:50:03 +08:00
kevin 8361929c4c Revert "Separate adjacent Markdown code spans"
This reverts commit fcc1c20576.
2026-09-20 20:50:03 +08:00
kevin 01910a6f14 Separate adjacent Markdown code spans 2026-09-20 20:50:03 +08:00
kevin 9848a96c1c Revert "Preserve literal characters in adjacent code HTML fallback"
This reverts commit 9359650240.
2026-09-20 20:50:03 +08:00
kevin 43b8064a49 Preserve literal characters in adjacent code HTML fallback 2026-09-20 20:50:03 +08:00
kevin ead6facb87 Preserve empty pre blocks and adjacent code text 2026-09-20 20:50:03 +08:00
kevin 0d91807041 Keep scroll test targets below every viewport 2026-09-20 20:50:03 +08:00
kevin 2c0fd9a8c0 Preserve preformatted boundaries and empty code separation 2026-09-20 20:50:03 +08:00
kevin 107c1536cb Retain image references without inferring content from pixels 2026-09-20 20:50:03 +08:00
kevin 4052110cff Preserve ambiguous embedded images and picture alternatives 2026-09-20 20:50:03 +08:00
kevin 8104206412 Preserve block boundaries inside preformatted content 2026-09-20 20:50:03 +08:00
kevin c496e37cb4 Preserve content semantics in HTML to Markdown conversion 2026-09-20 20:50:03 +08:00
kevin 91e9b568bd fix(html2md): detect empty inline SVGs structurally 2026-09-20 20:50:03 +08:00
kevin 7985fcb7bc fix(fetch): preserve details and discard empty SVG placeholders 2026-09-20 20:50:03 +08:00
ldm0 b75e26fca2 fix(workers): inherit EventTarget across worker global scopes 2026-09-20 20:15:21 +08:00
ldm0 c6418d05e2 fix(xhr): normalize script-visible response headers 2026-09-20 20:11:50 +08:00
ldm0 3ae44b5150 fix(cdp): preserve navigation failure context at protocol boundaries
Render generic navigation failures with their complete anyhow context chain.
Keep blocked-URL error text canonical through an explicit typed policy cause,
and cover both serialized CDP output and an intercepted blocked navigation.

Replace the offline navigation cause's free-form error text with a typed kind
and a single protocol-text mapping. Keep these policy error types internal and
document that transport failures still use NetworkFetchFailureContext.

Update the unsupported authentication regression to expect preserved context
while retaining the assertion that no retry is issued.
2026-09-20 19:27:31 +08:00
ldm0 81663c6650 refactor(navigation): preserve errors through document loading 2026-09-20 19:27:31 +08:00
ldm0 5be3c7b644 refactor(cdp): preserve typed navigation network errors 2026-09-20 19:27:31 +08:00
ldm0 3a1d432acc fix(fetch): include required headers in Blob URL responses 2026-09-20 18:59:25 +08:00
ldm0 04302d49fb fix(cors): parse Content-Type parameters without rejecting commas
Extracted from b57d75e801791c4d9b6d682f2aae254d3acd3c53.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
2026-09-20 18:03:07 +08:00
ldm0 01e724d175 fix(csp): normalize base64url symbols in inline hashes
Extracted from 04b2aa7f0273ae5d63835c1ac466d8aa30dc57d3.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
2026-09-20 17:25:41 +08:00
ldm0 11f8e9668b fix(wpt): run crashtests with their readiness protocol 2026-09-20 17:22:49 +08:00
ldm0 082717a952 fix(dom): return empty shallow clones of detached HTML documents 2026-09-20 17:16:21 +08:00
ldm0 846b24119a fix(cdp): commit error documents for offline Fetch continuations 2026-09-20 14:15:47 +08:00
ldm0 4ed30be874 fix(fetch): distinguish request header bytes from UTF-8 strings 2026-09-20 14:03:33 +08:00
ldm0 ba11283d57 fix(fetch): preserve HTTP header bytes across the transport
Extracted from f25578c2a9c188d3437e88f337ebaae9da49a246.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
2026-09-20 14:03:33 +08:00
BibekPathak 8032606abf report offline navigations as network failures, not -32000 2026-09-20 10:54:25 +08:00