-
refactor: extract streak calculation to domain service
released this
2026-03-07 21:49:31 +00:00 | 6 commits to main since this releaseMove streak logic from application query to a dedicated domain service,
making it reusable and properly tested for all habit configurations.- Support streaks for all habit types (boolean, counter, value) combined
with positive/negative and optional target values - Handle weekly habits with specific days (streak counts scheduled days)
- Today completed counts toward streak; not yet completed doesn't break it
- Calculate current and longest streak in a single forward pass
- Remove completion_rate from stats (not a useful metric for habits)
- Add comprehensive unit tests covering all 10 type combinations
Downloads
- Support streaks for all habit types (boolean, counter, value) combined