Commit Graph
28 Commits
Author SHA1 Message Date
ldm0 661526a6bd build: use lexmount curl-rust fork 2026-09-10 14:37:03 +08:00
ldm0 e194c2add8 refactor(html): centralize input type states
Extract an independently mergeable topic from wpt-misc-fix at
a70a96f9d1.

Source commits:
- 05e2cd5350

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-10 04:05:23 +08:00
ldm0 17e8fa5cf9 refactor(html): extract window features parser 2026-09-09 17:58:17 +08:00
ldm0 2c7a46352d perf(dom): compact named index strings 2026-09-05 00:51:49 +08:00
ldm0 0da0f1cc47 fix(cssom): decode escaped property rule names 2026-09-04 04:21:19 +08:00
ldm0 017c53de8c build(v8): migrate Moli to V8 15.2 2026-09-03 15:17:48 +08:00
ldm0 fc61efed55 build: use one codegen unit for release binaries 2026-09-01 11:50:10 +08:00
ldm0 c1204434f7 fix(layout): implement automatic table column sizing 2026-08-31 11:59:59 +08:00
ldm0 b09fee1df2 feat(layout): expose resolved Grid tracks 2026-08-30 05:41:30 +08:00
ldm0 ba24bc7abe fix(layout): preserve calc lengths in intrinsic margins 2026-08-29 19:11:35 +08:00
ldm0 9720a46768 perf(style): narrow conservative invalidation fallback 2026-08-28 15:18:42 +08:00
ldm0 e5f4ef1f5f Resolve used aspect ratios at layout boundaries 2026-08-28 04:41:52 +08:00
ldm0 9cef93dc59 fix(css): honor document color schemes 2026-08-27 19:57:05 +08:00
ldm0 5e173f3a5a refactor(encoding): extract legacy charset detector 2026-08-27 17:53:51 +08:00
ldm0 155d6321e5 fix(tls): use curl AWS-LC root probe 2026-08-27 02:04:51 +08:00
ldm0 d7ce6655ff refactor(content-type): centralize parsing semantics 2026-08-26 20:28:00 +08:00
ldm0 ddab89586a fix(layout): keep scrollbar gutters out of overflow 2026-08-23 03:49:48 +08:00
ldm0 897e8e88a2 feat(layout): model physical scrollbar insets 2026-08-23 03:49:48 +08:00
Athul Nambiar 777ae9af36 fix(cli): enforce --obey-robots against robots.txt
`--obey-robots` parsed into `FetchConfig` and stopped there. Its only
consumer was the network trace, which reported the flag's own value back
out; no robots.txt was ever fetched or honored. The webfetch skill
meanwhile told agents to enable it for crawl workloads, so a crawl could
report that it obeyed robots.txt while ignoring it.

Add `moli-robots`, a dependency-light RFC 9309 parser and matcher:

- group parsing, including merged repeat groups and `User-agent` runs;
- user-agent selection by specificity with `*` as the fallback group;
- `Allow`/`Disallow` with `*` and `$`, longest match winning and `Allow`
  taking ties;
- percent-encoding normalization so a pattern and a request target
  compare in one space;
- the RFC 9309 section 2.3.1 response rules, where 4xx publishes no rules
  and 5xx or a transport failure disallows the origin.

Wire it into `moli fetch`. The check runs before the browser starts, so a
refused URL costs one robots.txt request and the target is never
contacted.

Scope is the top-level navigation. Subresource and protocol-server
navigations run through NavigationEngine, whose redirect, service-worker,
and CDP paths need a design decision of their own; `moli serve
--obey-robots` now warns that it is not enforced instead of appearing to
work.

Fixes #79
2026-08-21 02:34:26 +08:00
ldm0 4694c71a84 feat: add browser action batching model 2026-08-18 01:04:04 +08:00
ldm0 ce7fa9cd17 feat: implement Web Bot Auth signing 2026-08-16 15:19:40 +08:00
ldm0 d1f20f66f8 Use a global CSS layout-unit grid 2026-08-13 19:22:29 +08:00
ldm0 48742bb657 refactor: extract protocol server crate 2026-08-13 13:43:26 +08:00
ldm0 91c281d2c7 fix(parser): expose CDATA from xml5ever 2026-08-13 07:07:00 +08:00
ldm0 d785c20317 Use distinct container baselines from Taffy 2026-08-11 19:33:01 +08:00
ldm0 63eb3d6bc2 Fix inline-block baseline propagation 2026-08-11 16:34:44 +08:00
ldm0 bb5c9d0fd3 Refactor intrinsic sizing through Taffy 2026-08-11 13:34:06 +08:00
ldm0 27b5135cb6 Public preview 2026-08-11 00:10:12 +08:00