Adrià Arrufat
6f2fbb12ed
build: rename lib-shared and lib-test targets
2026-07-31 21:15:42 +02:00
Adrià Arrufat
65a88617ec
c-api: expose liblightpanda.so and C header for embedding
...
A C ABI (include/lightpanda.h + src/c_api.zig) over the browser tool
surface: lp_init/lp_shutdown, lp_fetch, sessions with lp_call/pump/
cancel, lp_tools_json. Built as a shared library only; the version
script keeps everything but lp_* internal so the bundled OpenSSL/curl/
sqlite cannot collide with a host's own.
Embedders get a hidden 'embed' Config mode (not parseable from the
CLI) with telemetry defaulting off; crash reports honor the same
opt-out. ToolSession in lightpanda.zig owns the browser/session/
registry lifecycle the C API drives.
Build: C deps are always PIC (like boringssl's force_pic) and the
pinned zig-v8-fork always builds V8 library-safe, so 'zig build
shared-lib' needs no flags. It only refuses -Dprebuilt_v8_path:
today's published archives are exe-only (local-exec TLS, malloc
shim); the guard goes away once a fork release ships library-safe
archives. make lib-shared / lib-test / lib-shared-example drive it.
2026-07-31 17:49:02 +02:00
Adrià Arrufat
c2fa38e516
Merge pull request #3075 from lightpanda-io/codex
...
agent: support subscription auth via Codex
2026-07-30 08:02:11 +02:00
Karl Seguin
5f6085fd03
Merge pull request #3085 from lightpanda-io/fix-script-setattribute-src
...
Fix script setattribute src
2026-07-30 11:30:28 +08:00
Karl Seguin
edcd9eabf4
Merge pull request #3084 from lightpanda-io/max-timer-test
...
test: add max-timers test
2026-07-30 09:53:58 +08:00
Karl Seguin
961da45ece
Ignore empty Script.src values
...
Don't hold an map entry over attributeChange callback, since we can now execute
JavaScript which could invalidate the map.
2026-07-30 09:49:47 +08:00
Karl Seguin
3a4e6febad
test: add max-timers test
2026-07-30 08:03:17 +08:00
Karl Seguin
5aa1f0619c
Merge pull request #3081 from lightpanda-io/script-event
...
webapi: Fix script load/error events
2026-07-30 08:00:44 +08:00
Karl Seguin
512379f423
Merge pull request #3080 from lightpanda-io/timer-limit
...
webapi: Increase max timer count
2026-07-30 07:59:23 +08:00
Karl Seguin
bbf50dc250
Merge pull request #3079 from lightpanda-io/dedupe-svg-css
...
chore: dedupe SVG / CSS code
2026-07-30 07:58:38 +08:00
Karl Seguin
96498fa321
Merge pull request #3078 from lightpanda-io/propagate-execution-terminating
...
crash: Capture ExecutionTerminated and propagate it
2026-07-30 07:58:23 +08:00
Karl Seguin
a39274bfae
Merge pull request #3077 from lightpanda-io/collections-followup
...
fix: collection bugs
2026-07-30 07:58:08 +08:00
Karl Seguin
bac560fae3
Merge pull request #3070 from lightpanda-io/explicit-proto
...
design: add explicit Proto declaration to every type
2026-07-30 07:57:54 +08:00
Karl Seguin
c853ebc57b
Merge pull request #2969 from lightpanda-io/nikneym/req-res-form-data
...
webapi: add `Request#formData` and `Response#formData`
2026-07-29 20:40:04 +08:00
NaR82n
d2d1efd703
fix dynamic script src attribute loading
2026-07-29 19:30:14 +08:00
Karl Seguin
3a56f7eea2
webapi: Fix script load/error events
...
1 - inline scripts don't fire anything
2 - load fires even on a JS throw
https://github.com/lightpanda-io/browser/pull/1629 , so that is now removed.
Tested the behavior extensively in chrome/firefox (new test files) and matched
our implementation to those tests.
Fixes https://github.com/lightpanda-io/browser/issues/3069
2026-07-29 18:09:11 +08:00
Halil Durak
844c8d0846
update tests
2026-07-29 12:51:49 +03:00
Halil Durak
dff92a6fb5
FormData: std.Io.Clock.now -> lp.datetime.milliTimestamp
2026-07-29 12:51:49 +03:00
Halil Durak
f4a98a9e68
header_parser: de-inline everything
2026-07-29 12:51:49 +03:00
Halil Durak
50076f538a
header_parser: Cursor.skipSpaces now skips HTAB
2026-07-29 12:51:49 +03:00
Halil Durak
7d0524073c
header_parser: allow HTAB in header values
2026-07-29 12:51:48 +03:00
Halil Durak
7b29ec4a1a
header_parser: simplify broadcast
2026-07-29 12:51:48 +03:00
Halil Durak
4c96f3edef
FormData: changes after rebase
2026-07-29 12:51:48 +03:00
Halil Durak
de3877a6ae
update tests
2026-07-29 12:51:48 +03:00
Halil Durak
2ca2c44faf
simd.zig -> network/header_parser.zig
...
Also migrates to `Cursor` API of `header_parser`.
2026-07-29 12:51:47 +03:00
Halil Durak
91bcc28b7c
update license years
2026-07-29 12:51:47 +03:00
Halil Durak
af45e00a94
Mime: move ContentTypeIterator to Mime
2026-07-29 12:51:47 +03:00
Halil Durak
af143e82d0
body_init: remove dead code
2026-07-29 12:51:47 +03:00
Halil Durak
4dfb365d2b
change how we identify and parse FormData in Request and Response
2026-07-29 12:51:46 +03:00
Halil Durak
69c05031fd
simd: update tests
2026-07-29 12:51:46 +03:00
Halil Durak
7ed9ac2cdb
simd: add ContentTypeIterator type
...
Allows parsing `Content-Type` header value with ease.
2026-07-29 12:51:46 +03:00
Halil Durak
4d612b7517
simd: remove dead parseHttpHeaders function
2026-07-29 12:51:45 +03:00
Halil Durak
34de819aca
update tests
2026-07-29 12:51:45 +03:00
Halil Durak
da417dd126
Response: add Response#formData
2026-07-29 12:51:45 +03:00
Halil Durak
03b1e611bd
update tests
2026-07-29 12:51:45 +03:00
Halil Durak
50d942f807
Request: add Request#formData
2026-07-29 12:51:44 +03:00
Halil Durak
0c93b50748
FormData: introduce new ways to create FormData objects
...
Adds `initFromUrlEncoded` and `initFromMultipart`; which are required for `Request#formData`.
2026-07-29 12:51:44 +03:00
Halil Durak
e3fbd745a7
introduce simd.zig
...
Idea is to have reusable parsing utilities here; not sure on the name, we can surely go for something else.
2026-07-29 12:51:44 +03:00
Halil Durak
07f7366d73
FormData: add parseUrlEncoded
...
Introduces another url decoder also, we may like to unite these at some point.
2026-07-29 12:51:44 +03:00
Karl Seguin
49844b1015
webapi: Increase max timer count
...
Previously limited to 512. Airbnb uses 600+. Increase the max for one-shot to
2048, but keep 512 for repeating timers.
2026-07-29 17:45:02 +08:00
Adrià Arrufat
97e26ae86e
agent: add keep/login/logout menu for subscription providers
2026-07-29 10:07:52 +02:00
Karl Seguin
36cbf1747d
Dedupe PointLIst and TransformList
...
Add an ugly mixin. Ensures the two implementations are the same.
2026-07-29 15:56:00 +08:00
Adrià Arrufat
27b37e6c93
auth: simplify token refresh and json store helpers
2026-07-29 09:55:49 +02:00
Adrià Arrufat
d7eba33fb0
auth: fallback to stale models.dev cache on fetch failure
2026-07-29 09:41:50 +02:00
Adrià Arrufat
5f76f7056a
auth: log warnings on codex auth request failures
2026-07-29 09:38:53 +02:00
Adrià Arrufat
a00b5dceb7
auth: parse device code interval as u32
2026-07-29 09:37:38 +02:00
Karl Seguin
93d2305041
Angle/Lenght value setter unit
...
Length.setValue should preserve the existing unit. Angle.setValue should use
degrees (copying what Chrome/Firefox do).
2026-07-29 15:37:11 +08:00
Adrià Arrufat
939feeb9a3
auth: consider refreshable tokens in subscription check
2026-07-29 09:35:14 +02:00
Adrià Arrufat
c8e7761fce
agent/auth: parse models directly into arena
2026-07-29 09:32:11 +02:00
Adrià Arrufat
6070119ca8
auth: write auth store and model cache atomically
2026-07-29 09:26:56 +02:00