• 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
  • fix/exclude-deleted-datapoints-from-dashboard-views
  • main

29 Sep 2026 10:30AM UTC coverage: 88.629% (-0.02%) from 88.65%
#171

push

coveralls-python

ifirmawan
[#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 frontend container could not read the
  result and answered 403, so devices failed those datapoints on every sync
  and never finished it
- Copy content only (shutil.copyfile) and chmod 0644; the explicit chmod also
  covers an overwrite, which would otherwise keep an existing file's mode
- Test: a 0600 source and an overwritten 0600 file both end up 0644
- Plan doc Part 3: cause, fix and the one-off chmod for files already stored
  (applied on test: 2,746 files); re-run it after deploying

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

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

5834 of 6741 branches covered (86.55%)

Branch coverage included in aggregate %.

10745 of 11965 relevant lines covered (89.8%)

0.9 hits per line

Relevant lines Covered
Build:
Build:
11965 RELEVANT LINES 10745 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
#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
#169 HEAD Merge 7a050d001 into 03d0f45fa push 29 Sep 2026 08:37AM UTC web-flow coveralls-python
88.63
#168 HEAD Merge cde67edc5 into 03d0f45fa push 29 Sep 2026 08:37AM UTC web-flow coveralls-python
88.64
#167 feature/84-mobile-app-total-number-are-diff [#84] Align mobile form counts with the server list and flag incomplete syncs Form card counts: - Count a datapoint as downloaded (locallyCreated = 0) once the server returns it in datapoint-list, including unchanged rows, so the card title mat... Pull #85 29 Sep 2026 07:35AM UTC ifirmawan coveralls-python
88.64
#166 feature/84-mobile-app-total-number-are-diff Merge pull request #83 from akvo/feature/82-showing-facility-name-on-the-draft-list [#82] feat: include parent facility name in datapoint name for draft list push 29 Sep 2026 05:45AM UTC web-flow coveralls-python
88.62
#165 main Merge pull request #83 from akvo/feature/82-showing-facility-name-on-the-draft-list [#82] feat: include parent facility name in datapoint name for draft list push 29 Sep 2026 03:10AM UTC web-flow coveralls-python
88.62
#164 feature/82-showing-facility-name-on-the-draft-list [#82] feat: include parent facility name in datapoint name for draft list Convert datapoint_name from a simple field to a SerializerMethodField that concatenates parent and child names with a newline separator when a parent exists, enabling facil... Pull #83 29 Sep 2026 03:02AM UTC ifirmawan coveralls-python
88.64
#163 feature/82-showing-facility-name-on-the-draft-list Merge pull request #81 from akvo/feature/80-send-mail-over-smtp [#80] Send mail over SMTP instead of through Mailjet push 29 Sep 2026 02:57AM UTC web-flow coveralls-python
88.63
#162 main Merge pull request #81 from akvo/feature/80-send-mail-over-smtp [#80] Send mail over SMTP instead of through Mailjet push 22 Sep 2026 02:12AM UTC web-flow coveralls-python
88.63
See All Builds (170)
  • 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