Repository navigation
feat(app): bulk actions on a selection skip and tell - #171
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes for a person
Commands on a selection now do what they can and say what they could not, instead of refusing the whole selection or dropping items without a word.
Audit
Checked in the code, for the list, table, gallery and board, through the menu bar, context menus, More menu and palette. Every command already took a set of items; the gaps were all-or-nothing refusals, silent drops and files treated differently from notes.
What I chose
confirmationDialogin the window, like the existing Delete Immediately one.deleteAfterSaving, so a mixed selection that includes items already in the bin offers to erase those for good in every route, as the list's Delete key already did.submitonly queues, so the main thread is not held; the engine still rereads and drains once per write.Tested
Unit plan passes (
MarfaBulkActionsTestsis new): partial success with a told skip, nothing changeable, empty selection, one undo step, items in the bin, a 500-item selection under one undo step, and the confirmation path for Move to Bin. Three older tests that pinned the whole-set refusals were updated.Not tested
Nothing was run on screen, by agreement: the confirmation dialog, the menus, the palette, the sheets' new caption lines and the board's context menu were not seen. The UI and Live plans were not run.
For the SDK and Marfa
The Swift SDK offers no bulk write, and Marfa's server-side bulk-action job is unused. A selection of hundreds queues hundreds of single writes, each with its own reread and drain. A bulk call would give one queue entry and one atomic outcome per batch.