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

akvo / iwsims / #179
89%

Build:
DEFAULT BRANCH: main
Ran 09 Oct 2026 06:51AM UTC
Jobs 1
Files 110
Run time 1min
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

09 Oct 2026 06:44AM UTC coverage: 88.643% (+0.01%) from 88.629%
#179

push

coveralls-python

web-flow
 [#89] Stop pending submissions showing as batches in the Pending Approval tab (#90)

* [#89] Load pending data list in one query instead of one per row

- Fetch created_by, administration, form and parent with select_related
  in PendingFormDataView.get
- Compute has_answer_history with an Exists subquery instead of a
  COUNT query per row in ListPendingFormDataSerializer
- Check form.parent_id so the parent form is not loaded per row
- Reuse the paginator's count instead of running count() twice more
- Add a test that the query count does not grow with the number of rows

A 10-row page went from 41 queries to 1 (2.48s to 0.04s on the test
cluster). The slow response is what let a stale pending-data reply land
in the Pending Approval tab.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* [#89] Stop stale pending rows showing in the Pending Approval tab

- Ignore responses for a tab, page, form or filter the user already left,
  using an active flag cleared in the fetch effect's cleanup
- Clear the table and total when the tab or form changes in Submissions
- Apply the same guard to the Control Center PanelSubmissions panel

The slow form-pending-data reply could arrive after the batch reply and
replace it, so pending submissions were drawn with batch columns and
showed "No Approver" with an empty Total Data.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* [#89] Address review: serializer fallback and steadier query-count test

- ListPendingFormDataSerializer.get_answer_history falls back to an
  exists() query when the has_answer_history annotation is missing, so
  the serializer is safe to reuse outside PendingFormDataView
- Add a test for the serializer without the annotation
- Assert the 5-row request runs no more queries than the 1-row request
  instead of exactly as many, so a cache warmed by the first request
  can... (continued)

5837 of 6743 branches covered (86.56%)

Branch coverage included in aggregate %.

10749 of 11968 relevant lines covered (89.81%)

0.9 hits per line

Coverage Regressions

Lines Coverage ∆ File
17
83.75
0.09% api/v1/v1_data/serializers.py
2
87.26
0.02% api/v1/v1_data/views.py
Jobs
ID Job ID Ran Files Coverage
1 #179.1 09 Oct 2026 06:51AM UTC 110
88.64
Source Files on build #179
  • Tree
  • List 110
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • af6525bf on github
  • Prev Build on main
  • Next Build on main
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc