[release] FE v1.4.5#1359
Conversation
This reverts commit 4d9eb2d.
…-minute-time-MOA-624 [feature] 관리자 모집 기간 설정 시 분 단위 시간 선택을 지원한다
Made-with: Cursor
- writeAssignments에 try-catch 추가 (용량 초과, 권한 거부 시 앱 초기화 중단 방지) - safeReadAssignments에 JSON 구조 검증 추가 (isObjectRecord 타입 가드, string 값 필터링) Made-with: Cursor
…nt-hook-MOA-763 [feature] AB테스트를 위한 실험 구조 구축
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedPull request was closed or merged during review Warning
|
| Cohort / File(s) | Summary |
|---|---|
A/B 실험 시스템 frontend/src/experiments/types.ts, frontend/src/experiments/ExperimentRepository.ts, frontend/src/experiments/definitions.ts, frontend/src/experiments/initializeExperiments.ts, frontend/src/hooks/Experiment/useExperimentVariant.ts, frontend/src/index.tsx |
실험 정의, 저장소, 훅, 초기화 로직 구현. localStorage에 할당 결과 저장, 가중치 기반 변형 선택, 앱 부팅 시 자동 초기화. |
실험 문서 및 설정 docs/experiments.md, .gitignore |
A/B 실험 가이드 및 폴더 구조 문서 추가. CLAUDE.md와 .claude 폴더를 .gitignore에서 제거. |
Mixpanel 보고서 문서 docs/mixpanel-reporting.md, docs/mixpanel-weekly-report-prompts.md, docs/mixpanel-admin-weekly-report-prompts.md, docs/weekly-reports/2026-W12-user-mixpanel-report.md |
주간 Mixpanel 보고서 생성 가이드, 고정 프롬프트 템플릿, 사용자/관리자 주간 리포트 정의 및 예시 리포트 추가. |
Claude 에이전트 및 개발 가이드 frontend/.claude/agents/API훅부서.md, frontend/.claude/commands/create-e2e-test.md, frontend/.claude/commands/find-e2e-test.md, frontend/.claude/commands/tm/auto-implement-tasks.md, frontend/CLAUDE.md |
API 훅, E2E 테스트 생성/탐색, 작업 자동 구현 에이전트 워크플로우 정의. 프론트엔드 전체 개발 가이드 및 구조 문서 추가. |
RecruitEditTab UI 리팩토링 frontend/src/pages/AdminPage/tabs/RecruitEditTab/RecruitEditTab.tsx, frontend/src/pages/AdminPage/tabs/RecruitEditTab/RecruitEditTab.styles.ts, frontend/src/pages/AdminPage/tabs/RecruitEditTab/components/Calendar/* (삭제) |
Calendar 컴포넌트 제거, $active → $isAlwaysActive로 스타일 prop 변경, 상태명 정리 (always → isAlwaysRecruiting). |
DateTimeRangePicker 신규 구현 frontend/src/pages/AdminPage/tabs/RecruitEditTab/components/DateTimeRangePicker/* |
달력, 시간 선택, 패널 관리 컴포넌트로 구성된 새로운 날짜-시간 범위 선택기 구현. 팝업식 UI, 높이 동적 감지, ResizeObserver 활용. |
날짜 포매팅 유틸리티 frontend/src/utils/recruitmentDateFormatter.ts, frontend/src/utils/recruitmentDateFomatter.test.ts |
한국어 모집 기간 포매팅 함수 및 테스트 추가. 연/월/일/요일/시간 형식으로 출력. |
Sequence Diagram(s)
sequenceDiagram
participant App as 앱 시작
participant Init as initializeExperiments()
participant Repo as ExperimentRepository
participant LS as localStorage
participant Hook as useExperimentVariant()
App->>Init: 실험 초기화 호출
Init->>Repo: fetchAndAssignExperiments(ALL_EXPERIMENTS)
Repo->>LS: safeReadAssignments() 호출
LS-->>Repo: 저장된 할당 맵 반환
Repo->>Repo: 누락/유효하지 않은 할당 감지
Repo->>Repo: pickWeightedVariant() 가중치 기반 선택
Repo->>LS: writeAssignments() 저장
LS-->>Repo: 완료
Repo-->>Init: 완료
Note over App,Hook: 런타임 중
App->>Hook: useExperimentVariant(experiment) 호출
Hook->>Repo: getVariant(experiment) 요청
Repo->>LS: 할당된 변형 조회
LS-->>Repo: 변형 반환
Repo-->>Hook: 변형 반환
Hook-->>App: 변형 제공 (UI 렌더링)
Estimated code review effort
🎯 4 (Complex) | ⏱️ ~45 minutes
Possibly related PRs
- [feature] 관리자 모집 기간 설정 시 분 단위 시간 선택을 지원한다 #1293: 동일한 RecruitEditTab 파일 및 DateTimeRangePicker 컴포넌트를 수정하며, Calendar를 DateTimeRangePicker로 교체하고 스타일 props($isAlwaysActive) 및 날짜 포매터를 추가하는 직접 관련된 PR.
- [feature] AB테스트를 위한 실험 구조 구축 #1358: 동일한 A/B 실험 코드 및 문서(frontend/src/experiments/*, useExperimentVariant 훅, index.tsx의 initializeExperiments 임포트, docs/experiments.md, .gitignore/CLAUDE.md 항목)를 추가하는 코드 수준의 직접 관련 PR.
- [release] FE v1.1.9 #1001: RecruitEditTab 및 달력 관련 컴포넌트를 수정하는 관리자 모집 편집 UI 변경으로, 동일한 기능 영역에서 겹치는 파일 수정.
Suggested labels
✨ Feature, 📝 Documentation, 🎨 UI/UX
Suggested reviewers
- oesnuj
- lepitaaar
- suhyun113
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Title check | PR 제목 'Develop fe'는 매우 모호하고 특정 정보가 없어 변경사항의 주요 내용을 전혀 전달하지 못합니다. | 제목을 더 구체적으로 변경하세요. 예: 'Add A/B testing framework and refactor recruitment date picker' 또는 'Implement experiment system and improve RecruitEditTab UI' |
✅ Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
📝 Generate docstrings
- Create stacked PR
- Commit on current branch
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
develop-fe
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
✅ UI 변경사항 없음
전체 56개 스토리 · 22개 컴포넌트 |
🚀 릴리즈 PR
📦 버전 정보
💾 BE/💻 FE🚨 MAJOR/➕ MINOR/🔧 PATCHvX.Y.Z📖 버전 라벨 선택 가이드 (Semantic Versioning)
🚨 MAJORv1.0.0→v2.0.0➕ MINORv1.0.0→v1.1.0🔧 PATCHv1.0.0→v1.0.1📋 포함된 변경사항
Summary by CodeRabbit
릴리스 노트
New Features
Improvements
Documentation