Skip to content

Conversation

@baekteun
Copy link
Member

@baekteun baekteun commented Nov 21, 2025

💡 개요

주간 시간표 금요일에 이번주는 저번주가, 다음주는 이번주 시간표가 보이는 이슈

Summary by CodeRabbit

릴리스 노트

  • Bug Fixes

    • 주간 시간표의 요일 계산을 개선해 월요일이 정확히 인식되도록 수정했습니다.
  • Refactor

    • 달력 기반 날짜 계산 로직을 개선해 신뢰성과 안정성을 높였습니다.
  • Chores

    • 앱 버전 업데이트: 버전 11.3 (빌드 84)으로 상향 조정했습니다.

✏️ Tip: You can customize this high-level summary in your review settings.

@gemini-code-assist
Copy link

Summary of Changes

Hello @baekteun, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 Pull Request는 주간 시간표 기능에서 금요일에 잘못된 주차의 시간표가 표시되던 버그를 수정합니다. 기존의 주 시작일 계산 방식이 특정 상황에서 오작동하여 발생한 문제로, CalendardateComponents를 활용하여 주차의 월요일을 정확하게 계산하도록 로직을 개선했습니다. 이를 통해 사용자는 항상 올바른 주간 시간표를 확인할 수 있게 됩니다.

Highlights

  • 주간 시간표 표시 오류 수정: 금요일에 주간 시간표가 잘못 표시되는 문제를 해결했습니다. 현재 주간 시간표가 이전 주를, 다음 주간 시간표가 현재 주를 표시하는 버그를 수정했습니다.
  • 주 시작일 계산 로직 개선: 주간 시간표의 시작일(월요일)을 계산하는 로직을 변경했습니다. 기존에는 요일을 기반으로 일수를 빼는 방식이었으나, 이제는 Calendar.dateComponents를 사용하여 연도와 주차를 얻은 후, 요일을 직접 월요일(2)로 설정하는 방식으로 개선했습니다.
  • 코드 간결화: 주 시작일 계산 로직이 더 간결하고 명확해졌습니다. 불필요한 중간 계산 단계를 줄여 가독성을 높였습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link
Contributor

🛠️ 이슈와 PR의 Labels 동기화를 스킵했어요.

@github-actions
Copy link
Contributor

✅ PR의 Assign 자동 지정을 성공했어요!

@baekteun

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 21, 2025

Walkthrough

WeeklyTimeTableCore.swift에서 mondayDate 계산 방식이 day-start/weekday 기반에서 캘린더의 yearForWeekOfYear/weekOfYear dateComponents로 변경되었고, 변환 실패 시 baseDate로 폴백합니다. 또한 Info.plist의 앱 버전(CFBundleShortVersionString, CFBundleVersion)이 업데이트되었습니다.

Changes

Cohort / File(s) 요약
mondayDate 계산 로직 변경
Projects/Feature/TimeTableFeature/Sources/Weekly/WeeklyTimeTableCore.swift
주의 시작(월요일) 날짜 산출을 weekday 기반 계산에서 Calendar의 yearForWeekOfYear/weekOfYear dateComponents를 사용해 구성하도록 변경. 변환 실패 시 baseDate 폴백. 이후 제어 흐름(페치 등)은 변경 없음.
앱 버전 업데이트
Projects/App/iOS/Support/Info.plist
CFBundleShortVersionString11.211.3으로, CFBundleVersion8384으로 업데이트.

Sequence Diagram(s)

sequenceDiagram
  participant Core as WeeklyTimeTableCore
  participant Cal as Calendar
  participant Fetch as DataFetcher

  Core->>Cal: dateComponents(for: baseDate, [.yearForWeekOfYear, .weekOfYear])
  Cal-->>Core: components(yearForWeekOfYear, weekOfYear)
  Core->>Cal: date(from: components + weekday = Monday)
  alt conversion 성공
    Cal-->>Core: mondayDate
  else 변환 실패
    Core-->>Core: mondayDate = baseDate (폴백)
  end
  Core->>Fetch: fetch(for: mondayDate)
  Fetch-->>Core: results
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20분

  • WeeklyTimeTableCore.swift의 날짜 계산(연도 경계, ISO week 차이 등) 검증 필요
  • 폴백 동작과 downstream(페치) 영향 확인 필요
  • Info.plist 버전 변경은 간단 확인으로 충분

Possibly related PRs

  • 주간 시간표 #200 — WeeklyTimeTableCore의 mondayDate 계산 방식을 수정하는 변경과 직접적으로 관련됨 (같은 파일/로직 대상).

Poem

🐰 달력 위를 깡충깡충,
주의 첫날을 찾아서 폴짝,
실패하면 난 안전히 돌아와,
baseDate 품에 안기네 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 풀 리퀘스트 제목이 주간 시간표의 금요일 표시 문제를 명확하게 설명하며, 변경 사항의 주요 목적과 일치합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/weekly-timetable-issue

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between be45e68 and 13271c7.

📒 Files selected for processing (1)
  • Projects/App/iOS/Support/Info.plist (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ⚙️ Prepare for CI
🔇 Additional comments (1)
Projects/App/iOS/Support/Info.plist (1)

22-22: 버전 업데이트가 적절합니다.

금요일 시간표 표시 이슈 수정을 위한 버전 정보 업데이트가 올바르게 적용되었습니다 (11.2 → 11.3, 빌드 83 → 84). 실제 수정 로직은 AI 요약에 언급된 WeeklyTimeTableCore.swift의 mondayDate 계산 방식 변경에 있는 것으로 보이나, 해당 파일이 리뷰 대상에 포함되지 않았습니다.

Also applies to: 35-35


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 and usage tips.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

주간 시간표에서 주의 시작일인 월요일을 계산하는 로직을 수정하여, 특정 상황(예: 금요일)에서 주가 잘못 표시되던 버그를 해결하셨네요. 기존의 수동 날짜 계산 방식은 사용자의 캘린더 설정에 따라 오류를 일으킬 가능성이 있었는데, yearForWeekOfYearweekOfYear를 사용하는 방식으로 변경하여 안정성을 높인 점이 좋습니다. 코드의 견고성을 향상시키는 올바른 수정입니다.

@baekteun baekteun merged commit 0e006d7 into master Nov 26, 2025
3 checks passed
@baekteun baekteun deleted the feature/weekly-timetable-issue branch November 26, 2025 14:00
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