[Feature/#356] 워크스페이스 목록/멤버관리/설정/알림/타임라인 에러 바운더리 적용 - #366
Conversation
📚 Storybook 배포 완료
|
|
Warning Review limit reached
Next review available in: 38 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough타임라인, 워크스페이스, 알림 설정 영역에 Changes타임라인 오류 격리
워크스페이스 오류 격리
알림 설정 오류 격리
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/timeline/TimelinePerformancePanel.tsx`:
- Around line 25-26: Update the ChartErrorFallback import in
TimelinePerformancePanel.tsx to use the `@/` alias, resolving it through the
components/common/error path instead of the relative path. Leave the other
imports unchanged.
- Around line 372-380: Update the ErrorBoundary wrapping TimelineDailyTrendChart
to include resetKeys for the chart’s relevant state: viewUnit, chartPeriodIndex,
chartRangeStart, and chartRangeEnd. Preserve the existing FallbackComponent and
chart rendering behavior while ensuring changes to any of those values reset the
fallback.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 959df9c7-ff77-42f2-8de6-42fa724a6f82
📒 Files selected for processing (6)
src/components/timeline/TimelinePerformancePanel.tsxsrc/pages/dashboard/timeline/Timeline.tsxsrc/pages/setting/Setting.tsxsrc/pages/workspace/MemberManagement.tsxsrc/pages/workspace/Workspace.tsxsrc/pages/workspace/WorkspaceSetting.tsx
🚨 관련 이슈
Closed #365
✨ 변경사항
✏️ 작업 내용
제 담당 페이지/영역에 컴포넌트 레벨
ErrorBoundary를 적용했습니다.랜더 타임 에러시 해당 영역만 fallback UI로 대체하고, API
isError인라인 UI는 기존 그대로 유지했습니다.Workspace.tsx)WorkspaceSetting.tsx)MemberManagement.tsx)Timeline.tsx)TimelinePerformancePanel.tsx)Setting.tsx)😅 미완성 작업
N/A
💡 ErrorBoundary 개념 정리
제가 에러바운더리 이해가 조금 어려워서 한번 개념정리 했습니다!
React에서 자식 컴포넌트가 랜더링 중에 JS 에러를 throw하면, 원래 페이지 전체가 깨질 수 있다.
일부분만 에러가 난 것이지만, 사용자에게 보여지는 걸로는 페이지 전체 오류로 보여지는 현상이 나타난다.
페이지 전체 오류가 아닌 일부 오류로 표현되기 위해
ErrorBoundary가 사용된다.ErrorBoundary는 그 에러를 중간에서 잡아서, 에러가 난 그 영역만 에러 UI+다시 시도로 바꿔주는 안전망이다.즉, 일부 UI crash가 화이트스크린으로 번지지 않도록 막아주고, 오류 난 해당 영역만 복구하는 울타리 장치이다!
API 에러와 차이점은? (
isError)ErrorBoundary+ Fallbackundefined.map(), 차트 내부 throwisError인라인 UI이번 작업에서
isLoading과isErrorUI 수정하지 않았습니다.로딩/API 실패는 이미 정상적으로 그려지는 상태여서, ErrorBoundary 대상이 아닙니다!
📢 논의 사항 및 참고 사항
isError처리는 유지했습니다.Summary by CodeRabbit