* fix: correct bi-weekly recurring task scheduling for multi-day patterns
Fixes#1004
Previously, when a recurring task was set to repeat every N weeks (where N > 1)
on multiple weekdays that span a week boundary (e.g., Saturday + Sunday), the
algorithm incorrectly calculated the next occurrence dates.
The issue was in the calculateWeeklyRecurrence function, which didn't properly
determine when to add the interval skip for multi-weekday patterns. It would:
- Correctly handle Sat -> Sun (adjacent days, same cycle)
- Incorrectly handle Sun -> Sat (should skip weeks, but didn't)
This fix improves the logic to:
1. Detect when the current day is the last weekday in the pattern cycle
2. Account for Sunday (day 0) wrapping around in the day-of-week numbering
3. Only add interval skips when truly moving to a new cycle, not when moving
between weekdays within the same cycle
Test coverage added for:
- Bi-weekly Saturday + Sunday pattern (the reported bug)
- Starting from different days in the pattern
- Bi-weekly Tuesday + Thursday pattern
- Tri-weekly Friday + Saturday + Sunday pattern
* docs: update MEMORY.md with GitHub template requirements
- Add detailed PR template requirements and structure
- Expand bug report template requirements with all fields
- Update last modified date
- Add explicit note about # and @ being syntax markers, not part of tag names
- Clarify that #hashtag example shows invalid character in tag name
- Add cross-reference to Inbox page documentation
- Update workflow examples to clarify Inbox syntax vs actual tag names
- Bump document version to 1.0.1
* Fix notification deduplication to prevent pile-up in navbar (#944)
When tasks/projects remained pending for multiple days, duplicate
notifications accumulated in the navbar instead of showing only the
most recent one.
Updated notification services to properly handle existing notifications:
- Delete unread notifications before creating new ones
- Respect dismissed notifications (don't recreate)
- Respect read notifications (don't duplicate)
Changes:
- Updated dueTaskService, deferredTaskService, and dueProjectService
- Added comprehensive unit tests with 8 test cases
Fixes#944
* Fix lint errors and add GitHub bug template reminder to docs
* fixup! Fix date format inconsistency in Defer Until field
* fixup! fixup! Fix date format inconsistency in Defer Until field
* fixup! fixup! fixup! Fix date format inconsistency in Defer Until field
* Increase coverage
* Add comprehensive LLM development documentation
- Add CLAUDE.md as main documentation index
- Create 8 detailed documentation files in docs/:
- architecture.md: Tech stack, data models, auth system
- directory-structure.md: Complete file tree with paths
- backend-patterns.md: Module architecture and patterns
- database.md: Models, migrations, and workflows
- development-workflow.md: Setup and daily development
- code-conventions.md: Style guide and best practices
- testing.md: Test organization and patterns
- common-tasks.md: How-to guides for frequent tasks
- Update .gitignore to allow project-level CLAUDE.md
- 4,285 lines of comprehensive documentation
- Organized for easy navigation with cross-links
- LLM-optimized with absolute paths and code examples
* fixup! Add comprehensive LLM development documentation