Muki Kiboigo
0720984a4e
shortcircuit a lot of caching checks
2026-03-31 12:15:49 -07:00
Muki Kiboigo
024fbdd118
ensure fs cache file is closed after use
2026-03-31 12:15:49 -07:00
Muki Kiboigo
bcef603038
use CacheRequest instead of key
2026-03-31 12:15:49 -07:00
Muki Kiboigo
33039b0b47
add striped lock to FsCache
2026-03-31 12:15:49 -07:00
Muki Kiboigo
b9acc1f55a
use arena_pool for cache get
2026-03-31 12:15:48 -07:00
Muki Kiboigo
3eea37dd3b
use writer for fs cache body file
2026-03-31 12:15:48 -07:00
Muki Kiboigo
14ae904fd0
use json for fs cache metadata file
2026-03-31 12:15:48 -07:00
Muki Kiboigo
598583980c
use sha256 instead of wyhash
2026-03-31 12:15:48 -07:00
Muki Kiboigo
f0a85e4680
store type_buf and sub_type_buf in Mime
2026-03-31 12:15:48 -07:00
Muki Kiboigo
0634631e5d
add more http caching rules
2026-03-31 12:15:48 -07:00
Muki Kiboigo
881a69b2d1
use CacheControl and Vary
2026-03-31 12:15:48 -07:00
Muki Kiboigo
14229b4c12
cache headers along with response
2026-03-31 12:15:47 -07:00
Muki Kiboigo
898b98ebf1
add basic caching support
2026-03-31 12:15:47 -07:00
Muki Kiboigo
672f6d4eff
create cache owned by the network struct
2026-03-31 12:15:47 -07:00
Muki Kiboigo
173017be63
use enum approach instead of vtable
2026-03-31 12:15:47 -07:00
Muki Kiboigo
4ac1a33663
add basic FsCache impl
2026-03-31 12:15:47 -07:00
Muki Kiboigo
ba97b21ceb
add CachedResponse variant to Response
2026-03-31 12:15:47 -07:00
Muki Kiboigo
2d4fa7f362
add headerIterator to Http Response
2026-03-31 12:15:47 -07:00
Muki Kiboigo
d4d828d34b
use Response instead of Transfer in callbacks
2026-03-31 12:15:45 -07:00
Muki Kiboigo
15e1f9faac
allow Mime parse to use []const u8
2026-03-31 12:12:23 -07:00
Muki Kiboigo
4e26e0e792
add cache dir to configuration opts
2026-03-31 12:12:22 -07:00
Muki Kiboigo
56420bf7b7
create Cache interface file
2026-03-31 12:12:22 -07:00
Karl Seguin
469a6ecaea
Merge pull request #2051 from lightpanda-io/structureClone_host_object
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / wba-demo-scripts (push) Has been cancelled
e2e-test / wba-test (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig fmt (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
Provide a failing callback to ValueSerializer for host objects
2026-03-31 22:33:54 +08:00
Karl Seguin
4ad8282e75
Merge pull request #2047 from lightpanda-io/fancy-wait
...
Add --wait-selector, --wait-script and --wait-script-file options to …
2026-03-31 20:59:48 +08:00
Karl Seguin
3d624a97a7
Merge pull request #2052 from lightpanda-io/xhr_expand_ref
...
Expand the lifetime of the XHR reference
2026-03-31 20:59:28 +08:00
Karl Seguin
571c346316
use releaseSelfRef on done just to be extra safe
2026-03-31 20:39:11 +08:00
Karl Seguin
af19cbc726
use remaining instead of timeout_ms, else, what's the point?
...
Co-authored-by: Adrià Arrufat <1671644+arrufat@users.noreply.github.com >
2026-03-31 19:42:32 +08:00
Karl Seguin
9716150530
rename has_ref -> active_request
2026-03-31 19:15:01 +08:00
Karl Seguin
20cadd2282
Merge pull request #2053 from lightpanda-io/remove_dead_code
...
remove dead code
2026-03-31 18:24:48 +08:00
Karl Seguin
4c4f395b1e
Merge pull request #2036 from lightpanda-io/remove_cdp_generics
...
Removing remaining CDP generic
2026-03-31 17:54:34 +08:00
Karl Seguin
26653120fa
Removing remaining CDP generic
...
Follow up to https://github.com/lightpanda-io/browser/pull/1990 which makes
both BrowserContext and Command non-generic.
2026-03-31 16:53:58 +08:00
Karl Seguin
a4a024ce9c
remove dead code
2026-03-31 16:48:47 +08:00
Karl Seguin
492fd86bad
Expand the lifetime of the XHR reference
...
We need to take the self-reference to the XHR object as soon as the request is
made. Previously, we were waiting until we got the start callback, but v8 could
(and does) drop the reference before that happens. Unfortunately, that means
we can no longer use _transfer == null to tell if we own a reference or not, so
a new boolean was added.
2026-03-31 16:46:31 +08:00
Karl Seguin
c3c465347d
Provide a failing callback to ValueSerializer for host objects
...
V8 needs our help when serializing host (e.g. a Zig dom instance) objects. We
don't currently have this implemented, so this provides the callback that throws
an error. Our wrapper returns Nothing when no callback is provided, which v8
doesn't allow (via assertion).
2026-03-31 16:13:55 +08:00
Adrià Arrufat
55666ab7cd
Merge pull request #2049 from lightpanda-io/refactor/getNodeDetails-param-order
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / wba-demo-scripts (push) Has been cancelled
e2e-test / wba-test (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig fmt (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
SemanticTree: reorder getNodeDetails params
2026-03-31 07:58:28 +02:00
Adrià Arrufat
008235222b
SemanticTree: reorder getNodeDetails params
2026-03-31 07:29:33 +02:00
Adrià Arrufat
b03dbc77ab
Merge pull request #2048 from lightpanda-io/feature/semantic-tree-checked-state
...
SemanticTree: add checked state to node data and output
2026-03-31 07:08:36 +02:00
Adrià Arrufat
fc057a3bb3
SemanticTree: add checked state to node data and output
2026-03-31 06:43:01 +02:00
Karl Seguin
ab6c63b24b
Add --wait-selector, --wait-script and --wait-script-file options to fetch
...
These new optional parameter run AFTER --wait-until, allowing the (imo) useful
combination of `--wait-until load --wait-script "report.complete === true"`.
However, if `--wait-until` IS NOT specified but `--wait-selector/script` IS,
then there is no default wait and it'll just check the selector/script. If
neither `--wait-selector` or `--wait-script/--wait-script-file` are specified
then `--wait-until` continues to default to `done`.
These waiters were added to the Runner, and the existing Action.waitForSelector
now uses the runner's version. Selector querying has been split into distinct
parse and query functions, so that we can parse once, and query on every tick.
We could potentially optimize --wait-script to compile the script once and call
it on each tick, but we'd have to detect page navigation to recompile the script
in the new context. Something I'd rather optimize separately.
2026-03-31 12:30:46 +08:00
Adrià Arrufat
16f17ead9a
Merge pull request #2045 from lightpanda-io/semantic-tree-node-details
...
SemanticTree: Add nodeDetails tool
2026-03-31 05:28:24 +02:00
Adrià Arrufat
367d20d39f
SemanticTree: simplify lp.String.wrap calls
2026-03-31 05:20:32 +02:00
Karl Seguin
a6a8752787
Merge pull request #2032 from lightpanda-io/cdp_navigation_event_order
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / wba-demo-scripts (push) Has been cancelled
e2e-test / wba-test (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig fmt (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / zig build release (push) Has been cancelled
wpt / build wpt runner (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Improve/Fix CDP navigation event order
2026-03-31 07:12:14 +08:00
Karl Seguin
568fa25add
Remove DOMContentLoaded and Loaded events from page_navigated
...
These were moved to their own distinct events, and should have been removed from
here.
2026-03-31 06:56:01 +08:00
Karl Seguin
752184b12b
Improve/Fix CDP navigation event order
...
These changes all better align with chrome's event ordering/timing.
There are two big changes. The first is that our internal page_navigated event,
which is kind of our heavy hitter, is sent once the header is received as
opposed to (much later) on document load. The main goal of this internal event
is to trigger the "Page.frameNavigated" CDP event which is meant to happen
once the URL is committed, which _is_ on header response.
To accommodate this earlier trigger, new explicit events for DOMContentLoaded
and load have be added.
This drastically changes the flow of events as things go from:
Start Page Navigation
Response Received
Start Frame Navigation
Response Received
End Frame Navigation
End Page Navigation
context clear + reset
DOMContentLoaded
Loaded
TO:
Start Page Navigation
Response Received
End Page Navigation
context clear + reset
Start Frame Navigation
Response Received
End Frame Navigation
DOMContentLoaded
Loaded
So not only does it remove the nesting, but it ensures that the context are
cleared and reset once the main page's navigation is locked in, and before any
frame is created.
2026-03-31 06:56:00 +08:00
Pierre Tachoire
47afdc003a
Merge pull request #2044 from lightpanda-io/proxy-auth-challenge
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / wba-demo-scripts (push) Has been cancelled
e2e-test / wba-test (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig fmt (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
http: add connect code into auth challenge detection
2026-03-30 17:18:56 +02:00
Adrià Arrufat
9c8fe9b20f
SemanticTree: Add nodeDetails tool
...
Adds a tool to retrieve detailed node metadata and updates the
semantic tree to track and display the disabled state of elements.
2026-03-30 16:38:23 +02:00
Pierre Tachoire
7606528b37
ci: fix request interception proxy challenge
2026-03-30 15:32:38 +02:00
Pierre Tachoire
9ca6bf42ae
http: add connect headers to auth challenge detection
2026-03-30 15:17:12 +02:00
Pierre Tachoire
a272a2c314
http: add connect code into auth challenge detection
2026-03-30 15:08:36 +02:00
katie-lpd
cafa16d190
Update README.md
...
Updating benchmark text to fit the image
2026-03-30 13:38:46 +02:00