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

akvo / iwsims
89%

Build:
DEFAULT BRANCH: main
Repo Added 22 May 2026 05:45AM UTC
Files 110
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • HEAD
  • chore/coveralls-should-not-fail-ci
  • epic/34-dashboard-chart-gaps
  • feature/10-feedback-show-submissions-for-upper-adm-level
  • feature/13-add-missing-field-to-comprehensive-monitoring-forms
  • feature/16-sqlite-busy-errors-stuck-fetching-data-spinner
  • feature/18-naming-all-questionnaire-for-visualisation-aggregation
  • feature/20-MV4V-1
  • feature/20-MV4V-1-3
  • feature/20-MV4V-4
  • feature/20-materialized-views-for-visualization-api-optimization
  • feature/23-questiongrouplist-is-not-scrollable
  • feature/25-site-profile
  • feature/28-update-for-rws-wwtp-and-fix-all-grammar-errors
  • feature/30-sync-mis-mobile-app-changes
  • feature/33-monitoring-draft-management
  • feature/34-cross-asset-dashboards-in-menu
  • feature/34-escalation-ordering
  • feature/34-national-overview-map-and-inspections
  • feature/34-profile-word-export
  • feature/69-bug-data-download-fails
  • feature/77-akvo-flow-data-seeder
  • feature/77-akvo-flow-form-seeder
  • feature/80-send-mail-over-smtp
  • feature/82-showing-facility-name-on-the-draft-list
  • feature/84-mobile-app-total-number-are-diff
  • feature/89-approval-tab-shows-pending-rows
  • fix/exclude-deleted-datapoints-from-dashboard-views
  • main

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

Relevant lines Covered
Build:
Build:
11968 RELEVANT LINES 10749 COVERED LINES
0.9 HITS PER LINE
Source Files on main
  • Tree
  • List 110
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
#179 main [#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 PendingFormDataV... push 09 Oct 2026 06:51AM UTC web-flow coveralls-python
88.64
#178 feature/89-approval-tab-shows-pending-rows [#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 o... Pull #90 09 Oct 2026 06:39AM UTC ifirmawan coveralls-python
88.64
#177 feature/89-approval-tab-shows-pending-rows [#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 f... push 09 Oct 2026 04:32AM UTC ifirmawan coveralls-python
88.66
#176 main [#88] Bump version to 4.2.4 and upgrade Sentry to 8.29.0 push 09 Oct 2026 02:56AM UTC ifirmawan coveralls-python
88.63
#175 main [#86] Mobile app: build on Node 22 so eas-cli 24 installs on EAS - EAS builds for SDK 53 default to Node 20.19.2, and the builder's `yarn install --frozen-lockfile` rejected @oclif/plugin-autocomplete@3.3.0 (pulled in by eas-cli 24), which re... push 05 Oct 2026 06:38AM UTC ifirmawan coveralls-python
88.63
#174 main [#86] Mobile app: bump eas-cli from 18.0.1 to 24.10.0 push 05 Oct 2026 06:30AM UTC ifirmawan coveralls-python
88.63
#173 main [#86] Say why Submit is blocked and take the user to the problem - On a blocked Submit, open the first section with a problem, close the group list, and show the field errors there - Keep "complete all required fields" only for missing answers;... push 05 Oct 2026 05:22AM UTC ifirmawan coveralls-python
88.63
#172 main [#86] Tick a question group only when its answers pass validation (#87) * [#86] Tick a question group only when its answers pass validation - Derive the group list's green tick and orange warning from the same Yup results as the header count a... push 05 Oct 2026 04:57AM UTC web-flow coveralls-python
88.63
#171 main [#84] Store uploaded files readable so nginx stops answering 403 - storage.upload used shutil.copy2, which copied the 0600 mode of the tempfile.NamedTemporaryFile that FormData.save_to_file (and the seeder's images) write first; nginx in the ... push 29 Sep 2026 10:38AM UTC ifirmawan coveralls-python
88.63
#170 main [#84] Make mobile form counts match the server, and say when a sync is incomplete (#85) * [#84] Align mobile form counts with the server list and flag incomplete syncs Form card counts: - Count a datapoint as downloaded (locallyCreated = 0) once... push 29 Sep 2026 09:09AM UTC web-flow coveralls-python
88.65
See All Builds (178)
  • Repo on GitHub
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