-
Notifications
You must be signed in to change notification settings - Fork 1
duty calls #33
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
duty calls #33
Conversation
minorly prevent rerenders
feature: filter out naiveDate events I don't use this but mkay, u go alb
…Shabang-Systems/cao into feat/floating_checkmark_twooooooooooooo
…wooooooooooooo floating checkmark, closes #4
sensible policies for a happier britian
autoreloading, a la dropbox "live"(ish) sync support
Patch/dispatch
Feat/repeat
(for instance, preventing scheduling a task before its deferred or after it is due)
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.
Pull Request Overview
This is a major feature addition PR implementing repeating tasks functionality, task completion system improvements, and various UI enhancements. The PR moves from a basic task management system to a more sophisticated one with recurring tasks support and better state management.
Key changes include:
- Implementation of repeating tasks using RRule library with a new modal interface
- Refactored task completion system to handle recurring tasks properly
- Centralized time management through a new UI state slice
- Enhanced date picker with constraint validation and improved UX
Reviewed Changes
Copilot reviewed 30 out of 32 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/views/Settings.jsx | Updated import path for setHorizon function |
| src/views/Browser.jsx | Added contextual task insertion functionality |
| src/views/Action.jsx | Major refactor moving complex logic to backend with UI state integration |
| src/components/task.jsx | Added repeating task support and effort level management |
| src/components/rrulemodal.jsx | New modal component for configuring recurring task rules |
| src/api/ui.js | New UI state management slice with centralized time handling |
| src/api/tasks.js | Added complete action for proper task completion handling |
| src-tauri/src/tasks/core.rs | Backend logic for handling recurring task completion |
| package.json | Added new dependencies for RRule and click detection |
Comments suppressed due to low confidence (1)
src/views/Action.jsx:220
- [nitpick] Variable name 'hl' is ambiguous. Consider renaming to something more descriptive like 'workloadRatio' or 'utilizationLevel'.
let hl;
| )} | ||
| {dateSeries[0].map(x => | ||
| <div key={x+"pref"} | ||
| onClick={backward} |
Copilot
AI
Jul 22, 2025
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.
Duplicate onClick handlers on the same element. The second onClick handler on line 150 will override this one, making the backward() call unreachable.
| onClick={backward} |
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.
addressed
| {dateSeries[2].map(x => | ||
| <div key={x+"suf"} | ||
| onClick={forward} | ||
| onClick={() => { |
Copilot
AI
Jul 22, 2025
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.
Duplicate onClick handlers on the same element. The second onClick handler will override the first forward() call, making it unreachable.
| if (!lc.trim().startsWith("every")) { | ||
| rrulify("every " + lc.trim()); | ||
| } else { | ||
| rrulify(lc.trim()); |
Copilot
AI
Jul 22, 2025
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.
Redundant .trim() call. The variable 'lc' is already trimmed on the previous line, so calling .trim() again is unnecessary.
| if (!lc.trim().startsWith("every")) { | |
| rrulify("every " + lc.trim()); | |
| } else { | |
| rrulify(lc.trim()); | |
| if (!lc.startsWith("every")) { | |
| rrulify("every " + lc); | |
| } else { | |
| rrulify(lc); |
| :<></>} | ||
| <span className="action-left">{x >= 0 ? strings.DAYS_OF_WEEK_SHORT[(x+today.getDay())%7] : "Future"}</span> | ||
| <span className="action-right">{entries[i].length+dueSoon[i].length}</span> | ||
| <span className="action-right">{(entries[i].length+dueSoon[i].length)}</span> |
Copilot
AI
Jul 22, 2025
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.
[nitpick] Unnecessary parentheses around the expression. The addition operation has higher precedence than the JSX interpolation, so the parentheses are redundant.
| <span className="action-right">{(entries[i].length+dueSoon[i].length)}</span> | |
| <span className="action-right">{entries[i].length + dueSoon[i].length}</span> |
No description provided.