-
fix: resolve Hermes-found CLI bugs (wait --url, find role, invalid selector, polish)
released this
2026-06-10 05:48:49 +00:00 | 164 commits to main since this release- wait --url: the arg parser never read
--timeout, so a non-matching pattern
waited the large default and wedged the daemon. Parse it. Also: matching was a
literal substring (includes) so globs never matched — convert**/*/?
globs to an anchored regex. Andpoll_until_truenow bounds each probe with a
timeout and tolerates transient navigation errors, so a hungRuntime.evaluate
can never block past the deadline (un-wedges the daemon). - find role [--name]: the query was
[role="X"], X, which matches a
literal tag / explicit attribute but NOT implicit-role elements — so
find role link() andfind role heading() never matched. Add a
proper ARIA-role → implicit-element map and broaden accessible-name matching
(aria-label/title/alt/value/text). - click on a syntactically-invalid selector returned
✓ Done: querySelector
throws, and Runtime.evaluate returned the thrown DOMException as an objectId
that was clicked as if it were the element. Check exception_details → error. - output: a title-less page now prints
✓ <url>instead of an empty title line. - docs(skill): tab refs are
t2, not2(SKILL.md, electron).
Verified live (isolated launch): wait --url glob matches instantly; non-matching
honors --timeout (2s) and leaves the daemon responsive; find role link/heading
match; invalid selector errors. Unit tests added for the glob + role map + parse.Downloads
- wait --url: the arg parser never read