Commit Graph

5321 Commits

Author SHA1 Message Date
Muki Kiboigo
6d9f83a76b require timestamp passed in with cache request 2026-03-30 08:19:52 -07:00
Muki Kiboigo
ae72d1d288 remove unused cache method on fs cache 2026-03-30 08:19:52 -07:00
Muki Kiboigo
ad350d05da add basic fs cache get/put test 2026-03-30 08:19:52 -07:00
Muki Kiboigo
7aa21aa200 check age on fs cache get 2026-03-30 08:19:52 -07:00
Muki Kiboigo
39c09b7b5f only store stuff when we know we will cache 2026-03-30 08:19:30 -07:00
Muki Kiboigo
621ea49cb6 shortcircuit a lot of caching checks 2026-03-30 08:15:13 -07:00
Muki Kiboigo
28e5b9b46e ensure fs cache file is closed after use 2026-03-30 08:12:24 -07:00
Muki Kiboigo
8fa8190f09 use CacheRequest instead of key 2026-03-30 08:12:22 -07:00
Muki Kiboigo
e3eaf4042a add striped lock to FsCache 2026-03-30 08:09:35 -07:00
Muki Kiboigo
87b771f4b0 use arena_pool for cache get 2026-03-30 08:09:35 -07:00
Muki Kiboigo
fa01f36f96 use writer for fs cache body file 2026-03-30 08:09:35 -07:00
Muki Kiboigo
d9d04bb17f use json for fs cache metadata file 2026-03-30 08:09:34 -07:00
Muki Kiboigo
f7e254c9ee use sha256 instead of wyhash 2026-03-30 08:09:34 -07:00
Muki Kiboigo
86c75a1617 store type_buf and sub_type_buf in Mime 2026-03-30 08:09:34 -07:00
Muki Kiboigo
e2df3b39e5 add more http caching rules 2026-03-30 08:09:34 -07:00
Muki Kiboigo
649b9bc76f use CacheControl and Vary 2026-03-30 08:09:34 -07:00
Muki Kiboigo
b13b08055f cache headers along with response 2026-03-30 08:09:33 -07:00
Muki Kiboigo
800c4ecda9 add basic caching support 2026-03-30 08:03:33 -07:00
Muki Kiboigo
6cea8e18f7 create cache owned by the network struct 2026-03-30 07:54:18 -07:00
Muki Kiboigo
b5bf608f37 use enum approach instead of vtable 2026-03-30 07:54:18 -07:00
Muki Kiboigo
a12ae507c9 add basic FsCache impl 2026-03-30 07:54:17 -07:00
Muki Kiboigo
2bad6c590b add CachedResponse variant to Response 2026-03-30 07:54:13 -07:00
Muki Kiboigo
9438ccf948 add headerIterator to Http Response 2026-03-30 07:43:06 -07:00
Muki Kiboigo
0c96645a3f use Response instead of Transfer in callbacks 2026-03-30 07:43:02 -07:00
Muki Kiboigo
d517005aaf allow Mime parse to use []const u8 2026-03-30 07:05:45 -07:00
Muki Kiboigo
269fa49696 add cache dir to configuration opts 2026-03-30 07:05:44 -07:00
Muki Kiboigo
d13fdcb2a7 create Cache interface file 2026-03-30 07:05:44 -07:00
katie-lpd
cafa16d190 Update README.md
Updating benchmark text to fit the image
2026-03-30 13:38:46 +02:00
Pierre Tachoire
a5ed3cdaee Merge pull request #2042 from lightpanda-io/security.md
add SECURITY.md
2026-03-30 11:30:42 +02:00
Pierre Tachoire
b473f0e681 add SECURITY.md 2026-03-30 11:28:46 +02:00
Karl Seguin
be7226fc7b Merge pull request #2024 from lightpanda-io/finalizers
Some checks failed
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
Rework finalizers
2026-03-30 17:03:08 +08:00
Karl Seguin
5cd356631c unregister before releasingRef to avoid potential use-after-free 2026-03-30 15:42:08 +08:00
Pierre Tachoire
8723ecdd2d Merge pull request #2028 from lightpanda-io/http_client_safe_kill
Protect transfer.kill() the way transfer.abort() is protected
2026-03-30 09:22:40 +02:00
Pierre Tachoire
451178558a Merge pull request #2026 from lightpanda-io/invalid_access_dom_exception
Add missing InvalidAccessError DOMException mapping
2026-03-30 09:21:51 +02:00
Karl Seguin
70dc0f6b95 Merge pull request #2027 from lightpanda-io/mcp-protocol-version
mcp: allow configuring protocol version
2026-03-30 13:38:06 +08:00
Adrià Arrufat
d99599fa21 zig fmt 2026-03-30 07:24:08 +02:00
Adrià Arrufat
20e62a5551 mcp: inline mcpVersion helper from Config 2026-03-30 07:13:45 +02:00
Adrià Arrufat
e083d4a3d1 Config: remove LIGHTPANDA_MCP_VERSION env var 2026-03-30 07:07:23 +02:00
Karl Seguin
7a23686cbd Merge pull request #2033 from lightpanda-io/canvas_context_cache
Canvas context cache
2026-03-30 12:27:04 +08:00
Karl Seguin
25889ff918 Improve canvas context caching
Improve https://github.com/lightpanda-io/browser/pull/2022 to also cache webgl
context and add tests.
2026-03-30 12:14:32 +08:00
Karl Seguin
b4e3f246ca Merge remote-tracking branch 'evan108108/fix/canvas-getcontext-caching' into canvas_context_cache 2026-03-30 11:58:45 +08:00
Karl Seguin
8eeeeda8c1 Merge pull request #2021 from evan108108/fix/navigator-spec-compliance
fix: navigator.languages should include base language per spec
2026-03-30 11:40:49 +08:00
Karl Seguin
75dc4d5b0e Merge pull request #2031 from lightpanda-io/cdp-add-script-to-evaluate-on-new-document
Cdp add script to evaluate on new document
2026-03-30 11:16:39 +08:00
Karl Seguin
0d40aed1b7 zig fmt 2026-03-30 09:32:22 +08:00
Karl Seguin
78cb766298 Log for unimplemented parameter
Wrap script_on_new_document execution in try/catch for better error reporting.

Improve test for script_on_new_document
2026-03-30 09:31:13 +08:00
Karl Seguin
f60e5cce6d Protect transfer.kill() the way transfer.abort() is protected
Transfer.abort() is protected from aborting the transfer while inside of a
libcurl callback (since libcurl doesn't support mutating the easy while inside
of a callback AND it causes issues in the zig code).

This applies similar logic to Transfer.kill() which is less likely to be called
but worse if it is called in a callback, as transfer.kill() deinit's the
transfer - something the callback caller is not expecting. Since killing isn't
safe to do, we flag the transfer as aborted AND null/noop all the callbacks.

Fixes WPT crash /content-security-policy/frame-src/frame-src-blocked-path-matching.sub.html
2026-03-29 19:48:47 +08:00
Adrià Arrufat
81d4bdb157 mcp: change default protocol version to 2024-11-05 2026-03-29 08:34:24 +02:00
Adrià Arrufat
cf5e4d7d1e mcp: allow configuring protocol version
Closes #2023
2026-03-29 08:29:04 +02:00
Karl Seguin
9f81d7d3ff Add missing InvalidAccessError DOMException mapping
Fixes WPT crash /WebCryptoAPI/sign_verify/eddsa_curve25519.https.any.html
2026-03-29 11:46:44 +08:00
Karl Seguin
269924090a fix double free 2026-03-29 07:12:18 +08:00