-
Notifications
You must be signed in to change notification settings - Fork 59
feat(tasks): add visual indicator for unsynced local changes #207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(tasks): add visual indicator for unsynced local changes #207
Conversation
test: add tests for: BottomBar, Navbar, SetupGuide and Tasks
refactor: add reusable components, and fix imports
feat: add handler to modify task
test: add tests for tasks, landingpage and homepage
fix: dependency fixes on backend and add healthcheck
- Add annotations field to AddTaskRequestBody and frontend forms - Implement annotation processing using task export for reliable task ID - Fix stale state bug in handleAddTask function
…CExtractor#280) - Removed modal={true} from Popover component in date-picker.tsx. - Prevents nested focus trap conflict. - Fixes page becoming unresponsive after clicking outside date picker. Fixes: CCExtractor#279
|
Are there any updates on this PR @ShivaGupta-14 ? |
Implemented recur dropdown in AddTaskDialog with daily, weekly, monthly, yearly options. Backend now handles recur field with proper validation requiring due date before setting recurrence. Updated all related types, handlers and tests to support task recurrence functionality.
|
Hi @its-me-abhishek! Yes, on it! I was travelling for a few days, so there was a slight delay. I’ll finish all the remaining work (review and updates) by tomorrow EOD |
* added enddate in addtask * fixed layout
Skip WebSocket refresh for Edit Task operations Prevents dialog from disappearing when editing fields
- Add wait date field to backend request body and Taskwarrior CLI - Implement wait date picker in AddTaskDialog frontend component - Update type definitions and hooks to support wait field - Add comprehensive frontend and backend tests for the new field Issue: CCExtractor#188
e66304e to
291cf21
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shows animated unsynced badge when task has local changes pending sync. Added aria-labels for accessibility
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added unsyncedTaskUuids state using sets, adds task UUID to set whenever any field is modified locally, clears all unsynced indicators after successful sync, passes isUnsynced prop to TaskDialog to display visual indicator and total count of unsync tasks on sync button
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added tests for unsynced badge visibility based on isUnsynced prop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
new test cases for unsync tasks
ShivaGupta-14
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
self review completed! open to any suggestions
…verflow (CCExtractor#257) Changed responsive breakpoints from sm: to lg: for filter buttons, Add Task, and Sync buttons. BottomBar now shows on tablets (640px-1024px) like mobile devices. Fixes CCExtractor#221
Added full annotations editing functionality following the same pattern as tags editing. Users can now add, edit, and remove task annotations through the task details dialog. Backend handles proper annotation replacement using TaskWarrior's denotate/annotate commands.
|
Hi @its-me-abhishek! this is ready for review. please review whenever you get time. |
- Add entry date field to backend request body and Taskwarrior CLI - Implement entry date picker in AddTaskDialog frontend component - Update type definitions and hooks to support entry field - Add comprehensive frontend and backend tests for the new field Issue: CCExtractor#188
* feat: add task dependency support * fix:add search support and tests for depends on * fix: resolve conflicts * "fix: correct AddTaskDialog tests after merge"
…#303) Co-authored-by: Vaibhav <vaibhavkumarsingh499@gmail.com>
291cf21 to
e24ea96
Compare
2e53b3c to
ab23dd0
Compare
Description
This PR implements visual indicators for unsynced task modifications. When a task is edited, completed, or deleted, the UI immediately marks it as "Unsynced" until the backend successfully synchronizes all pending changes.
Key Changes
State Management: Implements a local state
unsyncedTaskUuidsto track tasks modified on the frontend but not yet synced to the backend.Visual Indicators:
Optimistic UI Updates: Immediately updates UI for task status changes (completed/deleted) to enhance perceived performance.
Sync Logic: Automatically clears all unsynced indicators once backend synchronization succeeds.
Testing
test.eachfor repetitive date editing tests, reducing code duplication.Checklist
npx prettier --write .(for formatting)gofmt -w .(for Go backend)npm test(for JS/TS testing)Additional Notes
Video: Link to see changes