[GH-ISSUE #2004] [Bug]: Update function in dev branch version creates endless loop and crashes the program #1325

Open
opened 2026-03-03 19:05:52 +03:00 by kerem · 2 comments
Owner

Originally created by @luka2272 on GitHub (Oct 18, 2025).
Original GitHub issue: https://github.com/PlayCover/PlayCover/issues/2004

Describe the bug

While trying to run the latest nightly version of PlayCover, I found it sat in the dock with a not responding status. Running it through the terminal shows it is stuck in a checking for updates loop, while trying to update PlayCover from version 3 to 3.1. I had the latest 3.1 stable version installed so this update thing seemed strange. Looking through the code I found that the responsible function for the 3 to 3.1 update is in a switch that checks for version "3", regardless of the point release, thus trying to update version 3.1 to... 3.1 and fails. Modifying the string to check for strictly "3.0" instead of "3" fixes the issue and the app starts right up. Didn't do a PR since I thought this was a minor thing, even if without this change the app is unusable:) Hope it gets fixed!

Steps to reproduce

Using macOS Tahoe 26.1 Beta 2, Xcode 26.0.1 and the latest development code at the time of writing. Just git cloning and compiling the existing code should show the issue. I don't think the os version is really relevant in this case but I'd be curious to know if it is.

Expected behaviour

The app should check for a version string of 3.0 when trying to update version 3 to 3.1 as to not try updating version 3.1 to 3.1.

Crash log


What version of PlayCover are you using?

Nightly/beta (please specify build number)

What version of macOS are you using?

macOS beta (please state the specific version)

Issue Language

  • Yes my issue is written in English
Originally created by @luka2272 on GitHub (Oct 18, 2025). Original GitHub issue: https://github.com/PlayCover/PlayCover/issues/2004 ### Describe the bug While trying to run the latest nightly version of PlayCover, I found it sat in the dock with a not responding status. Running it through the terminal shows it is stuck in a checking for updates loop, while trying to update PlayCover from version 3 to 3.1. I had the latest 3.1 stable version installed so this update thing seemed strange. Looking through the code I found that the responsible function for the 3 to 3.1 update is in a switch that checks for version "3", regardless of the point release, thus trying to update version 3.1 to... 3.1 and fails. Modifying the string to check for strictly "3.0" instead of "3" fixes the issue and the app starts right up. Didn't do a PR since I thought this was a minor thing, even if without this change the app is unusable:) Hope it gets fixed! ### Steps to reproduce Using macOS Tahoe 26.1 Beta 2, Xcode 26.0.1 and the latest development code at the time of writing. Just git cloning and compiling the existing code should show the issue. I don't think the os version is really relevant in this case but I'd be curious to know if it is. ### Expected behaviour The app should check for a version string of 3.0 when trying to update version 3 to 3.1 as to not try updating version 3.1 to 3.1. ### Crash log ```shell ``` ### What version of PlayCover are you using? Nightly/beta (please specify build number) ### What version of macOS are you using? macOS beta (please state the specific version) ### Issue Language - [x] Yes my issue is written in English
Author
Owner

@naley2300 commented on GitHub (Dec 18, 2025):

Please show me how to fix the same problem above. Where to modify the string to check version stricly to 3.0

<!-- gh-comment-id:3669041600 --> @naley2300 commented on GitHub (Dec 18, 2025): Please show me how to fix the same problem above. Where to modify the string to check version stricly to 3.0
Author
Owner

@luka2272 commented on GitHub (Dec 18, 2025):

In UpdateScheme.swift, in the checkForUpdate() function, in the switch case instruction, the case for "3" is the one to modify.

<!-- gh-comment-id:3671428593 --> @luka2272 commented on GitHub (Dec 18, 2025): In UpdateScheme.swift, in the checkForUpdate() function, in the switch case instruction, the case for "3" is the one to modify.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/PlayCover#1325
No description provided.