feat: add workflow navigator filter, rename, and confirmations#45
feat: add workflow navigator filter, rename, and confirmations#45gr3enarr0w wants to merge 4 commits into
Conversation
…entCount to respect filter currentCount was returning the unfiltered total so j/k cursor-wrap worked on the wrong range when a filter was active. Extracting helpers also eliminates the duplicate inline logic from renderNavigator. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Filter and the confirm dialogs look good, and the storage-layer rename is well tested. The rename is missing its other half though: it updates storage but never re-registers the command, so / is dead until reload. Mirror the save path — call registerSavedWorkflow(...) for the new name in the rename success branch. The legacy-dir rename gap and a README note for the new keys would be good to fold in too. |
…r gap, document new keys After a successful rename in the /workflows navigator, call registerSavedWorkflow for the new name so /<newName> works immediately without a session reload. The old /<oldName> slot remains but its exists predicate returns false, telling the user to reload — consistent with the delete behaviour. Also fix the legacy-dir rename gap: rename() now falls through to legacyProjectDir (matching the delete() pattern) so workflows saved before the project-scoped path migration can be renamed without requiring a manual file move. Add a keyboard-shortcut reference table to README.md covering the new filter (/), rename (n), and double-x confirmation dialogs introduced in this PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Found one bug that needs fixing before this can merge, plus a couple of gaps vs the issues it closes. The bug: on the second Gaps vs the issues: #41 also asks for a (lighter) confirmation on Test ask: the new interaction logic (filter typing, rename buffer, double- Heads-up on ordering: #30 also rewrites |
|
Same for this one, @gr3enarr0w — no pressure. The main blocker is still the delete-confirmation race noted above (the target can shift between the two keypresses). Happy to wait for your update, or take it forward myself with attribution if you'd rather hand it off. Let me know. |
Summary
Implements upstream #39, #40, and #41 for the
/workflowsnavigator.Closes #39.
Closes #40.
Closes #41.
Review notes
Full scoped review completed before publishing. One issue was found and fixed before PR creation: saved workflow rename now rejects target names that already exist in project, legacy project, or user locations so a rename cannot shadow another workflow.
Verification
npx biome check src/workflow-saved.ts tests/workflow-saved.test.ts src/workflow-ui.ts tests/workflow-ui.test.tsnpm run buildnpm run test:unit -- tests/workflow-saved.test.ts tests/workflow-ui.test.ts(project script ran full unit suite: 767 passing, 0 failing)