-
Notifications
You must be signed in to change notification settings - Fork 91
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
Feature request: Sync cask version to the current installed version #153
Comments
Hey @muescha , Thank you for your suggestion, not not sure if that is easily possible. Do you have a hint how to get (in general) a version of installed software? Theoretically might be possible to get that from |
Also one issue is that how the installation folder looks like:
But not something that is not achievable, just re-symlinking to a different folder might work 🤔 |
i don't know how MacUpdater solved this :( |
Hey @muescha , I also don't know how they solved it but also I guess they have much more resources. I've tried to look into this and the problem is that not all casks are installed the same way. Currently it is fairly "easy" to guess the version - even though there are multiple versions in the There are currently two ways:
In both cases I still have the problem that there is no link between them guaranteed (i.e. some casks are installed via |
Was just wondering the same thing and found this issue. Perhaps another way to approach it might be to simply hide versions of unmanaged software?
It just feels a little unsettling to see the incorrect current version, but hiding it seems to restore the peace of mind. 🤔 What are your thoughts? |
Hey @maxim , thanks for stopping by 😉 The issue I see with your proposal is how do you know, which are managed and which are not? For example I turn auto-update for the apps off and 99% of the times I update them through So what would be the use case for showing the |
Ah makes sense, this wouldn't work then. Trying to see if there's any way to indicate that "current version" is not actually correct in some cases. |
My proposal was simply to have |
Hello, In my point of view, it would make it easier for the user that sometimes use outside upgrades to keep track of its current state. |
I think this issue is out of scope of |
@fdagnat have to agree here with @yurikoles . Even though it sounds like a "easy task", the way casks are generally managed is complicated. There are installation metadata that we would need to update, symlinks that would need to be fixed, etc. That has a huge potential for breaking if any internal implementation changes. |
I too think it useful if the versions of auto-updated applications are synced. The current application version can be obtained using AppleScript. Is this not sufficient? This seems to work for most of the apps. osascript -e 'version of app "Slack"' |
Good idea. This works for every app? This script need an "special" app name? |
I don't think getting the actual version is a big problem. The main challenge here actually reflect all the necessary changes. Let's take a That means following:
> cat signal.rb
───────┬───────────────────────────────────────────────────────────────────────────
│ File: signal.rb
───────┼───────────────────────────────────────────────────────────────────────────
1 │ cask "signal" do
2 │ arch arm: "arm64", intel: "x64"
3 │
4 │ version "6.1.0"
5 │ sha256 arm: "32f2bcd01dd06dabc3b6ab68857cd6716690daa703912190db65b1af6a002eda",
6 │ intel: "b1a2ab77c99dce19ec46e207b100cbb45fdc32eff6eb65e61403a09d860f7da1"
7 │
8 │ url "https://updates.signal.org/desktop/signal-desktop-mac-#{arch}-#{version}.dmg"
9 │ name "Signal"
10 │ desc "Instant messaging application focusing on security"
11 │ homepage "https://signal.org/"
12 │
13 │ livecheck do
14 │ url "https://updates.signal.org/desktop/latest-mac.yml"
15 │ strategy :electron_builder
16 │ end
17 │
18 │ auto_updates true
19 │
20 │ app "Signal.app"
21 │
22 │ zap trash: [
23 │ "~/Library/Application Support/Signal",
24 │ "~/Library/Preferences/org.whispersystems.signal-desktop.helper.plist",
25 │ "~/Library/Preferences/org.whispersystems.signal-desktop.plist",
26 │ "~/Library/Saved Application State/org.whispersystems.signal-desktop.savedState",
27 │ ]
28 │ end
───────┴─────────────────────────────────────────────────────────────────────────── Which means all those paths needs to updated, App re-symlinked, metadata file patched, otherwise the installation itself might break. And I'm not even sure if it's all the things that need to be updated. Yes, we can potentially report different version in the output and have a difference in "undateable" applications, however the application would still be reported as outdated when using standard IMO I believe this inconsistency & confusion would not be worth the effort. Maybe there is a practical solution to this issue that I don't see, if yes, please explain it 🙂 |
I guess the frustration for some users (including me) is that brew cu keeps showing the last homebrew installed versions instead of the actual versions of the auto-update apps. If so, how about the following behavior? This does not require syncing links and metadata files if my understanding is correct The
|
This won't unfortunately work as the apps don't report the version in the same versioning scheme that brew is using. Example:
However, the osascript reports differently:
Therefore we can't really use it with confidence. |
I might have underestimated this, it actually is a problem because of the comment above - the osascript takes the value from |
thats somehow was my original intention for this issue. to see if there is some action needed also for the autoupdate apps. just now the lines for autoupdate apps are useless because they never show me real data. i don't need some fixing in the casts receipes and all others - only a information |
in this case |
I know, but that's just one of the examples. It also happens that the "build number" (or whatever is in the version) is changed but the version itself doesn't. Which means even in that case the We might not be looking for a perfect solution, true, but there are definitely cases where it won't work and we should call that out. I wonder if that should be some sort of experimental feature enabled only in certain cases 🤔 (i.e. yet another option). |
behind an experimental option it would be ok maybe: with some description that the user should report to an issue here the edge cases of version compare where it should equal |
i found also this edge case: osascript -e 'version of app "jetbrains toolbox.app"'
1.27.2.13801 cask "jetbrains-toolbox" do
arch arm: "-arm64"
version "1.27.2,1.27.2.13801" |
This would be really cool to implement in some way, even if there are some edge case apps who's auto-updated version can't be discerned. |
LOL!!! Swindler detected https://who.is/whois/githubtalentcommunity.online |
where:
what i expect:
what i see instead:
The text was updated successfully, but these errors were encountered: