Skip to content

πŸš€ :: Release/1.7.0-18#129

Merged
khs3994 merged 14 commits intomasterfrom
release/1.7.0-18
Apr 6, 2026
Merged

πŸš€ :: Release/1.7.0-18#129
khs3994 merged 14 commits intomasterfrom
release/1.7.0-18

Conversation

@khs3994
Copy link
Copy Markdown
Collaborator

@khs3994 khs3994 commented Mar 25, 2026

πŸ’‘ κ°œμš”

  • deploy: 1.7.0 (18)

πŸ“ƒ μž‘μ—…λ‚΄μš©

  • μ•Œλ ˆλ₯΄κΈ° κΈ°λŠ₯ μΆ”κ°€

πŸ”€ 변경사항

🎸 기타

khs3994 and others added 14 commits March 12, 2026 22:28
κΈ°μ‘΄ String νƒ€μž…μ„ MealMenuItem(name, allergyIds)으둜 λ³€κ²½ν•˜κ³ 
κ΄„ν˜Έ μ•ˆμ˜ μ•ŒλŸ¬μ§€ 번호λ₯Ό νŒŒμ‹±ν•˜λŠ” 둜직 μΆ”κ°€

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
DataStore 기반 μ•ŒλŸ¬μ§€ 선택 μ €μž₯/쑰회 인프라 μΆ”κ°€
(DataSource, Repository, UseCase, DI 바인딩)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AllergiesViewModel μ €μž₯/λ‘œλ“œ 연동 및
MainScreenμ—μ„œ μ•ŒλŸ¬μ§€ μŒμ‹ ν•˜μ΄λΌμ΄νŠΈ ν‘œμ‹œ

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- AllergiesViewModel: updatedIdsλ₯Ό reduce μ™ΈλΆ€μ—μ„œ κ³„μ‚°ν•˜μ—¬ 레이슀 μ»¨λ””μ…˜ 제거
- AllergiesViewModel: μ €μž₯ μ‹€νŒ¨ μ‹œ 이전 μƒνƒœλ‘œ 원볡 및 Toast ν‘œμ‹œ
- LocalAllergyDataSourceImpl: toInt() β†’ toIntOrNull() + mapNotNull둜 ν¬λž˜μ‹œ λ°©μ§€
- MainViewModel: collectAllergyIds에 Flow.catch μΆ”κ°€λ‘œ 코루틴 μ·¨μ†Œ λ°©μ§€

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
μ•ŒλŸ¬μ§€ IDλŠ” 쀑볡 λΆˆκ°€ + 멀버십 체크가 μ£Ό μš©λ„μ΄λ―€λ‘œ Set이 의미적으둜 μ ν•©ν•˜λ©°
contains 연산이 O(1)둜 κ°œμ„ λ¨

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SettingRoute: μ•ŒλŸ¬μ§€ μ„€μ • navigate에 launchSingleTop 적용
- MealsSection: deprecated Dividerλ₯Ό HorizontalDivider둜 ꡐ체

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
✨ :: (#125) - μ•Œλ ˆλ₯΄κΈ° μ„€μ • κΈ°λŠ₯ μΆ”κ°€
@khs3994 khs3994 self-assigned this Mar 25, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 25, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

βš™οΈ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 780b40ac-70ec-4e21-948d-6909ea61d19d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • πŸ” Trigger review
✨ Finishing Touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/1.7.0-18

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.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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!

이 PR은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μƒˆλ‘œμš΄ μ•Œλ ˆλ₯΄κΈ° 관리 κΈ°λŠ₯을 λ„μž…ν•©λ‹ˆλ‹€. 이제 μ‚¬μš©μžλŠ” νŠΉμ • μ•Œλ ˆλ₯΄κΈ°λ₯Ό 선택할 수 있으며, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ ν•΄λ‹Ή μ•Œλ ˆλ₯΄κΈ° 유발 λ¬Όμ§ˆμ„ ν¬ν•¨ν•˜λŠ” 급식 ν•­λͺ©μ„ κ°•μ‘° ν‘œμ‹œν•©λ‹ˆλ‹€. 이 κ°œμ„  사항은 급식 정보 ν‘œμ‹œ λ‚΄μ—μ„œ κ°œμΈν™”λœ 식단 정보λ₯Ό μ œκ³΅ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚€λ©°, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전이 1.7.0으둜 μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Highlights

  • μ•Œλ ˆλ₯΄κΈ° κΈ°λŠ₯ κ΅¬ν˜„: μ‚¬μš©μžκ°€ μžμ‹ μ˜ μ•Œλ ˆλ₯΄κΈ°λ₯Ό μ„ νƒν•˜κ³  관리할 수 μžˆλŠ” μƒˆλ‘œμš΄ μ•Œλ ˆλ₯΄κΈ° κΈ°λŠ₯이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 급식 ν•­λͺ© μ•Œλ ˆλ₯΄κΈ° 정보 ν‘œμ‹œ: 급식 ν•­λͺ©μ— μ•Œλ ˆλ₯΄κΈ° IDκ°€ ν¬ν•¨λ˜λ„λ‘ λ³€κ²½λ˜μ—ˆμœΌλ©°, μ‚¬μš©μžκ°€ μ„ νƒν•œ μ•Œλ ˆλ₯΄κΈ° 유발 μ‹ν’ˆμ€ 급식 UIμ—μ„œ μ‹œκ°μ μœΌλ‘œ κ°•μ‘° ν‘œμ‹œλ©λ‹ˆλ‹€.
  • 버전 μ—…λ°μ΄νŠΈ: μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 버전이 1.7.0 (버전 μ½”λ“œ 18)둜 μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • μ•Œλ ˆλ₯΄κΈ° 데이터 μ˜μ†μ„±: DataStoreλ₯Ό ν™œμš©ν•˜μ—¬ μ„ νƒλœ μ•Œλ ˆλ₯΄κΈ° IDλ₯Ό λ‘œμ»¬μ— μ €μž₯ν•˜κ³  κ²€μƒ‰ν•˜λŠ” 데이터 μ†ŒμŠ€ 및 μ €μž₯μ†Œ 계측이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • UI μ»΄ν¬λ„ŒνŠΈ λ¦¬νŒ©ν† λ§ 및 μ‹ κ·œ λͺ¨λ“ˆ μΆ”κ°€: AllergiesCard μ»΄ν¬λ„ŒνŠΈκ°€ DrawableResλ₯Ό μ‚¬μš©ν•˜μ—¬ μ•„μ΄μ½˜μ„ μ²˜λ¦¬ν•˜λ„λ‘ λ¦¬νŒ©ν† λ§λ˜μ—ˆκ³ , μ•Œλ ˆλ₯΄κΈ° κ΄€λ ¨ UI 및 λ‘œμ§μ„ μœ„ν•œ feature/allergies λͺ¨λ“ˆμ΄ μƒˆλ‘œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

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.

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. ↩

Copy link
Copy Markdown
Contributor

@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

This pull request introduces a new allergy settings feature, allowing users to select their allergies. This involved significant refactoring of meal data handling to include allergy information, transitioning from simple lists of strings to a MealMenuItem data class that encapsulates both the meal name and associated allergy IDs. A new AllergiesCard component was created, and existing meal display components were updated to highlight meals containing selected allergens. Data persistence for selected allergies is handled via DataStore. The PR also updates the app version and adds a .omc entry to .gitignore. A potential issue was identified where the catch operator in the getSelectedAllergyIdsUseCase flow could terminate the flow collection on error, leading to stale allergy data on the main screen until the ViewModel is recreated.

Comment on lines +40 to +42
.catch {
reduce { state.copy(selectedAllergyIds = emptySet()) }
}
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.

high

The catch operator here will cause the flow collection to terminate upon any exception from the upstream getSelectedAllergyIdsUseCase() flow (e.g., an IOException from DataStore). While it correctly sets a default emptySet(), the flow will no longer be collected after an error. This means if the user navigates to settings, changes their allergies, and returns to the main screen, the changes will not be reflected because the flow is no longer being observed. The allergy information will remain stale until the ViewModel is recreated (e.g., on app restart), which can lead to a confusing user experience.

@khs3994 khs3994 merged commit b6bf767 into master Apr 6, 2026
3 checks passed
@khs3994 khs3994 deleted the release/1.7.0-18 branch April 6, 2026 23:52
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.

1 participant