• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kobotoolbox / kpi / 25055583285
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 28 Apr 2026 01:31PM UTC
Jobs 10
Files 912
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Apr 2026 01:26PM UTC coverage: 82.216% (+1.0%) from 81.238%
25055583285

push

github

web-flow
fix(submissions): return 400 error message from OpenRosa for an invalid deprecatedID DEV-1807 (#6942)

### đŸ—’ī¸ Checklist

1. [X] run linter locally
2. [X] update developer docs (API, README, inline, etc.), if any
3. [X] for user-facing doc changes create a Zulip thread at `#Support
Docs Updates`, if any
4. [X] draft PR with a title `<type>(<scope>)<!>: <title> DEV-1234`
5. [X] assign yourself, tag PR: at least `Front end` and/or `Back end`
or `workflow`
6. [X] fill in the template below and delete template comments
7. [X] review thyself: read the diff and repro the preview as written
8. [X] open PR & confirm that CI passes & request reviewers, if needed
9. [ ] delete this section before merging

### đŸ“Ŗ Summary
Updated the submission process to return a clear error message when an
edit is attempted with an invalid ID, preventing a system crash when a
record cannot be found.

### 👀 Preview steps

1. â„šī¸ have an account and a project with at least one submission
2. Create an xml locally to use in your POST request. Use the data id
and instanceID from a submission on your project. Ex: malformed_edit.xml
```
<data id="aoFFSYk8J8ND8A5WrbYbkX">
<meta>
<instanceID>uuid:4cb7bce0-8f0b-427c-aa8c-6b13d895f251</instanceID>
<deprecatedID>uuid:this-uuid-does-not-exist-in-db</deprecatedID>
</meta>
<test_node>Testing the 500 error fix</test_node>
</data>
```
3. Make a POST request locally:
```
curl -v -X POST \
-H "Authorization: Token <your_token>" \
-H "X-OpenRosa-Version: 1.0" \
-F "xml_submission_file=@malformed_edit.xml" \
http://kf.kobo.local/submission
```
4. 🔴 [on main] Receive a 500 INTERNAL SERVER ERROR 
5. đŸŸĸ [on PR] Receive a 400 Bad Request with this message:
```
<OpenRosaResponse xmlns="http://openrosa.org/http/response">
                <message nature="">Invalid submission - deprecatedID not found.</message>
```

9035 of 12110 branches covered (74.61%)

6 of 18 new or added lines in 2 files covered. (33.33%)

29804 of 36251 relevant lines covered (82.22%)

5.78 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
44.51
-0.63% kobo/apps/openrosa/libs/utils/logger_tools.py
2
83.64
-2.08% kobo/apps/openrosa/apps/logger/exceptions.py
Jobs
ID Job ID Ran Files Coverage
1 25055583285.1 28 Apr 2026 01:31PM UTC 908
52.6
2 25055583285.2 28 Apr 2026 01:31PM UTC 908
54.21
3 25055583285.3 28 Apr 2026 01:32PM UTC 910
53.81
4 25055583285.4 28 Apr 2026 01:33PM UTC 908
52.9
5 25055583285.5 28 Apr 2026 01:33PM UTC 910
55.45
6 25055583285.6 28 Apr 2026 01:34PM UTC 910
66.02
7 25055583285.7 28 Apr 2026 01:34PM UTC 910
54.24
8 25055583285.8 28 Apr 2026 01:35PM UTC 910
61.35
9 25055583285.9 28 Apr 2026 01:35PM UTC 912
68.24
10 25055583285.10 28 Apr 2026 01:35PM UTC 908
60.23
Source Files on build 25055583285
  • Tree
  • List 912
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • abff6624 on github
  • Prev Build on main (#25044449474)
  • Next Build on main (#25056648549)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc