DenverCoder1 / DenverCoder1/github-readme-streak-stats
[Feature Request] Add Duolingo-style "Streak Freeze" support (`&freeze=true`)
- Dominant language
- PHP
- Stars
- 7.1k
- Forks
- 1.8k
- Avg merge
- 9d 6h
- Merged PRs (30d)
- 2
Description
### 🚀 Feature Proposal
Add an optional **Streak Freeze** parameter (similar to Duolingo's streak freeze mechanism) to prevent users from losing their current streak due to 1-2 missed days (e.g., during weekends, holidays, or short personal breaks).
---
### 💡 How It Works
1. **New Query Parameter:** Users can pass `&freeze=true` in their card URL.
2. **Fairness Limit:** To keep streaks authentic and prevent abuse, the maximum allowable freeze days would be hardcoded (e.g., maximum **2 or 3 days**).
3. **Behavior:** If a user misses a day with 0 contributions, the calculation logic consumes 1 freeze token instead of immediately resetting `currentStreak` to `0`.
Contributor guide
Research direction
Start by tracing how the card URL query parameters reach the streak calculation logic, then inspect where currentStreak is reset when contributions are zero. Define how the freeze parameter and its maximum allowance are represented and consumed. Done means freeze=true preserves the streak for the allowed missed days, while the streak resets after the limit or without the parameter.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100