Type: bug
Problem
Four runtime strings still tell the user to run a bare playwright install, the PATH-resolution failure #250 fixed and #262 removed from the docs.
playwright resolved through PATH can install a browser build into a different Python's shared cache than the one daily-driver runs under, leaving the "browser not installed" condition exactly where it was. #250 fixed doctor by emitting sys.executable — an absolute path — at plugins/job_search/doctor.py:183-186:
"Run: daily-driver doctor --fix "
f"(or: {sys.executable} -m playwright install {engine})"
The remaining sites do not:
| Site |
String |
plugins/job_search/config.py:324 |
"or webkit. Must be installed (playwright install )." |
plugins/job_search/config.py:761 |
"Shipped scrapers (Playwright, needs playwright install):" |
plugins/job_search/scraper/sources/_http.py:235 |
f"playwright install {engine}" |
plugins/job_search/scraper/sources/_http.py:249 |
"browser launch failed (run: playwright install %s): %s" |
The two config.py strings are field descriptions, so they render into every scaffolded .dd-config.yaml — the same class of user-facing documentation the docs pass corrected. The two _http.py strings are the ImportError raised when Playwright is missing and the log.error on a failed browser launch, which are exactly the moments a user reaches for the command.
Fix
Match doctor's pattern: lead with daily-driver doctor --fix, and where a manual form is given, qualify the interpreter rather than spelling a bare playwright or python3. _http.py already has sys available at the raise site; the config.py descriptions are static text, so they should point at doctor --fix rather than embed an interpreter path.
Context
#262 corrected docs/troubleshooting.md, docs/install.md and CONTRIBUTING.md; these runtime strings were outside that pass's scope and its CHANGELOG entry is scoped to the docs it touched, so nothing overclaims. Related: #250.
Type: bug
Problem
Four runtime strings still tell the user to run a bare
playwright install, the PATH-resolution failure #250 fixed and #262 removed from the docs.playwrightresolved through PATH can install a browser build into a different Python's shared cache than the one daily-driver runs under, leaving the "browser not installed" condition exactly where it was. #250 fixeddoctorby emittingsys.executable— an absolute path — atplugins/job_search/doctor.py:183-186:The remaining sites do not:
plugins/job_search/config.py:324"or webkit. Must be installed (playwright install)."plugins/job_search/config.py:761"Shipped scrapers (Playwright, needsplaywright install):"plugins/job_search/scraper/sources/_http.py:235f"playwright install {engine}"plugins/job_search/scraper/sources/_http.py:249"browser launch failed (run: playwright install %s): %s"The two
config.pystrings are field descriptions, so they render into every scaffolded.dd-config.yaml— the same class of user-facing documentation the docs pass corrected. The two_http.pystrings are theImportErrorraised when Playwright is missing and thelog.erroron a failed browser launch, which are exactly the moments a user reaches for the command.Fix
Match
doctor's pattern: lead withdaily-driver doctor --fix, and where a manual form is given, qualify the interpreter rather than spelling a bareplaywrightorpython3._http.pyalready hassysavailable at the raise site; theconfig.pydescriptions are static text, so they should point atdoctor --fixrather than embed an interpreter path.Context
#262 corrected
docs/troubleshooting.md,docs/install.mdandCONTRIBUTING.md; these runtime strings were outside that pass's scope and its CHANGELOG entry is scoped to the docs it touched, so nothing overclaims. Related: #250.