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

kobotoolbox / kpi / 28995843859
81%
master: 76%

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

09 Jul 2026 05:16AM UTC coverage: 81.546% (+0.06%) from 81.484%
28995843859

push

github

web-flow
feat(subsequences): background polling for async Google translations DEV-2090 (#7217)

### 📣 Summary
This PR enables background polling support for asynchronous automated
Google Translate operations.

### 📖 Description
Enables `allow_async=True` on `AutomaticGoogleTranslationAction`, so
long-running translation batch jobs now reuse the same
`poll_run_external_process` Celery task already used for automatic
transcription, instead of relying on the user to manually re-request the
translation after a timeout.

`GoogleTranslationService` now returns status: `in_progress` (instead of
status: `failed` with the `SYNC_RETRY_LATER_ERROR` message) whenever the
batch translation job is still running or a transient Google
infrastructure error occurs while starting/polling it. The Google
operation reference is preserved in these cases so the next poll resumes
the same job rather than starting a duplicate one.

9293 of 12613 branches covered (73.68%)

0 of 4 new or added lines in 1 file covered. (0.0%)

3746 existing lines in 130 files now uncovered.

30273 of 37124 relevant lines covered (81.55%)

5.52 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
20.25
-0.33% kobo/apps/subsequences/integrations/google/google_translate.py

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
80
71.12
-21.8% kpi/mixins/object_permission.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
57
32.58
-64.04% kpi/deployment_backends/mock_backend.py
54
35.34
-40.6% kpi/paginators.py
53
38.71
-8.73% kpi/deployment_backends/openrosa_backend.py
50
54.57
-12.35% kpi/deployment_backends/base_backend.py
49
28.28
-49.49% kpi/password_validation.py
48
59.0
-24.0% kpi/utils/xml.py
46
43.91
-10.57% kobo/apps/audit_log/models.py
44
37.07
-37.93% kpi/models/asset_snapshot.py
39
35.2
-31.2% kpi/models/paired_data.py
38
34.52
-45.24% kobo/apps/audit_log/base_views.py
37
38.83
-35.92% kpi/utils/usage_calculator.py
35
52.28
-17.77% kpi/mixins/formpack_xlsform_utils.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
34
37.14
-48.57% kpi/utils/cache.py
33
39.68
-26.19% kpi/utils/autoname.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
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
64.65
-9.77% kpi/permissions.py
21
42.79
-9.77% kpi/renderers.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
58.18
-34.55% kpi/signals.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
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
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
13
67.61
-18.31% kpi/utils/sluggify.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
82.76
-13.79% kpi/utils/asset_content_analyzer.py
12
22.73
-54.55% kpi/utils/bugfix.py
11
54.55
-6.67% kobo/apps/organizations/models.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
82.88
-1.8% kobo/apps/openrosa/libs/utils/logger_tools.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
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
61.76
-20.59% kobo/apps/storage_backends/base.py
7
21.6
-5.6% kobo/apps/stripe/utils/subscription_limits.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
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
53.85
-6.41% kpi/deployment_backends/kc_access/utils.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
50.0
-10.53% kobo/apps/organizations/utils.py
4
20.25
-0.33% kobo/apps/subsequences/integrations/google/google_translate.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
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
67.95
-1.28% kpi/authentication.py
1
57.89
-2.63% kpi/db_routers.py
Jobs
ID Job ID Ran Files Coverage
1 28995843859.1 09 Jul 2026 05:20AM UTC 888
49.64
2 28995843859.2 09 Jul 2026 05:21AM UTC 888
44.46
3 28995843859.3 09 Jul 2026 05:22AM UTC 888
52.98
4 28995843859.4 09 Jul 2026 05:22AM UTC 890
45.83
5 28995843859.5 09 Jul 2026 05:22AM UTC 890
54.24
6 28995843859.6 09 Jul 2026 05:23AM UTC 888
58.96
7 28995843859.7 09 Jul 2026 05:24AM UTC 890
66.75
8 28995843859.8 09 Jul 2026 05:24AM UTC 890
50.98
9 28995843859.9 09 Jul 2026 05:26AM UTC 890
60.12
10 28995843859.10 09 Jul 2026 05:26AM UTC 892
69.07
Source Files on build 28995843859
  • Tree
  • List 892
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 5929be64 on github
  • Prev Build on main (#28941671731)
  • Next Build on main (#29012112022)
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