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

kobotoolbox / kpi / 29078853307
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dev-1594-permissions-enforcement-and-activity-logging
DEFAULT BRANCH: master
Ran 10 Jul 2026 08:13AM UTC
Jobs 10
Files 893
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

10 Jul 2026 08:08AM UTC coverage: 81.495%. Remained the same
29078853307

push

github

web-flow
feat(bulkProcessing): poll activity logs if bulk processing is in progress DEV-2381 (#7205)

### đŸ“Ŗ Summary

Activity log now automatically updates bulk processing counters while
jobs are running.

### 💭 Notes

Changes here:
- **FormActivity.tsx**: Added polling to the activity logs query. When
there's an ongoing bulk transcription or translation job in the activity
log, the page refreshes every 10 seconds to update the progress counter.
Once all jobs finish (or if there aren't any running), polling stops
automatically.

The polling follows the same pattern we use in the data table for bulk
actions, adapted for the activity log context where we have less
detailed info available.

### 👀 Preview steps

1. â„šī¸ Have a project with audio questions and some submissions
2. Go to Project → Data → Table
3. Start a bulk transcription job on a few submissions
4. Navigate to Project → Settings → Activity
5. 🔴 [on main] The bulk processing activity shows up but the counter
(e.g., "0/10") never updates unless you refresh the page
6. đŸŸĸ [on PR] The counter updates automatically every 5 seconds showing
progress (e.g., "3/10" → "5/10" → "10/10")
7. đŸŸĸ Once the job completes, the activity log shows the final state and
stops polling

9306 of 12631 branches covered (73.68%)

30304 of 37185 relevant lines covered (81.5%)

5.52 hits per line

Coverage Regressions

Lines Coverage ∆ File
667
5.22
-74.11% kpi/utils/query_parser/canopy_autogenerated_parser/__init__.py
306
27.96
-50.33% kpi/models/import_export_task.py
188
58.52
-33.04% kpi/models/asset.py
188
34.8
-29.47% kpi/serializers/v2/asset.py
123
28.65
-33.24% kpi/views/v2/asset.py
110
25.88
-64.71% kpi/utils/query_parser/query_parser.py
97
29.35
-48.26% kobo/apps/project_ownership/models/transfer.py
87
39.5
-43.5% kpi/utils/xml.py
83
70.3
-22.62% kpi/mixins/object_permission.py
81
0.0
-93.1% kobo/apps/stripe/serializers.py
75
0.0
-41.9% kobo/apps/stripe/views.py
71
21.6
-56.8% kobo/apps/stripe/utils/subscription_limits.py
70
23.4
-74.47% kpi/utils/xlsform_preprocessors/kobomatrix_handler.py
67
25.35
-31.46% kpi/filters.py
64
12.36
-71.91% kobo/apps/reports/report_data.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
63
0.0
-51.64% kobo/apps/stripe/models.py
61
38.83
-59.22% kpi/utils/usage_calculator.py
60
37.56
-9.88% kpi/deployment_backends/openrosa_backend.py
58
31.46
-65.17% kpi/deployment_backends/mock_backend.py
54
35.34
-40.6% kpi/paginators.py
50
54.57
-12.35% kpi/deployment_backends/base_backend.py
49
28.28
-49.49% kpi/password_validation.py
47
19.72
-66.2% kpi/utils/sluggify.py
46
43.91
-10.57% kobo/apps/audit_log/models.py
44
37.07
-37.93% kpi/models/asset_snapshot.py
42
32.54
-33.33% kpi/utils/autoname.py
39
35.2
-31.2% kpi/models/paired_data.py
38
34.52
-45.24% kobo/apps/audit_log/base_views.py
37
51.27
-18.78% kpi/mixins/formpack_xlsform_utils.py
36
20.21
-38.3% kobo/apps/stripe/utils/billing_dates.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
34
37.14
-48.57% kpi/utils/cache.py
32
53.92
-31.37% kpi/models/asset_file.py
31
62.63
-31.31% kpi/utils/django_orm_helper.py
29
21.95
-70.73% kpi/utils/xlsform_preprocessors/koboscore_handler.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
16.67
-18.0% kobo/apps/project_ownership/utils.py
26
77.37
-13.68% kobo/apps/openrosa/apps/api/viewsets/xform_list_api.py
24
40.0
-53.33% kpi/fields/jsonschema_form_field.py
24
54.84
-38.71% kpi/utils/kobo_to_xlsform.py
23
30.77
-29.49% kpi/deployment_backends/kc_access/utils.py
23
51.06
-48.94% kpi/views/v2/authorized_application_user.py
22
44.0
-44.0% kobo/apps/data_collectors/authentication.py
22
79.66
-18.64% kobo/apps/openrosa/apps/api/viewsets/xform_submission_api.py
22
31.58
-38.6% kpi/utils/mailer.py
21
65.45
-9.55% kpi/permissions.py
21
42.79
-9.77% kpi/renderers.py
21
54.55
-38.18% kpi/signals.py
21
23.08
-53.85% kpi/utils/asset_translation_utils.py
21
40.58
-30.43% kpi/utils/data_exports.py
21
26.47
-61.76% kpi/utils/export_cleanup.py
21
66.83
-10.24% kpi/utils/mongo_helper.py
20
52.38
-31.75% hub/models/extra_user_detail.py
20
0.0
-68.97% kobo/apps/audit_log/tasks.py
19
0.0
-65.52% kobo/apps/stripe/admin.py
18
35.56
-40.0% kpi/fields/file.py
18
37.84
-48.65% kpi/serializers/v2/create_user.py
18
37.93
-62.07% kpi/views/token.py
17
82.88
-3.06% kobo/apps/openrosa/libs/utils/logger_tools.py
17
46.99
-10.24% kobo/apps/organizations/views.py
17
17.86
-60.71% kpi/utils/submission.py
16
60.0
-11.43% kobo/apps/audit_log/signals.py
15
79.31
-17.24% kpi/utils/asset_content_analyzer.py
14
54.55
-8.48% kobo/apps/organizations/models.py
14
31.82
-31.82% kobo/apps/stripe/utils/limit_enforcement.py
13
37.14
-18.57% hub/utils/i18n.py
13
26.09
-56.52% kpi/fields/relative_prefix_hyperlinked_related.py
13
47.13
-14.94% kpi/tasks.py
12
42.11
-31.58% kobo/apps/data_collectors/signals.py
12
43.06
-16.67% kobo/apps/project_ownership/serializers/invite.py
12
35.0
-60.0% kobo/apps/stripe/utils/import_management.py
12
22.73
-54.55% kpi/utils/bugfix.py
11
0.0
-44.0% kobo/apps/stripe/signals.py
11
69.44
-30.56% kpi/models/asset_user_partial_permission.py
11
23.31
-3.09% kpi/serializers/v2/asset_permission_assignment.py
11
55.56
-40.74% kpi/utils/xlsform_preprocessors/base_handlers.py
10
60.71
-35.71% kobo/apps/audit_log/utils.py
10
40.0
-40.0% kobo/apps/openrosa/apps/api/utils/xml.py
10
66.2
-14.08% kobo/apps/project_ownership/models/invite.py
10
14.8
-5.1% kobo/apps/subsequences/utils/versioning.py
10
74.0
-20.0% kpi/models/asset_version.py
10
35.29
-58.82% kpi/utils/strings.py
10
38.1
-23.81% kpi/utils/urls.py
9
47.62
-21.43% kobo/apps/markdownx_uploader/models.py
9
0.0
-29.03% kobo/apps/stripe/utils/manual_subscription.py
9
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
9
0.0
-90.0% kpi/utils/fuzzy_int.py
8
0.0
-100.0% kobo/apps/stripe/urls.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
50.0
-18.42% kobo/apps/organizations/utils.py
7
61.76
-20.59% kobo/apps/storage_backends/base.py
7
0.0
-100.0% kobo/apps/stripe/apps.py
7
32.14
-25.0% kobo/apps/subsequences/utils/supplement_data.py
7
57.14
-33.33% kpi/fields/paginated_api.py
7
53.33
-46.67% kpi/maintenance_tasks.py
7
70.37
-25.93% kpi/models/extra_project_metadata_field.py
7
72.38
-6.67% kpi/utils/object_permission.py
7
71.43
-20.0% kpi/utils/project_views.py
6
89.02
-7.32% kobo/apps/openrosa/libs/serializers/xform_serializer.py
6
37.5
-37.5% kobo/apps/openrosa/libs/utils/string.py
6
62.5
-37.5% kobo/apps/organizations/signals.py
6
43.75
-37.5% kobo/apps/project_ownership/filters.py
6
72.09
-13.95% kobo/apps/project_ownership/serializers/transfer.py
6
0.0
-100.0% kobo/apps/project_views/tasks.py
6
0.0
-100.0% kobo/apps/stripe/exceptions.py
6
0.0
-37.5% kobo/apps/stripe/utils/view_utils.py
6
74.51
-11.76% kpi/context_processors.py
6
42.86
-42.86% kpi/mixins/asset.py
6
53.85
-46.15% kpi/utils/files.py
6
22.32
-5.36% kpi/utils/models.py
5
89.41
-5.88% kobo/apps/openrosa/libs/renderers/renderers.py
5
30.0
-7.14% kobo/apps/organizations/permissions.py
5
47.22
-13.89% kobo/apps/organizations/tasks.py
5
57.14
-23.81% kpi/fields/writable_json.py
5
75.0
-20.83% kpi/models/authorized_application.py
5
29.41
-14.71% kpi/utils/rename_xls_sheet.py
5
36.14
-6.02% kpi/utils/storage.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
77.5
-10.0% kobo/apps/kobo_auth/signals.py
4
62.11
-4.21% kobo/apps/openrosa/libs/utils/middleware.py
4
89.47
-7.02% kpi/deployment_backends/mixin.py
4
33.33
-66.67% kpi/utils/chunked_delete.py
4
80.0
-20.0% kpi/views/v1_api_gone.py
3
67.5
-7.5% kobo/apps/openrosa/apps/django_digest_backends/cache.py
3
31.43
-2.86% kobo/apps/organizations/admin/organization.py
3
89.19
-8.11% kobo/apps/project_views/models/project_view.py
3
76.47
-17.65% kpi/utils/pyxform_compatibility.py
3
61.54
-23.08% kpi/versioning.py
2
81.54
-1.03% kobo/apps/openrosa/apps/logger/models/instance.py
2
87.8
-4.88% kobo/apps/openrosa/libs/filters.py
2
91.3
-8.7% kobo/apps/project_ownership/views/invite.py
2
83.33
-6.67% kobo/urls.py
2
85.84
-1.77% kpi/exceptions.py
2
64.52
-6.45% kpi/mixins/standardize_searchable_field.py
2
82.61
-8.7% kpi/serializers/v2/asset_version.py
2
90.0
-10.0% kpi/utils/absolute_paths.py
2
44.62
-3.08% kpi/utils/hash.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
92.52
-0.93% kobo/apps/openrosa/apps/api/viewsets/briefcase_api.py
1
86.11
-2.78% kobo/apps/openrosa/apps/logger/fields.py
1
87.11
-0.39% kobo/apps/openrosa/apps/logger/xform_instance_parser.py
1
92.31
-7.69% kobo/apps/user_reports/utils/migrations.py
1
67.95
-1.28% kpi/authentication.py
1
57.89
-2.63% kpi/db_routers.py
1
72.73
-4.55% kpi/urls/__init__.py
1
75.0
-6.25% kpi/utils/drf_exceptions.py
Jobs
ID Job ID Ran Files Coverage
1 29078853307.1 10 Jul 2026 08:13AM UTC 889
49.62
2 29078853307.2 10 Jul 2026 08:14AM UTC 889
44.46
3 29078853307.3 10 Jul 2026 08:15AM UTC 891
54.22
4 29078853307.4 10 Jul 2026 08:15AM UTC 889
52.96
5 29078853307.5 10 Jul 2026 08:16AM UTC 891
45.82
6 29078853307.6 10 Jul 2026 08:16AM UTC 889
58.98
7 29078853307.7 10 Jul 2026 08:16AM UTC 891
50.95
8 29078853307.8 10 Jul 2026 08:18AM UTC 891
66.75
9 29078853307.9 10 Jul 2026 08:18AM UTC 891
60.14
10 29078853307.10 10 Jul 2026 08:20AM UTC 893
69.06
Source Files on build 29078853307
  • Tree
  • List 893
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • ba63b18e on github
  • Prev Build on main (#29030683318)
  • Next Build on main (#29108135139)
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