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

kobotoolbox / kpi / 26601979292

28 May 2026 09:00PM UTC coverage: 81.691%. Remained the same
26601979292

push

github

web-flow
feat(bulkProcessing): dismissible info banner DEV-1402 (#7092)

### 📣 Summary

On the Data Table, we show a dismissible info banner when bulk
processing is actively running and at least one active job was started
by a different user, so data changes are easier to anticipate. This is
hidden behind feature flag.

### 💭 Notes

This PR adds a new Bulk Processing banner in the Data Table and wires
the display logic to active bulk-action ownership.

The banner appears only when:

1. Bulk processing feature flag is enabled.
2. There is at least one active bulk action (pending or in progress).
3. At least one active action was created by someone other than the
current logged-in user.

It is dismissible per user and per form for the current browser session,
and includes singular/plural copy for 1 vs multiple active jobs.

This PR also includes Storybook coverage for banner scenarios and unit
tests for hook logic.

Changes here:
- New banner component and rendering (`BulkProcessingBanner.tsx`):
- Adds a Mantine alert-style banner in the table banner container (atop
`table.tsx`)
- Banner supports dismiss via `sessionStorage` key scoped by user
(safely) + asset
   - Message handles singular/plural active-job wording
- Bulk-action domain logic extraction (`useDataTableBulkActions.ts`):
   - Introduces hook returning:
     - `activeBulkActions`
     - `hasActiveBulkActionsCreatedByAnotherUser`
     - `currentUsername`
- Keeps `DataTableWrapper` cleaner and makes banner condition testable
   - Simple unit tests in `useDataTableBulkActions.tests.ts`
- Covers feature-flag off, active status filtering, other-user
detection, and session-pending/no-username behavior
- Storybook (created `BulkProcessingBanner.stories.tsx` and
`bulkProcessingBanner.storiesUtils.tsx`, updated
`DataTableWrapper.stories.tsx`):
- Adds focused stories and a shared decorator utility that clears
banner-dismissal session keys, so stories remain easy to retest
- Close button styling follow-up:
- Re... (continued)

8893 of 12052 branches covered (73.79%)

29175 of 35714 relevant lines covered (81.69%)

5.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/kpi/utils/export_task.py


Source Not Available

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