Commit Graph

15 Commits

Author SHA1 Message Date
154344e94a refactor: rename sessions submodule to _sessions to avoid shadowing sessions()
wabot/__init__.py defines def sessions(...) and also had a sessions.py
submodule, so wabot.sessions (attribute) resolved to the function,
shadowing the module for import wabot.sessions as m style access. This
is the same class of collision that browser.py -> _browser.py already
fixed. Renaming to _sessions.py removes the ambiguity and lets
docs/api.rst drop the :no-index: Sphinx workaround in favor of plain
autoclass directives on the public SessionRecord/SessionStore
re-exports.
2026-07-12 15:37:56 -06:00
a83a95c4e8 docs: sync Task 13 conftest with the dir-scoped marker fix 2026-07-08 22:37:37 -06:00
8ed9565c88 refactor: rename browser submodule to _browser to avoid shadowing browser() 2026-07-08 22:31:46 -06:00
b20cf0d10b fix: browser()/destroy() never leak a managed driver service 2026-07-08 22:28:09 -06:00
3d0e00e88f fix: Browser.quit() stops managed driver service; document facade semantics 2026-07-08 22:08:56 -06:00
cafacee2b9 test: verify screenshot seam alignment; release tile buffers 2026-07-07 23:23:17 -06:00
2adb7b2236 fix: set_checkbox propagates click failure; coerce set_el_value; cover alerts/selects 2026-07-07 23:12:11 -06:00
fbb7d4114a fix: graceful handling of malformed element declarations; quiet absent-element log 2026-07-07 22:58:05 -06:00
9e825ffd80 test: assert field pacing wiring; simplify NullField 2026-07-07 22:45:46 -06:00
14281a0774 fix: attach() closes executor on failure; guard session adoption 2026-07-07 22:35:44 -06:00
65d31e8821 fix: ManagedService terminates unresponsive drivers; stop_service reaps children 2026-07-07 22:23:09 -06:00
e9d307e020 fix: service_alive returns False for non-HTTP responders 2026-07-07 22:05:03 -06:00
1909eb621e fix: harden SessionStore — per-record timestamp handling, atomic writes, robust quarantine 2026-07-07 21:49:05 -06:00
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
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