Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Connection issue popup making application unusable #457

Open
sharaths21312 opened this issue Apr 22, 2024 · 3 comments
Open

[Bug]: Connection issue popup making application unusable #457

sharaths21312 opened this issue Apr 22, 2024 · 3 comments
Labels
Area: UI/UX Issue labeled for User Interface/eXperience related issue

Comments

@sharaths21312
Copy link

Affected Version

Collapse 1.80.0 (preview), 1.73.8

Bug Behavior

Once every few seconds, there's a screenwide popup making it impossible to click anywhere or use the app. These popups appear to stack, so if the app is running in the background for a while sometimes there can be many of these making it impossible to use.

Expected Behavior

The warning message should preferably either:

  • be hidden to the user
  • disappear after being ignored once
  • appear as a notification instead of a popup

Steps to reproduce

Simply open the app and keep it open

This issue occurs for me when connecting through Cloudflare WARP on an internet connection that would normally block hoyo servers, but the games still download just fine (and the issues seem to have only started from a recent update to Collapse)

Related Issues

No response

Screenshot(s)

Recording.2024-04-22.164044.mp4

Additional Information

The full error message is:

System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 60 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage, Boolean, Boolean, CancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage, Boolean, CancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage, Boolean, CancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage, HttpCompletionOption, CancellationTokenSource, Boolean, CancellationTokenSource, CancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception, Boolean, HttpResponseMessage, CancellationTokenSource, CancellationToken, CancellationTokenSource)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage, HttpCompletionOption, CancellationTokenSource, Boolean, CancellationTokenSource, CancellationToken)
   at CollapseLauncher.FallbackCDNUtil.GetURLHttpResponse(String URL, CancellationToken token, Boolean isForceUncompressRequest) in C:\projects\collapse\CollapseLauncher\Classes\RegionManagement\FallbackCDNUtil.cs:line 372
   at CollapseLauncher.FallbackCDNUtil.GetHttpStreamFromResponse(String URL, CancellationToken token) in C:\projects\collapse\CollapseLauncher\Classes\RegionManagement\FallbackCDNUtil.cs:line 378
   at CollapseLauncher.MainPage.TryDownloadToCompleteness(String url, FileInfo fileInfo, CancellationToken token) in C:\projects\collapse\CollapseLauncher\Classes\RegionManagement\RegionManagement.cs:line 280

There seems to be 3 overlapping log files generated, so I'm attaching all of them
log-2024-04-22-pre1.80.0-id0.log
log-2024-04-22-prevUnknown-id1.log
log-2024-04-22-pre1.80.0-id1.log

@sharaths21312 sharaths21312 added the Needs Triaging This issue needs the developer's attention to sort & prioritize. label Apr 22, 2024
@bagusnl
Copy link
Member

bagusnl commented Apr 22, 2024

Heyyo~

Generally, all access to the necessary miHoYo API function is needed for Collapse to function normally. But I think in this case, there is a need to add an x/Close button to the popup so users can close the popup without having to go back a page (in this case would just refresh HomePage)

Cc @neon-nyan

@bagusnl bagusnl added Area: UI/UX Issue labeled for User Interface/eXperience related issue and removed Needs Triaging This issue needs the developer's attention to sort & prioritize. labels Apr 22, 2024
@neon-nyan
Copy link
Member

Heyyo~

Generally, all access to the necessary miHoYo API function is needed for Collapse to function normally. But I think in this case, there is a need to add an x/Close button to the popup so users can close the popup without having to go back a page (in this case would just refresh HomePage)

Cc @neon-nyan

Hmm... I think the best way to fix this issue is to exclude timeout exception on TryDownloadToCompleteness() so it can be bypassed. Technically it's possible to bypass the next exception by adding a checkbox to "Not showing the error again". Which one do you prefer?

@bagusnl
Copy link
Member

bagusnl commented Apr 22, 2024

Hmm... I think the best way to fix this issue is to exclude timeout exception on TryDownloadToCompleteness() so it can be bypassed. Technically it's possible to bypass the next exception by adding a checkbox to "Not showing the error again". Which one do you prefer?

While completely bypassing the exception seems like not a good idea, I think deferring that specific exception until the next time Collapse starts will be preferable. It's because if we always ignore that exception on all start, it might cause an unexpected UX when certain APIs can't be fetch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: UI/UX Issue labeled for User Interface/eXperience related issue
Projects
None yet
Development

No branches or pull requests

3 participants