Why 2 versions for macOS? h2 support?

I remember there was only one client for macOS which also supported virtual files.

But now there are 2 clients available for download.

Does this mean I can only use one of the features but not both at the same time? e.g. let’s say I have multiple sync dirs, but also want to use virtual files? The client does support connections to multiple servers simultaniously so this is not so far fetched.

Additionally, does the nextcloud client finally use http2 or is still http/1.1 used?

I think the virtual files feature requires a certain macOS version (12), the other version is for older macOSes.
Once you have virtual files, you have the option to use it or not.

I’m too lazy to go through the changelogs or github…

Thanks for the reply.

Unfortunately it doesn’t seem that way. Both installers are macOS 12+ so I don’t know what the difference is, because I couldn’t find any info.
Which leaves me with my initial question whether I can only use one of the features but not both at the same time.

Ok, if someone who uses the client all the time doesn’t know, I suspect the client still uses http/1.1.

(I am still using a very old ownCloud client from 2018, because it uses h2.)

Just a guess, but I’d say one has support for Virtual Files (the newer implementation that uses the MacOS native Virtual Files API thingy, don’t know what they call it) and the other doesn’t, or probably just has the older, more basic implementation that’s not enabled by default.

I’m not a mac user, so I can’t test it, but at least the Linux clinet still connects via HTTP/1.1, according to my Apache access.log.

Thanks again.

Well, that’s that problem, isn’t it? We are all just guessing, because it’s not explained anywhere. Maybe the devs or the documention team can clarify the situation.

Thanks for verifying. It’s not an OS thing, but a client thing. This means all desktop clients still use HTTP/1.1.

What a bummer.

The devs went back on h2, because there was allegedly an issue with h2 and Qt. Almost 10 years later and a different version of Qt one might think these issues have been resolved.

Apart from the huge performance improvements with h2, h2 is also a requirement for server push, and last but not least this would make it possible to remove http/1.1 from the server. Currently it is impossible to run nextcloud in an h2-only environment.

I really hope that someone with a bit of influence can push the devs to make h2 the default protocol for all clients. (The mobile clients even use a combination of http/1.1 and h2.)

I am still waiting for an answer here.

Why are there 2 macOS versions? see image above in Why 2 versions for macOS? h2 support? - #3 by tessus.

Does the virtual files version also include the other functionality?

1 Like

Sorry, but couldn’t you have tested this yourself in the meantime? I mean, I would if I had a Mac at hand, but unfortunately I don’t.

So here’s what I would do:

If you need proper Virtual Files support, I wouldn’t even bother trying the one that doesn’t have Virtual Files in its name. So let’s focus on the second one, shall we? :wink:

Install it and check your web server logs to see if it connects with HTTP/2. If it does, everything’s great, right? If it doesn’t, it’s obviously not what you wanted, but at least you’ll have an answer to your question.

In theory you are correct, but I came to this forum because I thought that the devs or other Nextcloud users might have the answer to that very simple question.

Of course I can install both of the clients in test VMs, but come on.
Seriously? Nobody can tell me why there are 2 freaking versions out there?
And nobody bothered to add any information to the documentation? What is this? A kindergarden club or a professional SW company?

Over the years I ran into so many issues with Nextcloud, but opening issues is unfortunately very much useless. Basic functionality is ignored (it is still not possible to set date and time to YYYY-MM-DD with hh:ss 24h clock and the week starting on Monday) and a serious data loss situation I brought up many years ago was deemed as working as designed. Whhaaaat?

I’m barely using nc these days, but I thought I give it another shot, but this basically just validated my previous opinion of it.

Ah ommon. Of course the developers know the answer, and if you are honest with yourself, you know the answer too, or at least you have a strong suspicion. I mean, how likely is it that this specific Mac version supports h2 when all the other clients (Windows, Linux) don’t :wink:

And I’m sure some users probably know the answer as well, but maybe they haven’t stumbled upon this thread, or maybe there are just too many users who are unwilling to give anything back to the community… :person_shrugging:

Maybe you should ask that the company.

Oh, and while we’re at it, I have a question as well. How many times in your professional life have you actively provided support to people who didn’t buy any services or products from you or the company you work for?

You don’t have to answer that, it was a rhetorical question :wink:

1 Like

I am not talking about h2. I already know that the desktop client does not use h2. Why, because I know the devs still haven’t fixed it. Many, many years ago there was an issue with qt and h2. That’s why they switched back to h1 and forgot about h2. More than 5 years later we still don’t have h2 in the client. They obviously don’t care about the fact that h2 is way more performant.

As mentioned before, the mobile client even uses both (http/1.1 and h2). Does anybody know how to design SW? Don’t answer, I know the answer - at least when it comes to this project.

I am talking about the 2 versions of the client. I am not sure how often I should repeat my previous questions.

I did. But you just get condescending replies. First I explain in a very professional way the issue - detailed and to the point. Then I get a useless reply. When I start getting annoyed and express it, I only get more useless replies. So no matter what - the answers are not helpful.

One of the standard answers is: you can pay so that we can fix a basic functionality bug. The second answer is: it’s open aource, you can fix it yourself.

Well, I don’t think this is comparable to this situation. The companies I worked for did not release open source software that had hundreds of contributors that were not paid for their work.
I certainly do understand that nextcloud is a company as well, but that doesn’t mean that serious bugs and issues can be ignored, because they are reported by someone that does not pay for support.
On the conrtary, they should be thankful that someone found a bug that their paying customers will most likely encounter as well.
Additionally they have an entire community that does their testing. Because every single new release is not production ready and a new release can only be used when it reaches .4 or .5.

And when it comes to my personal projects, I help whenever I can. I also accept criticism and feedback without being defensive and ignorant. What’s more, I don’t get angry and become hostile, if someone tells me the truth.

Look, we can do this all day long, and by the way, similar discussions have been had countless times all over the FOSS space, so I won’t go into everything you’ve said, and instead just write down a few (last) general thoughts about this particular thread. Also, I’m just a community member, which means I can’t give you any official answers or actively influence any company decisions, so you don’t have to convince me of anything.

As I see it, it’s simple:

Two clients are offered, one with Virtual Files and one without Virtual Files.

Could they describe better what this means on the website?

Yes, of course they could and they probably should do that. But this is on the company website, so you have to contact the company if you want them to change that. However they will very likely never include any in-depth technical details like HTTP/2 support there.

Could such things be included in the documentation?

Sure. Open an issue or make a pull request. But even in the docs, it only makes sense to mention HTTP/2 support if it is actaully a thing in at least one of the two versions.

Is the lack of HTTP/2 support in the clients really a disqualifier for using Nextcloud?

You answerd that yourself, and it looks like it isn’t. So at the end you opend this thread soley to make a point. However, in order to do so you needed the help of the community, because you didn’t want to include any false facts in your rant, which is why you started with a harmless support post :wink:

Some general thoughts on how you should aproach things in the FOSS space

I think if you don’t start to approach things with a bit more of a DIY attitude and a bit more pragmatism, you’re going to continue to have a hard time in the FOSS world and with FOSS products.

I mean, of course you can have your opinions and do whatever you want, but one thing should be clear: It’s very unlikely that the whole FOSS world will adapt to you.

However, sometimes it might take a few steps towards you, and if you’re willing to do the same, you might actually get what you want, or at least something close to it. There will also be situations where things don’t go your way, but that’s just life.

Who says the version with virtual files support does not only do virtual files and no standard sync. This is my problem.
Otherwise why would there be 2 versions? If you can decide to use virtual files (or not to use them) in a desktop release that supports everything, 2 versions make no sense.

I would love to go h2 only on my server, but this doesn’t work, because then nc can’t sync anymore.
Also, I would enjoy the perf boost with h2.

As I have mentioned, I tried that before in this project without success.

I totally get it and that is usually my approach. However, since it doesn’t matter here (whether I lick some dev’s boot or just state facts), I rather just state facts and ignore all the hostility coming towards me.

I really should have known better. Anyway, I’ll probably post in 5 or 10 years again. Let’s see if anything has changed then.

P.S.: This was my last reply in this thread.

I’d say all clients can do Virtual Files and standard sync.

As I already pointed out in my first answer in this thread, the appendix (Virtual Files) probably means that that paricular version of the client now has official support for Virtual Files and the other one doesn’t. I also pointed out that the Mac client has relatively recently started using the native API in MacOS for Virtual Files, which is probably the main difference between these two clients.

Honestly, I bet that these are the exact differences, I just don’t know for sure as I have no way of testing it, and apparently neither does anyone else who has stumbled over this thread, but that’s the way it sometimes is in community forums. We’re all here just voluntarily.

So I’m afraid you probably have to test this yourself, and then maybe come back here, and open a new thread with more specific questions, if it doesn’t work out the way you’d expect.

Yea sure, but is not having that a disqualifier? If so, then Nextcloud might not be for you, at least for the time beeing. Or you could maybe use some third party client that supports it.

Well maybe we have different understandings what DIY attidute means. :wink:

Anyway, I don’t really see a problem in this thread, since my first answer was perfectly reasonable (as were the answers others gave before mine), even though we all couldn’t give you a definitive answer to your questions, and so was my second answer, where I pointed out that you could test it yourself if no one on the forums could help you.

I mean, if people were only allowed to answer here if they could offer perfect and complete solutions, as an official support channel for which you usually have to pay one way or another is supposed to do, then most threads here would not get any answers at all. More often than not it is about pointing people in the right direction. Basically, helping to help yourself.

Also, the deal with many FOSS projects, and Nextcloud in particular, is that you get the software and basic documentation and community support for free, and you have to pay for professional support. So there’s that (again).

Well, if one version says it is for virtual files and you wanted to use virtual files, I’d use this version.

Unfortunately, the documentation is still a pending issue:

Are the Nextcloud and Owncloud client still similar enough? Does OC use h2 (perhaps it would still work with Nextcloud as well, not sure if they changed their protocol)?

If someone wants to follow the h2-feature, and/or give it a thumbs up:

2 Likes