Default OPDS2+ODL skipped_license_formats to empty (PP-4044)#3276
Default OPDS2+ODL skipped_license_formats to empty (PP-4044)#3276jonathangreen merged 2 commits intomainfrom
Conversation
Previously new ODL 2.0 integrations defaulted to skipping the "text/html" license format, which suppressed the streaming delivery mechanism. Production audit shows existing rows either omit the setting or already store an empty list, so flipping the default doesn't require a data migration.
|
Claude finished @jonathangreen's task in 1m 10s —— View job Review
The change is minimal, correct, and well-motivated. Flipping |
The OPDS2+ODL fixtures feed.json and feed-audiobook-streaming.json both declare a text/html license format. With the new default empty skipped_license_formats, these now produce an additional streaming delivery mechanism alongside the existing ones.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3276 +/- ##
==========================================
- Coverage 93.31% 93.31% -0.01%
==========================================
Files 502 502
Lines 46178 46178
Branches 6315 6315
==========================================
- Hits 43093 43091 -2
- Misses 2001 2002 +1
- Partials 1084 1085 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Description
Change the default value of
OPDS2WithODLSettings.skipped_license_formatsfrom["text/html"]to[]. ODL 2.0 integrations will no longer suppress thetext/htmllicense format by default, which means the streaming delivery mechanism (STREAMING_DRM) will be emitted for those titles.Motivation and Context
PP-4044. We want streaming web-reader delivery to be active by default for ODL integrations.
A production audit of the
integration_configurations.settingsJSONB column across our environments confirmed that every existing ODL 2.0 row either omitsskipped_license_formatsor already stores[]— none store the previous["text/html"]default explicitly. Rows that omit the key will pick up the new default and start emitting streaming formats; that behavior change is the goal, and because nothing stores the old default explicitly we don't need a data migration to clear it out.How Has This Been Tested?
Existing extractor tests in
tests/manager/integration/license/opds/odl/test_extractor.pycontinue to cover the explicit-skip path. The change is a single default-value flip; behavior under explicit configuration is unchanged.Checklist