-
Notifications
You must be signed in to change notification settings - Fork 225
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
Version check for disconnected environments #1178
Comments
Yep - I think adding as part of the connect cycle would have low impact and increase usability. In a semi-closed environment, one (custom directory) server could be upgraded and that would trigger all client users of the need to upgrade. (It's also partly why I'm against embedding the download link in the software - in such an environment, it's meaningless.) |
In general, I'd support this idea. What would happen the server you connect to runs a newer (beta) release or custom version? Would it (falsefully) show the message? |
For intermediate versions (any suffix after the version number), the update check is skipped (as implemented by @softins in #1155), so we should be safe. If someone chooses to build their own Jamulus versions which do not use suffixes and has higher version numbers than we have, they will be out of luck and will have to find their own way. They'd probably have the knowledge do that anyway. :) |
That's good.
Not really happy about this solution then. Probably an overkill but we could introduce logging and once the client knows that multiple different servers are running a higher version, we could fire this message. |
Hrm, I think this would reduce the usefullness. I'm mainly thinking of people who connect to just a single server.
I'd be open to that, yeah. What's your concern though? That unknowing users connect to a server which claims to run Jamulus 5.0.0 or something? |
Yes. Although I doubt this happens often, it's not impossible and should therefore also be handled correctly. |
I think the most realistical thing to implement would be to adjust the message in this case as you proposed. E.g. "The server you are currently connected to is running a newer Jamulus version than you. You might want to check for available updates." (which sounds long, maybe someone can shorten it). |
@hoffie What's the reason why we'd not just say what we say today? I don't think we need to explain how we're doing the check - or am I misunderstanding? (and "You might want to check for available updates" is ambiguous - it might mean check for updates on the client or the server. And it assumes the user knows the difference). |
Also META COMMENT: Interesting use of "waiting on team" to hide the fact that this is really a discussion not an issue! Ah, project management ... :-) |
Today, we only check servers which we control. Therefore, we know that they run official Jamulus releases and can therefore be very explicit in the message.
Yes, you're right. If we implement it, we should clarify that.
Yes, it starts becoming a discussion the more we think about implementation and possibly edge cases. I'd still say that this is a specific problem to be solved, benefits from being tracked in the project and should be tracked as an issue. :) |
So the current message might (but not always) result in them going "Huh? But I am running the latest version" or needlessly reinstalling? But if the version check will be annoying to a significant number of people, then I think we have a case of bad design :-) If (as I hope!) a false positive only happens occasionally, then I'd just keep the standard wording in (which is clear and people are used to seeing such messages) but put a tooltip or info icon next to it saying maybe, "Note that if the server is running a non-standard version of Jamulus, you may already have the latest version and don't need to upgrade." The "80/20 rule": don't confuse the majority for the sake of the minority.
Yes, sorry I didn't mean it as a criticism. It is after all for the team to feed back on. I just didn't consider the use of "waiting" state properly :-) Still finding our way with all this...! |
Sorry for the stupid question - but why can't we use the version that's on GitHub? |
I had never thought about it. I think we could. This would involve moving the (or adding a) check from a Jamulus-protocol-based one to a HTTP-based one. Qt does include |
Just found this related issue: #370 |
Yes I was having deja vue on this issue...
Been meaning to ask - what is a "disconnected network" in this context? One that can't see GitHub? Do they exist? |
Many organisations will have a restrictive firewall. It may only allow internal systems access to external port 80 and 443 and further filter those by domain. They'll be running Jamulus entirely internally - maybe just the one server, maybe an internal directory and multiple servers - but the clients aren't expected to connect to the internet, just that internal network. Essentially, that network is disconnected from the internet. |
Just need to fetch https://api.github.com/repos/jamulussoftware/jamulus/releases/latest and then check the
So long as the check is in a non-blocking thread and gives up, that's fine. |
It isn't worth the trouble trying to solve this problem. We just need a mechanism to remind the user their installation is isolated. Maybe "it has been more than xxx days since checking for a new release" or whatever message we think is warranted. This is especially important to the clients. But if ALL the clients and the server is in a bubble behind the firewall, then they operate as a time-capsule. |
See #370 (comment) :) |
If we're worried about catering for people who block GitHub (and I'd block it if I could), then how about falling back to the server after a timeout? That way, we can have the proposed "... according to the server version" message that would otherwise be confusing. |
I guess anyone who's in such a restrictive environment they can only use updates managed through OS/distribution-specified services (Apple Store, Windows Update, yum / apt / etc distribution management) or through locally provided services, as we're not supplying directly through those channels we can expect them to use the compile flag and build their own versions for installation. And then they choose when to update by building and installing (through their own installation processes) a new version. |
Taking a step toward being helpful, the client can report something like "This server hasn't check for updates for over xxx days." where the reminder starts after 100 days. |
Update notification now included in 3.8.1. |
I think this issue is about something else:
|
Oh the screenshot on #1980 of the server GUI confused me, my mistake. This issue is 6 months old, but I'll re-open. |
It only became an issue with 3.7.0 and we've only had one version released since then. So that's hardly much development time to get it addressed. It's not high enough priority... I think @hoffie's summary still makes it clear what needs addressing:
Both of these need not to direct the user to the jamulus.io website for further information. Indeed, in both cases, jamulus.io might not be accessible (the first because of firewalls, the second because it doesn't exist). So something like:
Hopefully, for the second scenario, there would still be other methods of communication open - like Github, Facebook and Sourceforge - that could be used until the built-in system could be fixed. |
EDIT: For current status, see #1178 (comment)
Has this feature been discussed and generally agreed?
Improving version checks has been previously discussed in #1120. As part of that issue reliability has been improved by checking two independent public servers.
This leaves the following unsolved:
Describe the solution you'd like
This issue is about deciding (and implementing) if we further want to extend this to checking the currently connected (possibly private) server.
Describe alternatives that have been considered
The alternative is not implementing it.
@jamulussoftware/maindevelopers Can you comment or add a reaction if this should be done? (My impression was that @softins did not consider it necessary while @pljones was in favor?)
The text was updated successfully, but these errors were encountered: