Skip to content

fix: PR 파일 집계에 rename 상태 포함#35

Merged
soobing merged 1 commit intomainfrom
fix/include-renamed-in-pr-submissions
Apr 20, 2026
Merged

fix: PR 파일 집계에 rename 상태 포함#35
soobing merged 1 commit intomainfrom
fix/include-renamed-in-pr-submissions

Conversation

@soobing
Copy link
Copy Markdown
Contributor

@soobing soobing commented Apr 20, 2026

배경

#32 에서 기수 프로젝트 기반 학습 현황 집계를 도입했는데, 실제 운용 결과 soobing(본인) 계정의 cohort 7기 누적 풀이가 15개로 표시됨. 기대값은 26개 (실제 풀이 문제 수).

원인

fetchPRSubmissionsstatus === "added" || "modified" 만 집계하는데, soobing 의 과거 PR #2556 (파일이름 user name과 동일하게 제출하지 않은 부분 수정) 은 soobing3.tssoobing.ts rename PR. rename 된 11개 파일이 모두 제외되어 카운팅에서 누락됨.

참고: 초기 PR 4개(#2392/2431/2463/2489) 는 soobing3.ts 파일명으로 제출되어 정규식 ^([^/]+)/soobing\.[^/]+$ 에 매칭되지 않음. PR #2556 의 rename 이 이들을 정규식 매칭 가능한 soobing.ts 로 승격시키는 역할이므로, rename 을 집계해야 누락된 풀이가 복구됨.

변경

utils/learningData.js::fetchPRSubmissions 의 status 필터에 "renamed" 추가.

영향

  • 재참여자/파일명 교체 이력이 있는 유저의 학습 현황 누적 풀이 수 정상화
  • 정규식 매칭은 새 경로(filename = 새 이름) 기준으로 동작하므로, 새 이름이 {problem}/{username}.{ext} 패턴에 맞아야 집계됨 (의도된 동작)

관련

Test plan

  • bun test — 54/54 통과 (기존 mock 에 rename 시나리오 없어 회귀 없음)
  • Preview 환경에서 soobing 계정의 누적 카운트가 26으로 반영되는지 확인

fetchPRSubmissions 가 status 'added' 와 'modified' 만 집계하여,
파일명 규칙을 맞추기 위한 rename PR(예: soobing3.ts → soobing.ts)에서
rename 된 풀이가 집계되지 않던 문제를 수정한다.

영향: 재참여자 또는 파일명 교체 이력이 있는 유저의 학습 현황 누적 풀이
수가 실제보다 적게 표시되던 버그.

Co-Authored-By: sounmind <37020415+sounmind@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
github 77ee26b Commit Preview URL

Branch Preview URL
Apr 20 2026, 01:13 PM

@soobing soobing requested a review from sounmind April 20, 2026 13:14
@soobing soobing self-assigned this Apr 20, 2026
@soobing soobing merged commit a661cde into main Apr 20, 2026
2 checks passed
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.

2 participants