planetarium / NineChronicles

Unity client application for Nine Chronicles, a fully decentralized idle RPG powered by the community.
https://nine-chronicles.com/
GNU Affero General Public License v3.0
349 stars 147 forks source link

[시즌패스] 시즌패스가 비활성화 상태로 출력되는 현상 #4815

Closed QgamesGeonPyoNoh closed 1 month ago

QgamesGeonPyoNoh commented 1 month ago

APV version info

v200170

Client version info

v170.0.2

Device

Windows, Android, iOS

detailed device info

Windows 10, Android 12, iOS 17

account address info

0x3146FE0E47A1998e14cd8a33640e3648A5A90276

avatar address info

No response

purchase receipt info

No response

What happened?

[내용] 시즌패스가 비활성화 상태로 출력되는 현상 -간헐적으로 이전 시즌 패스 정보가 출력되거나, 연결이 끊어졌다는 메세지가 출력됩니다. -Windows / Android / iOS 환경에서 확인하였습니다.

Image

How to reproduce the issue

[재현스텝]

  1. 메인 로비 진입
  2. 시즌패스가 비활성화 상태로 출력되는 현상 확인

[Should be] 시즌패스가 시즌패스 6 활성화 상태로 출력되어야 합니다.

Relevant log output

No response

jonny-jeahyunchoi commented 1 month ago

@U-lis 이거 생각해보니 서비스가 안떠있으면 시간표시가 나올수가없는데요 시간은 지났지만 현재 시즌ID가 넘어가지 않을수있는지 확인이 필요해 보입니다~! 인터널에서 서비스 데이터변경하여 이전보상수령 테스트도 진행해봐야할것같아요

U-lis commented 1 month ago

음... 이건 지금 정상으로 보여야 맞는데... 4/20에 시즌5가 끝나고 시즌6이 나오도록 설정되어 있습니다. 시즌패스 보상 수령이랑 등등 다 잘 되는 것 확인해서 일단 다시 QA 요청드려봅니다.

QgamesGeonPyoNoh commented 1 month ago

수정 내용 확인 완료했습니다.

https://github.com/planetarium/NineChronicles/assets/150774808/f7bcccde-b425-49b7-bec2-cb0ab63a0fce

[테스트 환경] Windows.v200170-170.0.3 Android.v200170-170.0.3 iOS.v170.0.3(52)

QgamesGeonPyoNoh commented 1 month ago

해당 현상 재발생했습니다. 확인 부탁드립니다.

Image

[테스트 환경] Windows.v200170-170.0.4 Android.v200170-170.0.4 iOS.v170.0.4(53)

U-lis commented 1 month ago

@QgamesGeonPyoNoh 확인해보니 아마 timeout 등으로 현재 avatar 의 season pass 정보를 받아오지 못하는 경우 저렇게 나오는 것 같습니다. API 서비스의 성능을 올리고 timeout 을 늘려 대응했으며, 이후 제가 테스트했을 때는 잘 보이는 것 확인했습니다. 해당 성능 향상은 정식 PR 로 포함시켜 이후 문제가 없도록 해놓겠습니다. 번거로우시겠지만 다시 한번 확인해주시면 감사드리겠습니다 :pray:

QgamesGeonPyoNoh commented 1 month ago

시즌패스 정상 출력 확인했습니다.

Image

[테스트 환경] Windows.v200170-170.0.4 Android.v200170-170.0.4 iOS.v170.0.4(53)

QgamesGeonPyoNoh commented 1 month ago

시즌패스가 다시 주기적으로 비활성화되고 있습니다. 확인 부탁드립니다.

  1. 패스 남은 시간이 마이너스로 출력되며 버튼 비 활성화
  2. 패스 남은 시간은 출력되나 클릭 시 'Fail to Connect' 메세지 출력 현재 해당 2가지 현상으로 나타나고 있습니다. 공통적으로 출력되는 Error 로그 공유드립니다.

[테스트 환경] Windows.v200170-170.0.4 Android.v200170-170.0.4 iOS.v170.0.4(53)

[Error Log] [2024-4-24 12:33:23] $SeasonPassServiceManager [AvatarStateRefreshAsync] CurrentSeasonPassData or LevelInfos is null Nekoyume.d31:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start(TStateMachine&) Nekoyume.SeasonPassServiceManager:AvatarStateRefreshAsync() Nekoyume.SeasonPassServiceManager:b27_3(Boolean) UnityEngine.Events.UnityEvent1:Invoke(T0) Nekoyume.UI.LoginDetail:EnterRoom() Nekoyume.UI.<LoginClick>d__18:MoveNext() System.Runtime.CompilerServices.MoveNextRunner:Run() Cysharp.Threading.Tasks.UniTaskCompletionSourceCore1:TrySetResult(TResult) Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask1:SetResult() Nekoyume.State.<SelectAvatarAsync>d__81:MoveNext() Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask1:Run() Cysharp.Threading.Tasks.UniTaskCompletionSourceCore1:TrySetResult(TResult) Cysharp.Threading.Tasks.WhenAllPromise:TryInvokeContinuation(WhenAllPromise, Awaiter&) Cysharp.Threading.Tasks.<>c:<.ctor>b__3_0(Object) Cysharp.Threading.Tasks.UniTaskCompletionSource1:TrySignalCompletion(UniTaskStatus) Cysharp.Threading.Tasks.UniTaskCompletionSource1:TrySetResult(T) Cysharp.Threading.Tasks.ToUniTaskObserver1:OnCompleted() UniRx.Operators.ObserveOn:OnCompleted(Unit) UniRx.QueuedAction1:Invoke(Object) UniRx.InternalUtil.ThreadSafeQueueWorker:ExecuteAll(Action1) UniRx.MainThreadDispatcher:Update()

QgamesGeonPyoNoh commented 1 month ago

Image Image

jonny-jeahyunchoi commented 1 month ago
SeasonPassServiceManager [AvatarStateRefreshAsync] CurrentSeasonPassData or LevelInfos is null
Nekoyume.d__31:MoveNext()

해당로그는 아바타 정보 갱신시에 시즌패스의 아바타 정보갱신을 위해서 GetSeasonpassCurrentAsync와 GetUserStatusAsync 요청을 넣기전에 현재 클라에 캐싱되어있는 현재 시즌정보와 래밸정보가 없을떄 나는현상으로 아마 최초 초기화가 실패한것으로 보여요

QgamesGeonPyoNoh commented 1 month ago

수정 내용 확인 완료되었습니다.

Image

[테스트 환경] Windows.v200170-170.0.8 Android.v200170-170.0.8 iOS.v170.0.8(57)