Mathew Sir Guest the best
5245757cc8
feat: public API — wabot.browser()/sessions()/destroy() with reattach flow
2026-07-08 22:13:01 -06:00
Mathew Sir Guest the best
3d0e00e88f
fix: Browser.quit() stops managed driver service; document facade semantics
2026-07-08 22:08:56 -06:00
Mathew Sir Guest the best
4734915475
feat: Browser facade with working refuse-after-exception guard
2026-07-07 23:25:24 -06:00
Mathew Sir Guest the best
cafacee2b9
test: verify screenshot seam alignment; release tile buffers
2026-07-07 23:23:17 -06:00
Mathew Sir Guest the best
ab50a984a8
feat: full-page screenshots (firefox raw command, chromium PIL stitch)
2026-07-07 23:14:53 -06:00
Mathew Sir Guest the best
2adb7b2236
fix: set_checkbox propagates click failure; coerce set_el_value; cover alerts/selects
2026-07-07 23:12:11 -06:00
Mathew Sir Guest the best
c99b9509f4
feat: Page interaction helpers (paced clicks, forms, alerts, waits)
2026-07-07 23:01:09 -06:00
Mathew Sir Guest the best
fbb7d4114a
fix: graceful handling of malformed element declarations; quiet absent-element log
2026-07-07 22:58:05 -06:00
Mathew Sir Guest the best
6af8468730
feat: Page element maps with MRO inheritance and typed dispatch
2026-07-07 22:48:18 -06:00
Mathew Sir Guest the best
9e825ffd80
test: assert field pacing wiring; simplify NullField
2026-07-07 22:45:46 -06:00
Mathew Sir Guest the best
807b91e902
feat: typed field wrappers with pacing (port of legacy fields.py)
2026-07-07 22:37:33 -06:00
Mathew Sir Guest the best
14281a0774
fix: attach() closes executor on failure; guard session adoption
2026-07-07 22:35:44 -06:00
Mathew Sir Guest the best
3cec3f647b
feat: session reattach via ReattachingRemote (adopts saved session id)
2026-07-07 22:25:33 -06:00
Mathew Sir Guest the best
65d31e8821
fix: ManagedService terminates unresponsive drivers; stop_service reaps children
2026-07-07 22:23:09 -06:00
Mathew Sir Guest the best
f82b77ae62
feat: ManagedService spawns detached driver services that outlive python
2026-07-07 22:08:32 -06:00
Mathew Sir Guest the best
e9d307e020
fix: service_alive returns False for non-HTTP responders
2026-07-07 22:05:03 -06:00
Mathew Sir Guest the best
99cfe0337c
feat: options builder, /status liveness check, ExternalServer host
2026-07-07 21:54:48 -06:00
Mathew Sir Guest the best
1909eb621e
fix: harden SessionStore — per-record timestamp handling, atomic writes, robust quarantine
2026-07-07 21:49:05 -06:00
Mathew Sir Guest the best
8a81f16d7d
feat: JSON SessionStore with stale eviction (replaces pickle persistence)
2026-07-07 21:39:11 -06:00
Mathew Sir Guest the best
f5e358393d
test: assert pacing actually varies; document NoPacing as policy base
2026-07-07 21:37:33 -06:00
Mathew Sir Guest the best
25aaa5d4da
feat: pacing policies (HumanPacing default behavior, NoPacing for tests)
2026-07-07 21:30:09 -06:00
Mathew Sir Guest the best
afa47186cc
build: replace setup.py with uv project, src layout
2026-07-07 21:23:55 -06:00
Mathew Sir Guest the best and Claude Fable 5
f3f6d23cc6
docs: implementation plan for the modernization (18 TDD tasks)
...
APIs verified against installed selenium 4.45.0 / uv 0.11.26 /
pytest 9.1.1 / sphinx 9.1.0, including a live end-to-end run of the
session-reattach pattern against chromedriver 150.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 21:20:43 -06:00
Mathew Sir Guest the best and Claude Fable 5
12ef5d7eee
docs: add CLAUDE.md and modernization design spec
...
Design approved in brainstorming session: uv packaging, Selenium 4
migration, session persistence rebuilt on JSON + session-ID reattach
(replacing pickle/dill), configurable pacing, pytest unit+integration
tiers, Sphinx docs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 20:07:07 -06:00
Mathew Guest
bd631fb008
doc: small readme
2024-11-15 04:06:23 -07:00