You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Surface capture degradation in the dashboard instead of stderr #280
bidi.py, snapshot.py, screencast.py, lifecycle.py and __init__.py warn with print(file=sys.stderr). terminal.py tees stdout only,
by design, and logcapture.py forwards records from the selenium_devtools
logger, so a raw stderr print reaches neither channel. Losing BiDi therefore
leaves the Console and Network panels silently empty with no explanation anywhere
in the UI.
Acceptance criteria
Every degradation warning routes through logging.getLogger("selenium_devtools"). A run with BiDi unavailable states the
reason in the dashboard Console. A unit test asserts a warning reaches the
capturer.
Every degradation warning now logs to the package logger (`selenium_devtools.`), so `LogCapturer` forwards it to the dashboard Console. Verified with `DEVTOOLS_BIDI=0`: the run states the reason instead of leaving Console and Network silently empty.
Terminal visibility is unchanged without a dashboard, since `logging.lastResort` still puts a WARNING on stderr. `wait_for_dashboard_close` keeps its print deliberately: it explains why the terminal is blocking, so it has to be on the terminal, and lastResort ignores INFO.
Activity
vishnuv688 commentedon Aug 17, 2026
Fixed on main in c043f0a + 8e50fcb.
Every degradation warning now logs to the package logger (`selenium_devtools.`), so `LogCapturer` forwards it to the dashboard Console. Verified with `DEVTOOLS_BIDI=0`: the run states the reason instead of leaving Console and Network silently empty.
Terminal visibility is unchanged without a dashboard, since `logging.lastResort` still puts a WARNING on stderr. `wait_for_dashboard_close` keeps its print deliberately: it explains why the terminal is blocking, so it has to be on the terminal, and lastResort ignores INFO.