Replies: 3 comments
-
Have you read this? #56 |
Beta Was this translation helpful? Give feedback.
-
To comment specifically on this: no matter how you put it, there's always going to be some scenarios that's not perfectly aligned with the workflow proposed here. The current implementation is very lightweight. The backend works by downloading the first few bytes of the update file, which contain the hash of the version, and that's compared against the currently installed version. If the two match, then the installed version is the same as the one offered by the server, if not, the application suggests an update. It's minimal processing, minimum number of data transferred, very efficient in my opinion. It does not have any way to tell which version the update is. For that, the entire update would have to be downloaded or to provide an additional file which specifies the version or to check the redirect URL. That's extra infrastructure. But that's not the main issue. The main thing is, with just that, it still wouldn't cut it, because multiple updates may share the same "version". Version is kind of meaningless here, it's just for users to kind of tell where they are situated. This really is based on commits - the updates are just compilations of a specific commit. Some commits do not increment the version number (located in The update system offers two simple tiers:
So yeah, using versions is not enough because especially pre-releases often are names with the same "version". With releases, this shouldn't happen, because those are hand picked manually from time to time. The functionality is basic now, you're on a version you got from pre-release, you switched to releases, of course it wants to switch you back to the release as it sees that is different. Really, without additional complicated checks that just complicate the system too much for a very specific use case, there isn't an easy way to determine where on the timeline a specific installed version is. And like, it gets convoluted: in your scenario, the app should know you're on an official commit (you can also compile your own version which comes with making an "unofficial" commit then, and there's no way to tell that), check in the list of updates to see where that is located, and determine whether the proposed version is newer than this one and if it's in the channel (pre-release/release) that you have selected. Yeah... is this really required...? I mean, yeah, all this is doable, indeed, but the kind of thing that's called a small matter of programming. I don't feel like it's worth investing all the energy into that. As a mitigation that may be more easily done in the future is to show which "version" a certain update is designated. That can kind of be extracted from the URL. That's more doable. It's actually something much easier to pick up by someone interested in working in this area. That would mitigate the situation you're describing, I think. Or, just disable updates until you get back to a release. I understand, you switched to the latest pre-release because you did not really care in testing staging versions, probably wanted feature 'x' from there and don't want to get newer "beta" versions which may break some things. That's fine, I understand, but I can't promote pre-releases to releases either without taking some time to evaluate them, because things break and that's not good for most people. And like, it's a GitHub project maintained by mostly one guy, you are highly encouraged to get involved and help contribute make it better, I don't have all the time in the world to work on polishing every area of this. And, please, do not disregard pinned stuff. It takes less than 5 minutes to read. Thank you |
Beta Was this translation helpful? Give feedback.
-
@yetisyny I have implemented functionality that treats this use case and does not suggest the older stable version as an update when the user is using a pre-release version but has switched back to the stable update channel in the latest pre-release (22000.434.41.12). Indeed, it's better this way. Additionally, a new feature is also that the notification that gets displayed when an update is available now includes the version number of the update. Thanks for the report. |
Beta Was this translation helpful? Give feedback.
-
If you use a pre-release version of ExplorerPatcher and have update notifications turned on but not for pre-release versions, ExplorerPatcher will give notifications about the latest release version when restarting Windows or restarting Explorer, despite the fact that the latest release version is actually older (at least currently).
The correct behavior (in my opinion) would only notify about a newer version than the current version (checking to see that the version number is higher and/or the release date is more recent and/or it corresponds to a more recent commit in the commit history, or something like that, version number would probably be the easiest thing to check). It would not suggest downgrading to an older version which seems to be happening now.
Specifically right now I am using the pre-release version 22000.348.40.6 of ExplorerPatcher (released 2 days ago), but I get update notifications suggesting I update to the release version 22000.348.39.1 of ExplorerPatcher (released 15 days ago), which is an older version. If I click on the notification in the lower right part of the taskbar it takes me to the release page for release version 22000.348.39.1 of ExplorerPatcher (released 15 days ago) which seems odd because my current version is newer.
As far as the installation, I was using the latest release version 22000.348.39.1 previously (installed via ep_setup.exe) but then installed the latest pre-release version 22000.348.40.6 today to try it out (installing the update with a downloaded copy of ep_setup.exe for this version). This used the ability of using ep_setup.exe to update an installation that was introduced in version 22000.318.38.4, 20 days ago, which seems to work perfectly fine without any issues. I am just mentioning that in case it is relevant that I did not do a clean installation of the program.
I think I should not get any update notifications until there is a newer version than the one I currently have installed, and although I have a pre-release version installed, I have it set to check for release versions and not pre-release versions because sometimes more than one pre-release version is released on the same day and that’s a bit often so I prefer the setting of only checking for the latest release version, and also because checking for pre-release versions is not recommended and in most settings I try to go with what’s recommended, to avoid problems.
Thanks for looking into this; I really like ExplorerPatcher!
Beta Was this translation helpful? Give feedback.
All reactions