Repository navigation
v0.4.0
The connection daemon is gone: every command opens its own Firefox connection, nothing to start or stop. New since 0.3.0: --with-page on every action, --query on every read command, a bare ff-rdp home view with a SessionStart hook, and fixes for Firefox 152 through 157.
Background on the reset: kb/research/step-back-2026-10-02.md.
Breaking / Removed
| Removed | Use instead |
|---|---|
daemon status, daemon stop, --no-daemon, --daemon-timeout |
nothing; run commands directly |
| cross-command event capture via the daemon | navigate URL --with-network, or network --follow > net.ndjson & started first |
throttle command |
navigate/reload --throttle slow-3g|fast-3g --block PATTERN (that load only) |
emulate command |
screenshot --color-scheme light|dark --media print|screen, navigate --user-agent UA |
network --since |
network --follow |
inspect <actor-id> |
inspect <js-expression> [--depth N] |
--wait-timeout on wait and navigate |
--timeout-ms (no alias) |
screenshot --viewport-height, --dppx |
screenshot --window-size WxH or launch --window-size WxH |
meta.route, meta.daemon_fallback, eval meta.eval_path, click entered |
gone from the envelope |
Also:
- Refs (
e<N>) are stamped on elements and numbered per document. A ref from an earlier page fails witherror_type: "stale_ref"instead of clicking the wrong thing. page-textis capped at 8000 characters (--fulllifts it);storagevalues at 2048 (--max-value-chars 0).--fields/--sortwith an unknown name exit 1.launch:results.auto_consentis nowresults.auto_consent_extension_installed;--replaceonly stops Firefoxes that ff-rdp launched.- Bare
ff-rdpexits 0 with the home view, not usage exit 2. ff-rdp-core:fronts/merged intoactors/;ObjectActor::own_property_namesandset_custom_viewport_sizeremoved.
Added
- Act and see:
--with-pageonnavigate,click,type,reload,back,forward,scrollreturns the resulting page (headings, reader excerpt, interactive refs,page.factsfrom infoboxes).--query TEXTnarrows it. - Find, don't guess:
--query/--query-regexonpage-text,snapshot,a11y summary,dom. - Ambient context: bare
ff-rdpshows browser, tabs and the current page;install-hook --claude|--codexadds aSessionStarthook. - Network:
navigate --with-network --headers/--security;network --source watcher|performance-api. - Consent:
consent accept/navigate --auto-consenthandle Sourcepoint, BBC and consentmanager;click --frame/eval --framereach cross-origin iframes. - Launch:
--window-size WxH,--launch-timeout SECS,--english-language-pack;FF_RDP_PORThonoured everywhere. a11y --native,click/type --visible|--index N,wait --sleep-ms,evaltop-levelawait,profiles prune --all --dry-run,cookies --fields/--sort/--limit.
Changed
navigatereports the real HTTPstatus; DNS and certificate errors fail with exit 7 / 8 on every nav verb and--with-page.clickhit-tests first (click_obscured/click_offscreen), and waits for the navigation it starts.evalgives each call its own scope (--no-isolateopts out);--stringifyawaits Promises; rejected Promises are errors.perf vitals/auditreportnullfor unmeasurable LCP/CLS/TBT instead of a fabricated good score.- JS exceptions and
--jqerrors land in the JSON envelope aserror_type: "User".
Fixed
- Firefox 152: cookies enumeration, navigate events budget. 153: screenshots, a11y tree. 155: full-page screenshots. 156/157: protocol contracts, greeting.
reload/back/forwardresolve in milliseconds instead of a 21 s fallback.network --headersreturned empty headers; one-shotnetworkhung on noisy pages.styles --layoutreported zeros forpxvalues;--full-pagescreenshots froze fixed elements.- Launch leaks: stale profiles, recycled PIDs, orphaned Firefoxes.
Internal
Nightly live sweep, one required ci check, discipline gates and the Codex supervisor layer deleted, 178k to 156k Rust lines.