feverfew added a comment.
So before this patch we had the following behaviour: 1. If app is KIO-enabled, pass URLs unchanged. 2. else for each URL, if app claims to support the protocol pass the original URL, otherwise change the URL to the corresponding KIOExec path. This causes a problem as noted in 330192 <https://bugs.kde.org/show_bug.cgi?id=330192> and this blog post <https://pointieststick.com/2018/01/17/videos-on-samba-shares>. In particular, if a non-KIO claims to support a certain protocol (e.g., VLC supports smb), then we won't convert to a KIOExec path, but we strip out the stuff that's in `userInfo()` (credentials) before sending it over. What I previously tried to do was the following, in an attempt to close: 1. If app is KIO-enabled, pass URLs unchanged. 2. else for each URL, if app claims to support the protocol **AND** `userInfo()` is empty pass the original URL, otherwise change the URL to the corresponding KIOExec path. However, that doesn't really help as apparently even if, say, a samba share is password protected, at the point I'm checking the password in `resolveURLs()` or `resultingArguments()` (truth be told, I'm not sure which, if not both, codepaths are being hit in our current testing), `userInfo()` is always empty, so this optimisation isn't possible. So then one could just always direct non-KIO apps to use KIOFuse. Well that causes another problem, what about stuff like http(s)? It doesn't really make sense as a filesystem and we'd definitely like to forward it to the browser. So currently I can special case http/https. but is that the only one we want to special case? Ideally, I'd like to know if there is a place where `userInfo` is only empty when there is genuinely no user/pass combo needed to access the resource at the URL. If so, then it can actually be possible to use KIOFuse on apps that support a URL only if it needs to have credentials (which it won't have) such that 330192 can be closed, without needing any hacks. REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D23384 To: feverfew, fvogt, davidedmundson, dfaure, ngraham Cc: broulik, sitter, davidedmundson, kde-frameworks-devel, ngraham, LeGast00n, GB_2, michaelh, bruns