https://bugs.kde.org/show_bug.cgi?id=483297

--- Comment #4 from Anton <[email protected]> ---
Follow-up: the initial worker-only fix stripped the local host inside each file
operation, which fixed direct access (e.g. kioclient stat file://localhost/etc)
but not consumers that keep the URL. KCoreDirLister builds KFileItems from the
host-bearing listing URL, and KFileItem::isWritable()/localPath() then call
QUrl::toLocalFile() on it, yielding a bogus "//host/path". As a result every
file listed from a file://localhost/... (or file://<hostname>/...) location
appeared read-only with a lock emblem in Dolphin, and opening a file hyperlink
launched the application with "//host/path".

Revised approach (kio!2285, updated): canonicalize the URL to a host-less
file:///path rather than only stripping it internally.
- file worker: stat() and listDir() redirect a local-host URL to the host-less
URL, so the dir lister and the KFileItems it builds never carry the host (fixes
the read-only/lock regression).
- OpenUrlJob: normalize a local-host file:// URL up front, so the associated
application / file manager is launched with the local path.

Added regression tests: jobtest listLocalhostHost() (asserts the listed URL is
canonicalized and KFileItem::isWritable() is correct) and openurljobtest
startProcessLocalhostHost(). Verified each new test fails before the fix and
passes after.

Konsole side (konsole!1243) is unchanged: it passes the OSC 8 URL through
verbatim and OpenUrlJob now resolves the local host.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to