Skip to content

Add bulk actions for data mappings - #552

Merged
WaylandYang merged 2 commits into
deeplethe:devfrom
ousamabenyounes:fix/issue-505
Sep 9, 2026
Merged

Add bulk actions for data mappings#552
WaylandYang merged 2 commits into
deeplethe:devfrom
ousamabenyounes:fix/issue-505

Conversation

@ousamabenyounes

Copy link
Copy Markdown
Contributor

Closes #505.

Summary

  • Add page-level selection and bulk Confirm/Reject controls for proposed mappings.
  • Reuse the existing per-mapping decision API so each selected row keeps its own audit record.
  • Wait for every row request, refresh after partial failures, and retain only still-proposed failed selections for retry.
  • Clear selection when the knowledge base, page, query, status, or tab changes, with distinct accessible labels in English and Chinese.

Test verification (RED → GREEN)

  • RED: on unmodified dev, the focused contract fails because bulk decision helpers, stale-selection filtering, and localized checkbox labels do not exist.
  • GREEN: all four focused mapping tests pass, including exactly-once per-row calls and waiting for every request before reporting a partial failure.
  • Fix-revert RED: restoring early Promise.all rejection, stale-ID submission, and ambiguous labels produces three targeted failures.
  • Full local suite: migrations ran twice; formatting, workspace clippy/tests/build, required database-backed store tests, 12/12 web tests, typecheck, style guard, and the production web build passed. The full web suite and build passed again after rebasing onto current dev.

Validation

  • Source-map-backed Chromium V8 measurement covered 127/127 changed executable production lines with zero uncovered.
  • A real Vite UI, Rust backend, pgvector database, and Chromium exercised select-all on/off, row select/deselect, disabled bulk selection during an unresolved individual decision, a forced partial bulk failure with retained-row retry, bulk Confirm, and bulk Reject.
  • The database finished with two confirmed and two rejected mappings and exactly four matching per-row mapping.decided audit records.
  • Independent Codex functional and strict engineering-rule reviews accepted the final rebased diff.

Signed-off-by: Ben Younes <2910651+ousamabenyounes@users.noreply.github.com>
@WaylandYang
WaylandYang merged commit 526fc91 into deeplethe:dev Sep 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Confirming twelve mappings takes twelve clicks

2 participants