Skip to content

[FIX] 포커스 스키마 업데이트 반영 및 모달 완료 계획 시간 수정#259

Merged
kimminna merged 2 commits into
developfrom
fix/web/258-complete-modal-planned-seconds
Jul 16, 2026
Merged

[FIX] 포커스 스키마 업데이트 반영 및 모달 완료 계획 시간 수정#259
kimminna merged 2 commits into
developfrom
fix/web/258-complete-modal-planned-seconds

Conversation

@jjangminii

@jjangminii jjangminii commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

ISSUE 🔗

close #258



What is this PR? 🔍

  • 포커스 스키마 업데이트반영
  • 모달 시간에 처음 순수 계획만, 이전에는 연장된값이 더해져서 나타나고 있었음



To Reviewers

  • 포커스탭 작동하는지 확인해주세요
  • 모달 시간 초기 계획시간만 반여되는지 확인해주세요



Screenshot 📷



Test Checklist ✔

  • TODO
  • TODO
  • TODO

- 완료 모달에 전달되는 계획 시간에서 연장 시간을 제외했습니다
- Focus/사이드바는 타이머 서클 라벨(연장 포함 유지)과 완료 모달(계획만) 값을 분리했습니다
- 실제 응답은 여전히 BaseResponse로 감싸져 있는데 이전 재생성에서 래퍼 없는 타입으로 잘못 바뀌어 있던 것을 실제 동작 기준으로 복원했습니다
@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
timo Ready Ready Preview, Comment Jul 16, 2026 8:12am

Request Review

@github-actions
github-actions Bot requested review from kimminna and yumin-kim2 July 16, 2026 08:12
@github-actions github-actions Bot added the ⏰ Timo-web Timo 웹 서비스 label Jul 16, 2026
@github-actions github-actions Bot added the ♠️ 정민 정민양 label Jul 16, 2026
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

완료 모달의 계획 시간이 연장 시간을 제외하도록 변경되었습니다. 홈·오늘·사이드바 타이머와 집중 세션에서 기본 계획 시간을 별도로 계산·전달하며, 집중 할 일 쿼리의 select 입력 처리도 조정되었습니다.

Changes

기본 계획 시간 표시

Layer / File(s) Summary
기본 계획 시간 계산
apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_containers/HomeTodoContainer.tsx, apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_containers/TodayTodoListContainer.tsx, apps/timo-web/components/layout/sidebar/time/TimerPanel.tsx
완료 모달에 전달되는 계획 분을 plannedSeconds만 기준으로 계산해 연장 시간을 제외합니다.

집중 세션 상태 연결

Layer / File(s) Summary
집중 세션 계획 시간 연결
apps/timo-web/app/[locale]/(main)/focus/_hooks/use-focus-session.ts, apps/timo-web/app/[locale]/(main)/focus/_containers/FocusSessionContainer.tsx
basePlannedMinutes를 집중 세션 상태에 추가하고 TimerSessionControls에 전달합니다.

집중 할 일 쿼리 파싱

Layer / File(s) Summary
쿼리 선택자 입력 처리
apps/timo-web/app/[locale]/(main)/focus/_queries/use-focus-todo-query.ts
select 콜백이 쿼리 결과 객체에서 data를 추출해 스키마를 파싱하도록 변경되었습니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

Possibly related PRs

  • Team-Timo/Timo-client#184plannedSecondsextendedSeconds를 조합해 plannedMinutes를 전달하는 동일한 변환 지점을 다룹니다.
  • Team-Timo/Timo-client#203 — 오늘 화면의 완료 흐름에서 plannedMinutes 계산을 변경한 코드와 직접 연결됩니다.
  • Team-Timo/Timo-client#140FocusSessionContainerTimerPanelplannedMinutes 전달 흐름을 함께 수정합니다.

Suggested labels: 🐛 Bug

Suggested reviewers: kimminna

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed 포커스 스키마 반영과 완료 모달의 계획 시간 수정이라는 핵심 변경을 정확히 요약합니다.
Description check ✅ Passed 포커스 스키마 업데이트와 모달의 순수 계획 시간 표시 변경이 변경사항과 일치합니다.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/web/258-complete-modal-planned-seconds

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jjangminii jjangminii changed the title Fix/web/258 complete modal planned seconds [FIX] 포커스 스키마 업데이트 반영 및 모달 완료 계획 시간 수정 Jul 16, 2026
@github-actions github-actions Bot added the 🐛 Bug 기능이 정상적으로 작동하지 않는 문제 수정 label Jul 16, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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
`@apps/timo-web/app/`[locale]/(main)/(with-time-sidebar)/home/_containers/HomeTodoContainer.tsx:
- Around line 100-102: In the tests covering the completion modal and the
HomeTodoContainer timer flow, add a regression test using React Testing Library
render and user-focused queries with both plannedSeconds and extendedSeconds
populated; assert that the modal displays only the planned duration and does not
include the extended time.
🪄 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: ASSERTIVE

Plan: Pro Plus

Run ID: dc7b4031-82ce-48b8-a00e-9c41b86008cc

📥 Commits

Reviewing files that changed from the base of the PR and between 8991f89 and e969008.

⛔ Files ignored due to path filters (3)
  • apps/timo-web/api/generated/endpoints/focus/focus.ts is excluded by !**/generated/**
  • apps/timo-web/api/generated/endpoints/focus/focus.zod.ts is excluded by !**/generated/**
  • apps/timo-web/api/generated/models/index.ts is excluded by !**/generated/**
📒 Files selected for processing (6)
  • apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_containers/HomeTodoContainer.tsx
  • apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_containers/TodayTodoListContainer.tsx
  • apps/timo-web/app/[locale]/(main)/focus/_containers/FocusSessionContainer.tsx
  • apps/timo-web/app/[locale]/(main)/focus/_hooks/use-focus-session.ts
  • apps/timo-web/app/[locale]/(main)/focus/_queries/use-focus-todo-query.ts
  • apps/timo-web/components/layout/sidebar/time/TimerPanel.tsx

Comment on lines 100 to 102
const plannedMinutes = activeTimer
? convertDurationToMinutes(
activeTimer.plannedSeconds + activeTimer.extendedSeconds,
)
? convertDurationToMinutes(activeTimer.plannedSeconds)
: 0;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

연장 시간을 제외하는 회귀 테스트를 추가해 주세요.

plannedSecondsextendedSeconds가 모두 있는 경우 완료 모달에는 전자만 표시되는지 검증하면, 이번 계약이 다시 합산 방식으로 되돌아가는 회귀를 막을 수 있습니다. React Testing Library의 render와 사용자 중심 쿼리 방식을 참고하면 됩니다. (testing-library.com)

🤖 Prompt for 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.

In
`@apps/timo-web/app/`[locale]/(main)/(with-time-sidebar)/home/_containers/HomeTodoContainer.tsx
around lines 100 - 102, In the tests covering the completion modal and the
HomeTodoContainer timer flow, add a regression test using React Testing Library
render and user-focused queries with both plannedSeconds and extendedSeconds
populated; assert that the modal displays only the planned duration and does not
include the extended time.

@github-actions

Copy link
Copy Markdown

Timo Performance Report

Bundle Size — timo-web
라우트 크기 First Load JS
/[locale]/home 214.14 kB 🔴 420.03 kB
/[locale]/today 198.29 kB 🔴 404.18 kB
/[locale]/focus 161.97 kB 🔴 367.86 kB
/[locale]/settings 168.81 kB 🔴 374.71 kB
/[locale]/statistics 155.72 kB 🔴 361.62 kB
/[locale]/[...rest] 0 B 🟡 205.89 kB
/[locale]/login 213.80 kB 🔴 419.69 kB
/[locale]/oauth/calendar/callback 120.82 kB 🟡 326.72 kB
/[locale]/oauth/callback 120.49 kB 🟡 326.38 kB
/[locale]/onboarding 234.55 kB 🔴 440.45 kB
/[locale] 119.80 kB 🟡 325.70 kB
/[locale]/policy 125.93 kB 🟡 331.82 kB
/robots.txt/route 0 B 🟡 205.89 kB
/sitemap.xml/route 0 B 🟡 205.89 kB

공유 번들: 205.89 kB
🟢 < 200kB  |  🟡 < 350kB  |  🔴 ≥ 350kB (First Load JS · gzip)

Lighthouse — timo-web
URL Perf A11y LCP CLS TBT
/en/home 🔴 62 🟢 95 🔴 15.8s 🟢 0.000 🟡 497ms
/en/today 🔴 66 🟢 95 🔴 15.6s 🟢 0.000 🟡 351ms
/en/focus 🔴 60 🟢 95 🔴 15.3s 🟢 0.000 🟡 586ms
/en/statistics 🔴 60 🟢 95 🔴 15.3s 🟢 0.000 🟡 550ms

Perf ≥ 70 / A11y ≥ 85 목표
LCP 🟢 < 2.5s 🟡 < 4s 🔴 ≥ 4s  |  CLS 🟢 < 0.1 🟡 < 0.25 🔴 ≥ 0.25  |  TBT 🟢 < 200ms 🟡 < 600ms 🔴 ≥ 600ms

Image Optimization — timo-web
파일 크기 포맷 상태
favicon.png 27.84 kB PNG ⚠️ 🟢
images/google-calendar.png 36.20 kB PNG ⚠️ 🟢
images/google-logo.png 26.79 kB PNG ⚠️ 🟢
og.png 437.44 kB PNG ⚠️ 🟡

총 4개 · 528.28 kB  |  🟢 < 200KB  |  🟡 < 500KB  |  🔴 ≥ 500KB
⚠️ 4개 파일 WebP/AVIF 변환 권장

측정 커밋: 1ddf7a6

@ehye1 ehye1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

굿굿 계획시간만 보이게 수정된 거 확인했습니다

@kimminna
kimminna merged commit 086c83d into develop Jul 16, 2026
25 checks passed
@kimminna
kimminna deleted the fix/web/258-complete-modal-planned-seconds branch July 16, 2026 08:30
@kimminna kimminna mentioned this pull request Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⏰ Timo-web Timo 웹 서비스 ♠️ 정민 정민양 🐛 Bug 기능이 정상적으로 작동하지 않는 문제 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FIX] 완료 모달의 "계획" 값에 연장 시간이 포함되지 않도록 수정

3 participants