fix(supplementalDetails): tolerate missing 'value' in NLP results DEV-2508 - #350
Merged
platreth merged 2 commits intoJul 30, 2026
Merged
Conversation
platreth
force-pushed
the
dev-2508-guard-missing-value-in-supplemental-details
branch
from
July 29, 2026 12:49
066a28e to
dff2b0d
Compare
platreth
marked this pull request as ready for review
July 29, 2026 14:19
|
noliveleger
requested changes
Jul 29, 2026
noliveleger
left a comment
Contributor
There was a problem hiding this comment.
Only nitpicks but overall LGTM.
Also ask your robot to not limit the PR description to 80 characters per line :-D
platreth
added a commit
to kobotoolbox/kpi
that referenced
this pull request
Jul 30, 2026
…508 (#7345) ### 💭 Notes Internal only — no user-facing change, no migration. `formpack` dependency pin bump only; no KPI code changes. - Bumps the `formpack` pin `3bf65b7` → `c006832` to include [kobotoolbox/formpack#350](kobotoolbox/formpack#350) (`fix(supplementalDetails): tolerate missing 'value' in NLP results DEV-2508`): a defensive `KeyError` guard in the transcript/qual export fields.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📣 Summary
Downloading data as XLS or CSV no longer fails on projects that have an automatic transcription still waiting to be reviewed.
📖 Description
If a project had a transcription that had been generated but not yet accepted, every XLS and CSV download of that project failed with a generic "Export Failed" message. Downloads now work again, and a transcription that hasn't been accepted yet is left blank in the file, as it was before.
💭 Notes
{'languageCode': …, 'pendingReview': True}with novaluekey.QualNameSplittingTransxFieldbranched onlanguageCodeand then readresponses['value']unguarded, so a single un-accepted transcript killed the whole export.KeyErrorand returned''; this just makes the transcript branch consistent with it.QualFieldgets the same guard: a qual response may legitimately hold onlyverifiedand novalue(kpi'squalCommononeOf). Not reachable through kpi's current output transform — defensive only.subsequences/actions/mixins.py) rather than here — hence draft.formpackpin.👀 Preview steps
pip install -r dev-requirements.txtpytest tests/test_additional_field_exports.pytest_transcript_pending_review_exports_as_blankandtest_qual_response_without_value_exports_as_blankfail withKeyError: 'value', atfields.py:717andfields.py:552