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

kobotoolbox / kpi / 26744392563 / 4
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 01 Jun 2026 08:46AM UTC
Files 879
Run time 31s
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

01 Jun 2026 08:40AM UTC coverage: 52.016% (+1.4%) from 50.643%
26744392563.4

push

github

web-flow
refactor(frontend): remove react-tagsinput in favor of Mantine-powered in-house component DEV-2076 (#7089)

### 📣 Summary

Project and library tag inputs now use Kobo’s Mantine-based `TagsInput`,
which keeps tag editing working while removing the legacy
`react-tagsinput` dependency.

### 💭 Notes

Changes here:
- `jsapp/js/components/common/TagsInput.tsx`
- Added a shared Kobo wrapper around Mantine `TagsInput` with the
project default placeholder and split behavior.
- `jsapp/js/theme/kobo/TagsInput.ts`
- Wired `TagsInput` into the Kobo Mantine theme so it picks up Kobo
styling like the other wrapped Mantine components.
- `jsapp/js/components/common/TagsInput.stories.tsx`
- Added Storybook coverage, including a play test that adds a tag and
removes the last tag with keyboard interaction.
- `eslint.config.mjs`
- Added a restricted import rule so new code uses the Kobo wrapper
instead of importing Mantine `TagsInput` directly.
- `jsapp/js/components/RESTServices/RESTServicesForm.tsx`
- Replaced the old `KoboTagsInput` usage for subset fields and moved the
form to array-based tag handling.
- `jsapp/js/components/modalForms/LibraryAssetForm.tsx`
- Continued the TS migration work and switched library asset tags to the
new wrapped `TagsInput`.
- `jsapp/js/components/modalForms/AssetTagsForm.tsx`
- Replaced the old JS class component with a TypeScript functional
component, renamed it to PascalCase, and removed `observer()` because it
was no longer needed once session loading moved to explicit local state.
- `jsapp/js/components/bigModal/bigModal.js`
  - Updated the modal import to the new PascalCase `AssetTagsForm` file.
- `jsapp/js/components/common/koboTagsInput.tsx`
  - Removed the old `react-tagsinput` wrapper and its SCSS.
- `package.json` and `package-lock.json`
  - Removed `react-tagsinput` and `@types/react-tagsinput`.

### 👀 Preview steps

1. Log in and open any project.
2. Go to Project → Settings → REST Services.
3. Create a new REST service, or ed... (continued)

4486 of 11916 branches covered (37.65%)

18536 of 35635 relevant lines covered (52.02%)

0.52 hits per line

Source Files on job 26744392563.4
  • Tree
  • List 879
  • Changed 23
  • Source Changed 0
  • Coverage Changed 23
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 26744392563
  • 6cc02eb2 on github
  • Prev Job for on main (#26743326613.2)
  • Next Job for on main (#26769182792.8)
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