Skip to content

feat: Implement Vacation Mode for GitHub Streak Freeze - #8416

Open
kanishka-2007-tech wants to merge 2 commits into
JhaSourav07:mainfrom
kanishka-2007-tech:streakfreeze
Open

feat: Implement Vacation Mode for GitHub Streak Freeze#8416
kanishka-2007-tech wants to merge 2 commits into
JhaSourav07:mainfrom
kanishka-2007-tech:streakfreeze

Conversation

@kanishka-2007-tech

@kanishka-2007-tech kanishka-2007-tech commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Description

This PR introduces Vacation Mode (Streak Freeze), allowing users to mark upcoming vacation dates so their streak counter and burnout radar don’t flag them as inactive or at risk.

Key Changes
User Schema: Added vacationDates: string[] field in MongoDB user model.

API Endpoints:

GET /api/user/vacation → fetch user’s vacation dates.

POST /api/user/vacation → update vacation dates.

Frontend:

Implemented VacationModeCard.tsx component with UI for adding/removing vacation dates.

Integrated with API routes for persistence.

Fixes #8277

Pillar

  • 🎨 Pillar 1 — New Theme Design
  • 📐 Pillar 2 — Geometric SVG Improvement
  • 🕐 Pillar 3 — Timezone Logic Optimization
  • 🛠️ Other (Bug fix, refactoring, docs)

Checklist before requesting a review:

  • I have read the CONTRIBUTING.md file.
  • I have tested these changes locally (localhost:3000/api/streak?user=YOUR_USERNAME).
  • I have run npm run format and npm run lint locally and resolved all errors (CI will fail otherwise).
  • My commits follow the Conventional Commits format (e.g., feat(themes): ..., fix(calculate): ...).
  • I have updated README.md if I added a new theme or URL parameter.
  • I have started the repo.
  • I have made sure that i have only one commit to merge in this PR.
  • The SVG output matches the CommitPulse "premium quality" aesthetic standard (no raw elements, smooth animations, correct fonts).
  • (Recommended) I joined the CommitPulse Discord community for contributor discussions, mentorship, and faster PR support.

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@kanishka-2007-tech is attempting to deploy a commit to the jhasourav07's projects Team on Vercel.

A member of the Team first needs to authorize it.

@retenta-bot

retenta-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown

This PR introduces a valuable feature that enhances user experience by allowing them to manage their streaks during planned breaks. It aligns well with previous decisions made regarding the GitHub Streak Freeze feature, which aims to provide accurate analytics by excluding vacation periods from streak calculations. Thank you for your contribution, and I look forward to your updates!

@retenta-bot retenta-bot Bot changed the title feat: add GitHub Streak Freeze (Vacation Mode) feat: Implement Vacation Mode for GitHub Streak Freeze Jul 27, 2026
@github-actions github-actions Bot added the status:blocked This PR is blocked due to a failing CI check. label Jul 27, 2026
@github-actions github-actions Bot removed the status:blocked This PR is blocked due to a failing CI check. label Jul 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Size Report (Gzipped Sizes)

Asset PR Size Base Size Difference Status
static/chunks/2676-[hash].js 52.74 KB - +52.74 KB (++100%) 🆕 New
static/chunks/8002-[hash].js - 52.58 KB -52.58 KB (-100.00%) 🗑️ Deleted
static/chunks/app/(root)/dashboard/[username]/page-[hash].js 54.92 KB 54.03 KB +0.89 KB (+1.65%) 🔴 Regression
static/chunks/app/api/user/vacation/route-[hash].js 0.26 KB - +0.26 KB (++100%) 🆕 New
static/css/[hash].css 42.21 KB 41.95 KB +0.27 KB (+0.64%) 🔴 Regression

📊 Summary of Totals

Category PR Size Base Size Difference
Total JS 4057.44 KB 4052.50 KB +4.94 KB (+0.12%)
Total CSS 341.63 KB 338.94 KB +2.69 KB (+0.79%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Add Vacation Mode (Streak Freeze) to exclude planned breaks from inactivity analysis

1 participant