Fix: 보스 레이드 재입장 불가 버그 수정
- BossRoom 세션명을 매 입장마다 고유하게 생성 (슬롯명_타임스탬프) - SlotSessionName 필드 추가로 슬롯 리셋 시 원래 슬롯명 사용 - DeleteRoomBySlotSessionName 추가 (dedicated server ResetRoom 대응) - CompleteRaid/FailRaid/cleanup에서 슬롯 리셋 로직 수정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -224,6 +224,12 @@ func (r *Repository) DeleteRoomBySessionName(sessionName string) error {
|
||||
return r.db.Unscoped().Where("session_name = ?", sessionName).Delete(&BossRoom{}).Error
|
||||
}
|
||||
|
||||
// DeleteRoomBySlotSessionName removes BossRoom records matching the original slot session name.
|
||||
// Used when dedicated server calls ResetRoom with the slot name (not the unique per-entry name).
|
||||
func (r *Repository) DeleteRoomBySlotSessionName(slotSessionName string) error {
|
||||
return r.db.Unscoped().Where("slot_session_name = ?", slotSessionName).Delete(&BossRoom{}).Error
|
||||
}
|
||||
|
||||
// CleanupStaleWaitingRooms deletes BossRoom records stuck in "waiting" status
|
||||
// past the given threshold and resets their associated RoomSlots to idle.
|
||||
// This handles cases where players disconnect during loading before the Fusion session starts.
|
||||
|
||||
Reference in New Issue
Block a user