Nautilus loads WebDAV servers with URLs such as: dav://localhost:42427/ While Dolphin prefer this instead: webdav://localhost:42427/Backup/ Developers of programs such as Cryptomator shouldn't have to test what file manager you have installed to generate an appropriate link (see https://github.com/cryptomator/cryptomator/issues/307). Dolphin could support dav:// by itself, or convert it automatically to webdev:// in the address bar. Reproducible: Always Steps to Reproduce: You can reproduce this with any application that attempts to load a WebDAV URL such as dav://localhost:42427/ , using dav:// as its protocol scheme. The program I'm using is Cryptomator: 1. Install Cryptomator (http://cryptomator.org/) 2. Create a vault 3. Use the option to reveal a drive Actual Results: I get an error because the program was coded to load dav://localhost:42427/ (Nautilus scheme) first, and use Dolphin (webdav://) just as a fallback option. Expected Results: The first URL with dav:// should have been loaded by Dolphin, since it's the same protocol/technology. You just need to redirect it to webdav:// and make any necessary changes. http://www.jscape.com/blog/what-is-webdav
Moving to KIO, which is where webdav is handled.
Did you also report a Nautilus bug saying that they should handle webdav://, KIO syntax? :-) In any case Elvis is right, if we are to support dav:/ then it's not just dolphin that should support it, e.g. kioclient should support it too, this has to happen one layer below, in kio. Not sure how though. 1) Supporting dav and webdav equally (without redirect) is feasible, but with some mess in kio_http's code (e.g. there are quite some if (m_protocol == "webdav" || m_protocol == "webdavs") around, although this could certainly be factorized) 2) The problem is we don't really have the concept of "aliases" for protocols, apart from the KProtocolManager::slaveProtocol mechanism, not sure it still works (FTP handled by HTTP proxies is a rather old concept afaik, so this has probably been untested for a while). 3) One could write a kio_dav ioslave that redirects stat(), listDir(), get() and put() to webdav (there's probably more?). Ah, either with actual redirection, or using ForwardingSlaveBase (i.e. internal delegation). In any case I don't have enough motivation (nor even a webdav account) to do this myself, but I'll be happy to review a patch;-)
I installed Nautilus and verified that it doesn't support the KIO syntax either. Here's the report: https://bugzilla.gnome.org/show_bug.cgi?id=768814 Cryptomator doesn't require you to register an account. It's an offline tool that creates encrypted directories/vaults and uses webDAV locally as a bridge to let you explore those vaults as normal folders.
From the Github issue (https://github.com/cryptomator/cryptomator/issues/307#issuecomment-321766545): "On your KDE bug report, you could add a note, that one can test WebDAV clients against http://webdavserver.com/. That site creates temporary dav resources to demo their server library. (Cause David Faure wrote, he doesn't have a WebDAV account anywhere)"
https://invent.kde.org/frameworks/kio/-/merge_requests/12
Nautilus issues (GVFS) https://gitlab.gnome.org/GNOME/gvfs/-/issues/669
Also into a *.desktop file on a file manager must be added the line: MimeType=x-scheme-handler/dav;x-scheme-handler/davs; This will allow to find the program when clicking on the dav://example.com/ url
Looks like the Dolphin file managers doesn't declare any protocol handlers at all so I created a ticket https://bugs.kde.org/show_bug.cgi?id=467809
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwidgetsaddons/-/merge_requests/225
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1745
Git commit 6930d03c1ff141b17e6f09d88d6356a14d021ab4 by Méven Car. Committed on 25/10/2024 at 13:17. Pushed by meven into branch 'master'. http worker: handle dav[s] protocol Add unittest for this case M +25 -2 autotests/webdavtest.cpp M +25 -10 src/kioworkers/http/http.cpp M +56 -0 src/kioworkers/http/http.json https://invent.kde.org/frameworks/kio/-/commit/6930d03c1ff141b17e6f09d88d6356a14d021ab4