Karl Seguin
bc4560877a
zig fmt
2025-02-20 22:08:56 +08:00
Karl Seguin
521a740d3a
Merge branch 'main' into cdp_struct
2025-02-20 22:08:37 +08:00
Pierre Tachoire
be12b724cc
Merge pull request #438 from karlseguin/xhr_state_as_enum
...
Use an enum for XHR's state.
2025-02-20 14:57:37 +01:00
Pierre Tachoire
073873a3e9
Merge pull request #437 from karlseguin/make_zig_path
...
Use $(ZIG) variable when building netsurf
2025-02-20 14:56:55 +01:00
Pierre Tachoire
fcdcb50b8b
Merge pull request #426 from karlseguin/c_allocator
...
In release mode, switch from page_allocator to c_allocator
2025-02-20 14:37:54 +01:00
Karl Seguin
61a7848fd9
Use an enum for XHR's state.
2025-02-20 14:06:38 +08:00
Karl Seguin
6d6b840cf6
Use $(ZIG) variable when building netsurf
2025-02-20 08:42:45 +08:00
Karl Seguin
4dbba103d4
In release mode, switch from page_allocator to c_allocator
2025-02-20 08:09:53 +08:00
Pierre Tachoire
a2932f05f4
Merge pull request #435 from karlseguin/server_tests
...
e2e-test / zig build release (push) Waiting to run
e2e-test / puppeteer (push) Blocked by required conditions
wpt / web platform tests (push) Waiting to run
wpt / perf-fmt (push) Blocked by required conditions
zig-test / zig build dev (push) Waiting to run
zig-test / zig test (push) Waiting to run
zig-test / perf-fmt (push) Blocked by required conditions
Fix server hang on client disconnect
2025-02-19 17:45:42 +01:00
Pierre Tachoire
5d4efb7692
Merge pull request #434 from lightpanda-io/chore/readme
...
Chore: update readme images
2025-02-19 16:41:15 +01:00
Karl Seguin
39a9efb73b
Fix server hang on client disconnect
...
https://github.com/lightpanda-io/browser/issues/425
Add a few integration tests for the TCP server which are fast enough to be run
as part of the unit tests (one of the new tests covers the above issue).
2025-02-19 15:01:12 +08:00
Nicolas Rigaudiere
5037bd07d5
chore: update readme images
2025-02-18 15:43:49 +01:00
Pierre Tachoire
73a2fa3f9c
Merge pull request #428 from lightpanda-io/ci-rgression
...
e2e-test / zig build release (push) Waiting to run
e2e-test / puppeteer (push) Blocked by required conditions
wpt / web platform tests (push) Waiting to run
wpt / perf-fmt (push) Blocked by required conditions
zig-test / zig build dev (push) Waiting to run
zig-test / zig test (push) Waiting to run
zig-test / perf-fmt (push) Blocked by required conditions
ci: add puppeteer regression test
2025-02-18 15:07:17 +01:00
Pierre Tachoire
79387f469b
Merge pull request #433 from lightpanda-io/adjust-readme
...
readme: adjust image width
2025-02-18 13:57:51 +01:00
Pierre Tachoire
f986cfecff
readme: adjust image width
2025-02-18 13:51:10 +01:00
Pierre Tachoire
4d51a9123b
Merge pull request #432 from lightpanda-io/adjust-readme
...
readme: move status up
2025-02-18 13:43:24 +01:00
Pierre Tachoire
7602f15544
readme: move status up
2025-02-18 13:41:45 +01:00
Pierre Tachoire
3180ba7de9
Merge pull request #431 from lightpanda-io/adjust-readme
...
readme: update benchmark image
2025-02-18 11:55:56 +01:00
Pierre Tachoire
3e01cf19b0
readme: add benchmark details
2025-02-18 11:55:21 +01:00
Pierre Tachoire
14eebfe39e
readme: update benchmark image
2025-02-18 11:55:21 +01:00
Pierre Tachoire
9176599b29
Merge pull request #430 from lightpanda-io/adjust-readme
...
readme: fix badges
2025-02-18 11:37:52 +01:00
Pierre Tachoire
d6575faa9f
readme: fix badges
2025-02-18 11:37:08 +01:00
Pierre Tachoire
24c5bf9ff4
Merge pull request #429 from lightpanda-io/adjust-readme
...
readme: update download instructions + improve CDP example
2025-02-18 11:35:22 +01:00
Pierre Tachoire
cdcc5e106f
readme: use curl to download binary
2025-02-18 11:32:53 +01:00
Pierre Tachoire
1a8cc2d019
readme: adjust text
2025-02-18 11:32:30 +01:00
Pierre Tachoire
27e907491b
readme: remove text duplication
2025-02-18 11:25:04 +01:00
Pierre Tachoire
0a1e6623c8
readme: allow examples copy/paste
2025-02-18 11:20:56 +01:00
Pierre Tachoire
689dddd11a
readme: allow copy/paste install instruction
2025-02-18 11:19:02 +01:00
Pierre Tachoire
f8d01e1596
readme: update exemple t odump links
2025-02-18 11:15:06 +01:00
Pierre Tachoire
cd429f5935
readme: fix binary name
2025-02-18 11:06:51 +01:00
Pierre Tachoire
03355f6a4a
readme: remove useless badges
2025-02-18 11:01:52 +01:00
Pierre Tachoire
dc1d593019
ci: adjust memory regression max values
2025-02-18 10:57:36 +01:00
Pierre Tachoire
9894cceeaa
ci: extract end-to-end test on its own file
2025-02-18 10:52:08 +01:00
Pierre Tachoire
bcedbc845e
ci: add puppeteer regression test
2025-02-17 16:39:15 +01:00
Karl Seguin
f508288ce3
Fix segfault when multiple inflight Send completions fail
2025-02-17 18:43:41 +08:00
Karl Seguin
18080cef9f
fix test
2025-02-17 12:14:11 +08:00
Karl Seguin
c4eeef2a86
On CDP process error, let client decide how to close
...
Fixes issue where CDP closes the client, but client still registers a recv
operation.
2025-02-17 12:05:25 +08:00
Karl Seguin
b60a91f53c
fix memory leak
2025-02-17 11:45:19 +08:00
Karl Seguin
b1c3de6518
zig fmt
2025-02-13 17:32:01 +08:00
Karl Seguin
a43a6a299c
Merge branch 'main' into cdp_struct
2025-02-13 17:30:15 +08:00
Pierre Tachoire
d8fae5bc41
Merge pull request #408 from karlseguin/websocket_server
...
wpt / web platform tests (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig build release (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
zig-test / demo-puppeteer (push) Has been cancelled
Make TCP server websocket-aware
2025-02-13 09:04:23 +01:00
Karl Seguin
fa9b6f58e5
trying to fix submodule version
2025-02-13 09:42:26 +08:00
Karl Seguin
89ff1411e9
Fix memory leak on invalid websocket continuation frames
2025-02-13 09:34:25 +08:00
Karl Seguin
701e8277d6
support continuation frames
2025-02-13 08:51:21 +08:00
Karl Seguin
4a11f80c45
Make websocket client reader stateful
...
Move more logic into the reader. Avoid copying partial messages in
cases where we know that the buffer is large enough.
This is mostly groundwork for trying to add support for continuation
frames.
2025-02-13 08:51:21 +08:00
Karl Seguin
f1b275d5d0
Increase fuzz count. Add test for [too] large HTTP requests
2025-02-13 08:51:21 +08:00
Karl Seguin
68e0ffc95c
"fix" test compilation
2025-02-13 08:51:21 +08:00
Karl Seguin
0753eb7691
zig fmt
2025-02-13 08:51:21 +08:00
Karl Seguin
92afcd174d
remove websocket.zig dependency from build
2025-02-13 08:51:21 +08:00
Karl Seguin
94be7a0e79
Make TCP server websocket-aware
...
Adding HTTP & websocket awareness to the TCP server.
HTTP server handles `GET /json/version` and websocket upgrade requests.
Conceptually, websocket handling is the same code as before, but receiving
data will parse the websocket frames and writing data will wrap it in
a websocket frame.
The previous `Ctx` was split into a `Server` and a `Client`. This was
largely done to make it easy to write unit tests, since the `Client` is
a generic, all its dependencies (i.e. the server) can be mocked out. This
also makes it a bit nicer to know if there is or isn't a client (via the
server's client optional).
Added a MemoryPool for the Send object (I thought that was a nice touch!)
Removed MacOS hack on accept/conn completion usage.
Known issues:
- When framing an outgoing message, the entire message has to be duped. This
is no worse than how it was before, but it should be possible to eliminate
this in the future. Probably not part of this PR.
- Websocket parsing will reject continuation frames. I don't know of a single
client that will send a fragmented message (websocket has its own
message fragmentation), but we should probably still support this just in
case.
- I don't think the receive, timeout and close completions can safely be
re-used like we're doing. I believe they need to be associated with a specific
client socket.
- A new connection creates a new browser session. I think this is right (??),
but for the very first, we're throwing out a perfectly usable session. I'm
thinking this might be a change to how Browser/Sessions work.
- zig build test won't compile. This branch reproduces the issue with none
of these changes:
https://github.com/karlseguin/browser/tree/broken_test_build
(or, as a diff to main):
https://github.com/lightpanda-io/browser/compare/main...karlseguin:broken_test_build
2025-02-13 08:51:19 +08:00