Commit Graph

21 Commits

Author SHA1 Message Date
3d0e00e88f fix: Browser.quit() stops managed driver service; document facade semantics 2026-07-08 22:08:56 -06:00
4734915475 feat: Browser facade with working refuse-after-exception guard 2026-07-07 23:25:24 -06:00
cafacee2b9 test: verify screenshot seam alignment; release tile buffers 2026-07-07 23:23:17 -06:00
ab50a984a8 feat: full-page screenshots (firefox raw command, chromium PIL stitch) 2026-07-07 23:14:53 -06:00
2adb7b2236 fix: set_checkbox propagates click failure; coerce set_el_value; cover alerts/selects 2026-07-07 23:12:11 -06:00
c99b9509f4 feat: Page interaction helpers (paced clicks, forms, alerts, waits) 2026-07-07 23:01:09 -06:00
fbb7d4114a fix: graceful handling of malformed element declarations; quiet absent-element log 2026-07-07 22:58:05 -06:00
6af8468730 feat: Page element maps with MRO inheritance and typed dispatch 2026-07-07 22:48:18 -06:00
9e825ffd80 test: assert field pacing wiring; simplify NullField 2026-07-07 22:45:46 -06:00
807b91e902 feat: typed field wrappers with pacing (port of legacy fields.py) 2026-07-07 22:37:33 -06:00
14281a0774 fix: attach() closes executor on failure; guard session adoption 2026-07-07 22:35:44 -06:00
3cec3f647b feat: session reattach via ReattachingRemote (adopts saved session id) 2026-07-07 22:25:33 -06:00
65d31e8821 fix: ManagedService terminates unresponsive drivers; stop_service reaps children 2026-07-07 22:23:09 -06:00
f82b77ae62 feat: ManagedService spawns detached driver services that outlive python 2026-07-07 22:08:32 -06:00
e9d307e020 fix: service_alive returns False for non-HTTP responders 2026-07-07 22:05:03 -06:00
99cfe0337c feat: options builder, /status liveness check, ExternalServer host 2026-07-07 21:54:48 -06:00
1909eb621e fix: harden SessionStore — per-record timestamp handling, atomic writes, robust quarantine 2026-07-07 21:49:05 -06:00
8a81f16d7d feat: JSON SessionStore with stale eviction (replaces pickle persistence) 2026-07-07 21:39:11 -06:00
f5e358393d test: assert pacing actually varies; document NoPacing as policy base 2026-07-07 21:37:33 -06:00
25aaa5d4da feat: pacing policies (HumanPacing default behavior, NoPacing for tests) 2026-07-07 21:30:09 -06:00
afa47186cc build: replace setup.py with uv project, src layout 2026-07-07 21:23:55 -06:00