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

kobotoolbox / kpi / 31163039031
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dev-2511-restart-failed-trash-job
DEFAULT BRANCH: master
Ran 07 Aug 2026 08:50AM UTC
Jobs 10
Files 896
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

07 Aug 2026 08:45AM UTC coverage: 82.034% (-0.08%) from 82.116%
31163039031

push

github

web-flow
fix(bulkProcessing): hide transcript language from bulk translation modal DEV-2622 (#7403)

### 📣 Summary

The language a transcript is already in is no longer offered when
creating a translation, so you can't accidentally translate English into
English and end up with a blank column you can't get rid of.

### 💭 Notes

Translating a transcript into its own language created an empty column
in the data table that couldn't be removed, and nothing appeared under
Translations. Fix is to keep that language out of the dropdown in the
first place.

Changes here:

- `jsapp/js/components/processing/common/utils.ts`
- `getTranslationSourceLanguages()` — new. Returns the language codes a
new translation must not target for a given question. Picks the source
transcript the way the back end does in
`RequiresTranscriptionMixin.attach_action_dependency`: newest
`_dateAccepted`, skipping versions never accepted and ones whose text is
gone. Note this is deliberately *not*
`getLatestTranscriptVersionItem()`, which sorts by creation date — when
versions are accepted out of order the two pick different versions, and
following the wrong one would hide the wrong language and let the bug
straight back in. Both helpers stay, doc comments warn against swapping
them.
- `getBlockedTargetLanguages()` — new, and the reason this is a list
rather than one code. The back end translates from `locale` when it's
set and never checks it against `language`, so `{language: 'es', locale:
'fr-CA'}` is a storable transcript that gets translated from French.
Columns are also keyed by base language (back end does
`language.split('-')[0]`), so `fr-CA` and `fr` collide in one column.
Both codes get blocked.
- `jsapp/js/components/processing/common/utils.tests.ts` — 10 tests over
the two new helpers: acceptance-vs-creation order, unaccepted versions,
deleted text, locale/language disagreement. Mutation-checked by breaking
each rule in turn and confirming the matching test went red.
- `jsapp/js/com... (continued)

9568 of 12890 branches covered (74.23%)

30985 of 37771 relevant lines covered (82.03%)

5.51 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31163039031.1 07 Aug 2026 08:50AM UTC 891
44.19
2 31163039031.2 07 Aug 2026 08:50AM UTC 891
49.44
3 31163039031.3 07 Aug 2026 08:50AM UTC 893
50.77
4 31163039031.4 07 Aug 2026 08:50AM UTC 891
52.77
5 31163039031.5 07 Aug 2026 08:51AM UTC 893
45.54
6 31163039031.6 07 Aug 2026 08:51AM UTC 893
54.05
7 31163039031.7 07 Aug 2026 08:53AM UTC 891
58.92
8 31163039031.8 07 Aug 2026 08:53AM UTC 894
67.27
9 31163039031.9 07 Aug 2026 08:54AM UTC 893
60.07
10 31163039031.10 07 Aug 2026 08:55AM UTC 896
69.63
Source Files on build 31163039031
  • Tree
  • List 896
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • e4fda396 on github
  • Prev Build on main (#31162029831)
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