Repository navigation
Conversation
기존에는 history 엔드포인트가 getPackageHistory로 전체 릴리즈를 조회(전건 presigned 서명 + diff 서브쿼리)한 뒤 메모리에서 뒤집어 슬라이스했다. 릴리즈 수백 건이면 cold isolate 캐시 미스마다 그만큼 낭비되므로, 관리용 전용 getPackageHistoryPage(LIMIT/OFFSET + COUNT, 서명·diff 생략, 무캐시)를 추가하고 핸들러만 교체한다. OTA(updateCheck)·롤백·중복검사·release.update가 공유하는 getPackageHistory 계약은 미변경. 응답 shape·기본값·정렬 동일. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[FE-68 -> develop] refactor: 히스토리 조회를 DB 레벨 페이지네이션으로 개선
- context 줄의 📦 {deploymentName} 항목 제거 (실사용 deployment가 Production 하나뿐)
- Mandatory/Disabled 표시 ✅/❌ → ✓/✗
- sendReleaseNotification 호출부 2곳에서 deploymentName 전달 제거
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[FE-69 -> develop] chore: Slack 알림에서 deployment 이름 제거 및 체크 표기 심플화
…tory 토글 (#29) * [FE-67] feat: 릴리즈 disabled/mandatory 전용 엔드포인트 분리 및 웹 mandatory 토글 - PATCH /release/disabled, /release/mandatory 신규 (label 생략 시 최신) - updatePackageMetadata 부분 UPDATE로 stale 캐시 lost update 차단 - Slack MandatoryOn/Off 액션 추가, 헤더 이모지 🟢/🔴 → ✓/✕ 단순화 - 웹 Mandatory/Optional 토글 + 승격 경고 confirm, 카드 버튼 outline 통일 - api-client 재생성 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] chore: Slack 헤더 문구를 Disabled/Mandatory true·false 형식으로 변경 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] chore: Slack 헤더 기호를 on/off가 아닌 카테고리 구분으로 변경 (Disabled=✕, Mandatory=★) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] chore: Slack 헤더 이모지를 카테고리 구분 이모지로 변경 (Disabled=🧊, Mandatory=🔥) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] refactor: Slack 액션 타입을 종류별 3종(Uploaded/Disabled/Mandatory)으로 정리 on/off는 헤더 텍스트가 isDisabled/isMandatory 값으로 표현 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] feat: 릴리즈 업로드 실패 Slack 알림 추가 - 인증·권한 통과 후 업로드 파이프라인(롤아웃 미완/중복 번들/R2·D1 오류) 실패 시 UploadFailed(🚨) 알림 발사 - 에러 메시지를 본문 코드 블록으로 첨부 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] feat: 히스토리 카드 버튼에 컬러 아이콘 강조 적용 - Mandatory 버튼: Zap 아이콘 (Mandatory로 전환 시 amber, Optional 전환 시 muted) - Disable 버튼: Power 아이콘 (Disable 시 red, Enable 시 emerald) - 버튼 골격은 무채색 outline 유지 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] style: 히스토리 카드 액션 버튼 크기 축소 - 버튼 h-9 → h-7, 패딩 px-2, 글자 text-xs - 아이콘 [&_svg]:size-3 강제 (버튼 베이스 [&_svg]:size-4 오버라이드), gap-1 - 버튼 사이 간격 gap-0.5 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] test: disabled/mandatory 토글 엔드포인트 테스트 6종 추가 - label 지정/생략(최신) 대상 선택, 부분 UPDATE(다른 필드 불변), 404, 401 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] refactor: HistoryPage 기능 단위 훅·컴포넌트 분리 - hooks/: useHistoryTarget(앱·배포 선택), useReleaseHistory(이력·지표·페이지), useReleaseToggles(disabled/mandatory 토글) - components/: ReleaseCard, HistoryPagination 분리 (formatBytes/formatTime은 ReleaseCard로 이동) - types.ts로 응답 타입 분리 - useEffect 3개 기명화: selectFirstAppOnLoad / selectDefaultDeployment / resetPageOnTargetChange - 동작 동일, 내부 구조만 변경 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [FE-67] fix: 테스트가 실제 Slack 채널로 알림을 발송하던 문제 차단 vitest-pool-workers가 wrangler.toml 경유로 .dev.vars의 CODE_PUSH_NOTI_SLACK을 로드해 토글 테스트가 실채널로 webhook을 쏘고 있었음. 테스트 바인딩에서 빈 값으로 고정. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
- /auth/google/login, /auth/google/callback (허용 도메인 화이트리스트 게이트) - account.google_id 컬럼 마이그레이션 + linkedProviders GitHub/Google 조합 - getGoogleAccessToken/getGoogleUser 헬퍼 (userinfo 엔드포인트, 미검증 이메일 거부) - 웹 Continue with Google 버튼 + google_domain_not_allowed 에러, GitHub 버튼 검정 통일 - 테스트 4종: 로그인 리다이렉트/도메인 허용·거부/기존 계정 연결 Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
변경 사항
FE-68: 히스토리 조회 DB 레벨 페이지네이션 ([FE-68 -> develop] refactor: 히스토리 조회를 DB 레벨 페이지네이션으로 개선 #27 · refactor)
FE-69: Slack 알림 정리 ([FE-69 -> develop] chore: Slack 알림에서 deployment 이름 제거 및 체크 표기 심플화 #28 · chore)
FE-67: 릴리즈 disabled/mandatory 전용 엔드포인트 + 웹 mandatory 토글 ([FE-67 -> develop] feat: 릴리즈 disabled/mandatory 전용 엔드포인트 분리 및 웹 mandatory 토글 #29 · feat)
FE-66: Google OAuth 로그인 ([FE-66 -> develop] feat: Google OAuth 로그인 추가 #30 · feat)
테스트
참고
0004_add_google_id적용 완료 (컬럼 확인, 구버전 코드 무영향 확인)GOOGLE_CLIENT_SECRET프로덕션 시크릿 등록 완료머지 후 할 일
apps/web에서pnpm deploy) — 서버 배포 완료 후🤖 Generated with Claude Code