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

kobotoolbox / kpi / 26946674527
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 04 Jun 2026 10:43AM UTC
Jobs 10
Files 883
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

04 Jun 2026 10:39AM UTC coverage: 81.54%. Remained the same
26946674527

push

github

web-flow
fix(formMedia): improve multiple pending uploads handling DEV-1528 (#7095)

### 📣 Summary

Form Media now keeps the loading indicator visible until all dropped
files finish uploading, reducing confusing false-failure moments during
multi-file uploads.

### 📖 Description

This PR continues the Form Media modernization and fixes the key UX bug
from DEV-1528.

Previously, when users dropped multiple files, the loading spinner could
disappear after early files finished, even while large files were still
uploading. That made it look like upload had stopped, and users could
retry too early and hit misleading duplicate-file errors.

Now the spinner remains visible until every in-flight file upload
settles.
The PR also includes stronger story coverage for the multi-file case and
a small cleanup pass to make behavior and tests more reliable.

### 💭 Notes

Changes here:
- Form Media component:
- Added upload pending tracking based on in-flight upload count so
multi-file spinner behavior is accurate.
- Extracted pending upload tracking into a local reusable hook in the
same feature folder.
- Guarded link behavior for URL-based entries by omitting download
attribute for redirect-style items.
- Added handling for file-read failure edge case so pending state cannot
get stuck.
- Storybook and mocks:
- Added dedicated multi-file spinner story with staggered completion
timing.
- Improved assertions to target media rows/actions instead of generic
link counts.

Tiny joy nugget for reviewers (from AI):
- Spinner now does cardio all the way to the finish line instead of
clocking out after the first lap.

### 👀 Preview steps

1. Sign in and open any editable project.
2. Go to Project → Settings → Media.
3. Drag and drop at least two files, including one noticeably larger
file.
4. Confirm the uploading indicator appears immediately.
5. Wait until the small file appears in Attached files.
6. Confirm the uploading indicator is still visible while the larger
file is still proc... (continued)

8989 of 12216 branches covered (73.58%)

29532 of 36218 relevant lines covered (81.54%)

5.56 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26946674527.1 04 Jun 2026 10:43AM UTC 879
50.22
2 26946674527.2 04 Jun 2026 10:44AM UTC 879
44.93
3 26946674527.3 04 Jun 2026 10:44AM UTC 879
53.57
4 26946674527.4 04 Jun 2026 10:44AM UTC 881
46.32
5 26946674527.5 04 Jun 2026 10:45AM UTC 881
54.86
6 26946674527.6 04 Jun 2026 10:45AM UTC 879
59.38
7 26946674527.7 04 Jun 2026 10:46AM UTC 881
51.58
8 26946674527.8 04 Jun 2026 10:46AM UTC 881
66.45
9 26946674527.9 04 Jun 2026 10:47AM UTC 883
68.81
10 26946674527.10 04 Jun 2026 10:48AM UTC 881
60.55
Source Files on build 26946674527
  • Tree
  • List 883
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 4d6d1ec8 on github
  • Prev Build on main (#26932638840)
  • Next Build on main (#26953616674)
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