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

kobotoolbox / kpi / 28180195832
80%
master: 76%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 25 Jun 2026 03:15PM UTC
Jobs 10
Files 890
Run time 3min
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

25 Jun 2026 03:10PM UTC coverage: 81.687%. Remained the same
28180195832

push

github

web-flow
fix(formbuilder): duplicate list name DEV-2269 (#7158)

### đŸ“Ŗ Summary

Fixed a bug where adding the same select question from the Library
multiple times made all copies share one choice list, so editing one
changed all the others.

### 💭 Notes

Changes here:
- **jsapp/xlform/src/model.survey.coffee**
- `_ensure_row_list_is_copied()` - Now generates a unique `list_name`
for each library select question using `txtid()`, same as the Duplicate
button does. This is the fix.
- `insertSurvey()` - Added comments explaining how it handles both
single questions and groups from the library
- `insert_row()` - Added comments clarifying this is for the Duplicate
button (different code path)
- **jsapp/js/models/surveyScope.tsx**
- `handleItem()` and `addExternalItemAtPosition()` - Added JSDoc
comments documenting the async fetch and insert flow
- **jsapp/js/editorMixins/AssetNavigator.tsx**
- Added comments explaining how drag-drop from library works and where
items can be dropped
- **jsapp/xlform/src/view.surveyApp.coffee**
- Added comments to both receive handlers (one for main survey, one for
groups) explaining why we need two separate sortable instances
- **test/xlform/survey.tests.coffee**
- Added 2 tests that checks the flow of the bug (one for single
question, one for group of questions)
- Added test that checks a problem introduced while working on this task
(select_one questions added from Library were losing the options on
save)


The comments trace the full path from dragging a library item to giving
it a unique choice list.

### 👀 Preview steps

1. â„šī¸ Create a library question (`select_one` type with non-default
choices) and library block (a group containting some questions and a
`select_one` question)
2. Create or open a form in Formbuilder
3. Click "Add from Library" in the right panel
4. 🟡 [on main] Drag the select question into your form twice
5. Edit the first select: add a new option "Grape"
6. Save the form, then reopen Formbuilder
7. 🔴 [on main] ... (continued)

9210 of 12495 branches covered (73.71%)

30109 of 36859 relevant lines covered (81.69%)

5.54 hits per line

Coverage Regressions

Lines Coverage ∆ File
81
0.0
-93.1% kobo/apps/stripe/serializers.py
75
0.0
-41.9% kobo/apps/stripe/views.py
68
27.2
-54.4% kobo/apps/stripe/utils/subscription_limits.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
63
0.0
-51.64% kobo/apps/stripe/models.py
44
20.21
-46.81% kobo/apps/stripe/utils/billing_dates.py
41
44.68
-9.49% kobo/apps/audit_log/models.py
38
34.52
-45.24% kobo/apps/audit_log/base_views.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
24
74.76
-23.3% kpi/utils/usage_calculator.py
21
0.0
-84.0% kobo/apps/stripe/signals.py
19
47.06
-37.25% hub/models/extra_user_detail.py
19
0.0
-65.52% kobo/apps/stripe/admin.py
14
31.82
-31.82% kobo/apps/stripe/utils/limit_enforcement.py
13
37.14
-18.57% hub/utils/i18n.py
12
35.0
-60.0% kobo/apps/stripe/utils/import_management.py
9
0.0
-29.03% kobo/apps/stripe/utils/manual_subscription.py
8
0.0
-100.0% kobo/apps/stripe/urls.py
7
84.8
-1.28% kobo/apps/openrosa/libs/utils/logger_tools.py
7
0.0
-100.0% kobo/apps/stripe/apps.py
6
0.0
-100.0% kobo/apps/stripe/exceptions.py
6
0.0
-37.5% kobo/apps/stripe/utils/view_utils.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
3
31.43
-2.86% kobo/apps/organizations/admin/organization.py
3
61.21
-1.82% kobo/apps/organizations/models.py
3
60.53
-7.89% kobo/apps/organizations/utils.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
92.31
-7.69% kobo/apps/user_reports/utils/migrations.py
Jobs
ID Job ID Ran Files Coverage
1 28180195832.1 25 Jun 2026 03:15PM UTC 886
49.87
2 28180195832.2 25 Jun 2026 03:15PM UTC 886
44.66
3 28180195832.3 25 Jun 2026 03:16PM UTC 886
53.19
4 28180195832.4 25 Jun 2026 03:17PM UTC 888
46.04
5 28180195832.5 25 Jun 2026 03:17PM UTC 888
54.46
6 28180195832.6 25 Jun 2026 03:18PM UTC 888
66.81
7 28180195832.7 25 Jun 2026 03:18PM UTC 886
59.19
8 28180195832.8 25 Jun 2026 03:18PM UTC 888
51.22
9 28180195832.9 25 Jun 2026 03:20PM UTC 888
60.35
10 28180195832.10 25 Jun 2026 03:20PM UTC 890
69.13
Source Files on build 28180195832
  • Tree
  • List 890
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 3c892229 on github
  • Prev Build on main (#28177170279)
  • Next Build on main (#28183520451)
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