Repository navigation
Feature/inprogress todo state - #884
waldemar-p wants to merge 4 commits into
Conversation
|
@waldemar-p thanks for contributing! I haven’t found the time yet to go through your pull requests, but I'll get back to you as soon as I do |
01d9f39 to
99d5ca5
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #884 +/- ##
==========================================
- Coverage 56.18% 50.99% -5.19%
==========================================
Files 43 50 +7
Lines 1367 1759 +392
Branches 373 507 +134
==========================================
+ Hits 768 897 +129
- Misses 493 710 +217
- Partials 106 152 +46 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
99d5ca5 to
9c97f54
Compare
|
Hi @waldemar-p As you may have seen I've rebased your PR branch onto main, and I had to make some adjustments to get it up to date. I'll have a more detailed look soon. Thanks again and sorry for the wait. |
|
Thanks for looking into and and thanks for updating it. I haven't had the time to take another look at the code but I trust you. |
|
Thank you for the contribution! The implementation is solid and well-tested. However, I have several UX and architectural concerns that prevent merging: 1. Feature DiscoverabilityCtrl+Click is not intuitive or discoverable. Users won't know this feature exists without documentation. We need a visual affordance (button, icon, or menu item) to make it obvious. 2. Context Menu ConflictRight-click triggers both the in-progress toggle AND opens the context menu. This feels unintentional and confusing. Please clarify the interaction model. 3. Unclear Visual IndicatorThe indeterminate checkbox state doesn't clearly communicate "in-progress" to users. It could be misinterpreted as half-done, error, or loading. 4. Limited FunctionalityThe in-progress attribute only filters in the sidebar and adds a border. What workflows should it support? (notifications, sorting, actions, etc.) 5. Sorting Implementation BugThe in-progress sorting appears to be hard-coded and automatic, not using sleek's configurable sorting system. This creates architectural problems:
In-progress should either:
|
Thank you. Very good feedback! I will look into all of those points later. |
- Add inprogress extension support to TodoObject type and parser - Display orange left border on in-progress todos - Add Ctrl+click and middle-click checkbox toggle for in-progress state - Remove inprogress extension when marking todo as complete - Add unit test for inprogress cleanup on completion
- Add sortInProgressFirst function to sort in-progress items first within each group - Apply in-progress sorting after all other sorting in dataRequest - Add unit tests for sortInProgressFirst function - Fix checkbox event handling to prevent onChange when toggling in-progress state - Add inprogress pattern to renderer for proper syntax highlighting - Remove attributeValue requirement check in handleWriteTodoToFile
- Extract inline completed items sorting logic into sortCompletedLast function - Add unit tests for sortCompletedLast function - Remove unused event parameter from handleInprogressToggle
…bute handling - Store inprogress as "1" | null like other attribute values - Replace ctrl+click with a row context menu item (with middle-click hint); keep middle-click - Show IncompleteCircle icon with "In progress" tooltip and aria-label - Make inprogress a regular sorting entry (migration 2.0.30); inverting sorts in-progress todos last - Label in-progress in the sidebar chip and group header; allow removing it via the attribute menu - Inline sortCompletedLast again
9d8669f to
6ebfd90
Compare
|
This branch adds support for tracking in-progress todo items via an inprogress extension.