fix: remove _TolerantPlaylist shim now that ovos-media 0.4.3a1 fixes Playlist crash - #135
fix: remove _TolerantPlaylist shim now that ovos-media 0.4.3a1 fixes Playlist crash#135JarbasAl wants to merge 1 commit into
Conversation
OCPPlayerHarness patched ovos_media.player.Playlist with a subclass that
silently dropped bare string constructor args, to paper over ovos-media's
Playlist("Search Results") startup crash (OpenVoiceOS/ovos-media#96). That
crash is fixed in ovos-media 0.4.3a1. Leaving the shim in place after the
fix only masks any future regression of the same class instead of exposing
it, so the harness now constructs the real, unpatched player.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
I've scrutinized every line of your PR. Here's the report. 🧐I've aggregated the results of the automated checks for this PR below. 📋 Repo HealthThe health check is now complete. 🏁 ✅ All required files present. Latest Version: ✅ ⚖️ License CheckEnsuring the project remains 100% open source. 🔓 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🔍 LintThe automated results are now available for your perusal. 📂 ❌ ruff: issues found — see job log 🏷️ Release PreviewI've checked the 'Documentation Updates' link. 📖 Current:
✅ PR title follows conventional commit format. 🚀 Release Channel Compatibility Predicted next version:
🔒 Security (pip-audit)Checking for any insecure data transmissions. 📡 ✅ No known vulnerabilities found (79 packages scanned). 🔨 Build TestsChecking the structural resonance of the codebase. 🔊
❌ 3.10: Install OK, tests failed 📊 CoverageHow well do we know our own code? 🧠 ❌ 58.9% total coverage Files below 80% coverage (15 files)
Full report: download the The automation engine never sleeps. 🚂 |
This removes _TolerantPlaylist, a patched-in Playlist subclass the test harness used to silently drop bare string arguments so that constructing the default playlist wouldn't crash. It existed because the installed ovos-media had a real bug — Playlist("Search Results") crashed at construction, tracked as ovos-media#96 — and this shim let the harness boot despite that, at the cost of hiding any future regression of exactly that bug from everyone using the harness.
ovos-media 0.4.3a1, now on PyPI, actually fixes the crash. With the real fix in place, keeping the shim does nothing useful anymore — it just masks the exact same class of bug if it ever comes back. So this removes the shim and raises the harness's ovos-media floor to that fixed version, letting the harness construct the real, unpatched player so any future regression shows up as a test failure instead of silence.
Tested in two throwaway venvs. With the fixed ovos-media version and the shim removed, the full suite gave 9 failures out of 621 passed and 13 skipped — all 9 reproduce identically against the unmodified harness in the same venv, so they predate this change and have nothing to do with the shim, Playlist, or the harness class it patches. The harness's own test file alone passed cleanly, 32 of 32. As a negative control, the same removal was tested against the older, broken ovos-media version, and it failed exactly as expected — 6 of the harness's own tests failed with the precise crash the shim used to hide, confirming the shim really was masking that bug and not something incidental. No other references to the shim exist anywhere else in the repo.
One open item: this PR's build-tests failures are a known pre-existing class of MiniCroft boot-leak failures that reproduce identically even with the shim still in place — a separate PR (#134) addresses that class. This should be rebased and re-run once #134 lands, and shouldn't be merged red in the meantime.