QA-source: objectstack-ai/objectstack#21845 · records-forms.import-job-undo-cancel · outside the item's clauses
Found in the ObjectStack 17.7 pre-release follow-up run objectstack-ai/objectstack#21845 (framework subject 316be321e, console pin 2e818d0b51ec), reproduced twice by the runner; an independent verifier (RUNNER rule 7) confirmed it from source: low-medium. It predates the 17.6.0 console pin 31971ff1e; no open duplicate was found. Owner: objectui.
Reproduction
- As admin, open an object's list (showcase
showcase_contact) → Import; upload a 5000-row CSV; Next; tick the background-import option; Run.
- About 2.5 s later click Cancel.
- Expected: the result shows how many rows were committed before the cancel, and points to Undo.
- Actual: "Import cancelled · 0 imported", while the job reads
cancelled with e.g. 1800 created (the partial is coherent and undoable from History).
Mechanism
packages/plugin-grid/src/ImportWizard.tsx handleCancelImport (~2186-2201) builds the result with importedRows: 0 (:2195) instead of re-reading the job; the client's cancelImportJob returns only {success}, but the wizard already holds the job id.
Done when
After cancel the wizard reads the job (GET /api/v1/data/import/jobs/:id), shows created/updated counts and an undo affordance.
Generated by Claude Code
QA-source: objectstack-ai/objectstack#21845 · records-forms.import-job-undo-cancel · outside the item's clauses
Found in the ObjectStack 17.7 pre-release follow-up run objectstack-ai/objectstack#21845 (framework subject
316be321e, console pin2e818d0b51ec), reproduced twice by the runner; an independent verifier (RUNNER rule 7) confirmed it from source: low-medium. It predates the 17.6.0 console pin31971ff1e; no open duplicate was found. Owner: objectui.Reproduction
showcase_contact) → Import; upload a 5000-row CSV; Next; tick the background-import option; Run.cancelledwith e.g. 1800 created (the partial is coherent and undoable from History).Mechanism
packages/plugin-grid/src/ImportWizard.tsxhandleCancelImport(~2186-2201) builds the result withimportedRows: 0(:2195) instead of re-reading the job; the client'scancelImportJobreturns only{success}, but the wizard already holds the job id.Done when
After cancel the wizard reads the job (
GET /api/v1/data/import/jobs/:id), shows created/updated counts and an undo affordance.Generated by Claude Code