Skip to content

[DEV-124] 요청중이거나 거절 모달이 띄워진 유저에게는 초대가 안되는 이슈 해결#255

Merged
jeon-soyeong merged 1 commit into
developfrom
fix/dev-124
Feb 23, 2026
Merged

[DEV-124] 요청중이거나 거절 모달이 띄워진 유저에게는 초대가 안되는 이슈 해결#255
jeon-soyeong merged 1 commit into
developfrom
fix/dev-124

Conversation

@jeon-soyeong

@jeon-soyeong jeon-soyeong commented Feb 13, 2026

Copy link
Copy Markdown
Collaborator

요약

  • 요청중이거나 거절 모달이 띄워진 유저에게는 초대가 안되는 이슈를 해결했습니다.

작업 목록

  • GameMatchStatus requestDevlined 상태에서 receivedInvite event를 받을 때 case 추가

작업 내용

  • 초대 요청도 오고 상단 알림 리스트에도 쌓이나 UI 상 교체가 되지 않는 문제임을 파악.
  • 알림 리스트에 쌓이는지 확인.
  • GameMatchStatus requestDevlined 상태에서 receivedInvite event를 받을 때 case 추가

UI 변경

ScreenRecording_02-13-202615-55-51_1-ezgif com-video-to-gif-converter

  • 초대 후 거절 모달 띄워진 상태에서 초대 받으면 다시 초대 bottomSheet 가 올라옴.
  • 초대 bottomSheet가 올라와진 상태에서 전혀 다른 제 3자가 초대를 보내면 알림 리스트 UI로 확인 가능

closes DEV-124

Summary by CodeRabbit

  • Bug Fixes
    • Enhanced the game invitation system to ensure users can reliably receive and respond to new game invitations across all game states. The app now correctly handles invitation requests even when a previous invitation was declined. Game state consistency is properly maintained, allowing for seamless gameplay transitions and preventing invitation delivery issues.

- 초대 요청도 오고 상단 알림 리스트에도 쌓이나 UI 상 교체가 되지 않는 문제임을 파악.
- 알림 리스트에 쌓이는지 확인.
- GameMatchStatus requestDevlined 상태에서 receivedInvite event를 받을 때 case 추가

refs: DEV-124
@jeon-soyeong jeon-soyeong self-assigned this Feb 13, 2026
@jeon-soyeong jeon-soyeong added the bug Something isn't working label Feb 13, 2026
@linear

linear Bot commented Feb 13, 2026

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Feb 13, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The change expands pattern matching in GameMatchStatus to handle the receiveInvite event from an additional state. A new case now transitions from .requestDeclined to receivedInvite, allowing invite reception after a request was declined while preserving the wasSoloGame flag.

Changes

Cohort / File(s) Summary
GameMatchStatus State Transition
iOS/App/Sources/Presentation/Lobby/Model/GameMatchStatus.swift
Added pattern matching case for receiveInvite event from .requestDeclined state, transitioning to receivedInvite while preserving the wasSoloGame flag.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • #168 — Modifies GameMatchStatus handling and receivedInvite transitions with associated enum/function changes.

Suggested labels

Chore

Suggested reviewers

  • yungu0010
  • oyobbeb

Poem

🐰 A rabbit hops through state transitions bright,
Where declined requests now see the light!
From .requestDeclined to invites anew,
The wasSoloGame flag stays perfectly true! 🎮✨

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references DEV-124 and clearly describes fixing an issue where users in certain states (request-pending or declined-modal) weren't receiving invites, which matches the core change in the switch-case pattern matching expansion.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into develop

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/dev-124

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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.

@jeon-soyeong
jeon-soyeong requested a review from oyobbeb February 13, 2026 07:45

@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

🤖 Fix all issues with AI agents
In `@iOS/App/Sources/Presentation/Lobby/Model/GameMatchStatus.swift`:
- Around line 47-50: The pattern match handling .receiveInvite currently covers
(.idle), (.soloGame), and (.requestDeclined) but omits the .sendingRequest
state; update the match in GameMatchStatus (the case handling .receiveInvite) to
include (.sendingRequest, .receiveInvite(let player, let wasSoloGame)) alongside
the existing tuples so that .sendingRequest transitions to
.receivedInvite(player:player, wasSoloGame:wasSoloGame) the same way as the
other states.

Comment thread iOS/App/Sources/Presentation/Lobby/Model/GameMatchStatus.swift

@leesungkug leesungkug left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

빠른 디버깅 감사합니다!

@jeon-soyeong
jeon-soyeong merged commit 158c1a1 into develop Feb 23, 2026
2 checks passed
@jeon-soyeong
jeon-soyeong deleted the fix/dev-124 branch February 23, 2026 01:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants