Summary: | Paste action disabled when copying a local file to smb:// or mtp:// | ||
---|---|---|---|
Product: | [Frameworks and Libraries] kio-extras | Reporter: | Vadym Krevs <vkrevs> |
Component: | default | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | abderrahman.najjar, albertvaka, blargle.ragequit, bugs, elvis.angelaccio, emailmeat, faure, germano.massullo, ibelkov, johan.claudebreuninger, kdelibs-bugs, null, richard.llom, simonandric5, stuartksmith, vlaomao |
Priority: | NOR | ||
Version: | 5.7.3 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kio/fcbfb61a5304554483ceb49d8728d0e947a4af9e | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | Possible fix for mtp:// |
Description
Vadym Krevs
2016-08-15 17:29:16 UTC
Very similar issue: https://bugs.kde.org/show_bug.cgi?id=367624 Confirming and moving to KIO, this is a regression in 5.25 *** Bug 367624 has been marked as a duplicate of this bug. *** git bisect points to https://quickgit.kde.org/?p=kio.git&a=commitdiff&h=732d9782b10f85aef2d80600e73bc88ca24abb4a (In reply to Elvis Angelaccio from comment #4) > git bisect points to > https://quickgit.kde.org/?p=kio. > git&a=commitdiff&h=732d9782b10f85aef2d80600e73bc88ca24abb4a Actually this commit looks fine (and is unit-tested), it just exposes that Dolphin calls KIO::pasteActionText() with a null KFileItem destination. Moving back to Dolphin for now... David, any idea what's going on here? This doesn't happen with every slave: for example fish:// and ftp:// are not affected... Ah, I think this happens when the slave doesn't emit a UDSItem for "." in its directory listing. This leads to a null root item, which leads (now) to the action being disabled. I would say that's a bug in the slave, it's supposed to emit a UDSItem for ".". (In reply to David Faure from comment #6) > Ah, I think this happens when the slave doesn't emit a UDSItem for "." in > its directory listing. > This leads to a null root item, which leads (now) to the action being > disabled. > > I would say that's a bug in the slave, it's supposed to emit a UDSItem for > ".". Yes I can confirm (tested by patching kio-gdrive, also affected). Thus I'm moving this to kio-extras (where mtp and samba slaves live) Git commit 6b9991bbb3b327fea01735a4d844df97c3435bd8 by Elvis Angelaccio. Committed on 25/08/2016 at 11:18. Pushed by elvisangelaccio into branch 'master'. Fix paste action with KIO >= 5.25 After 5.25, KIO::pasteActionText() (called by Dolphin) no longer allows null KFileItem destinations, so we need to explicitly create a writable UDSEntry for "." M +9 -1 src/kio_gdrive.cpp http://commits.kde.org/kio-gdrive/6b9991bbb3b327fea01735a4d844df97c3435bd8 sftp:// is also affected. (In reply to Elvis Angelaccio from comment #9) > sftp:// is also affected. Actually sftp is fine. I thought that kdeconnect was using sftp://, but instead it has its own kio slave, so I filed another report for it: https://bugs.kde.org/show_bug.cgi?id=367878 KDE Connect uses a locally mounted sshfs, and still Paste there appears disabled from Dolphin (even though drag'n drop works :/). The bug can't be in the KIOslave as in this case there is none involved. Created attachment 100815 [details]
Possible fix for mtp://
This patch seems to fix mtp:// for me. Please test.
https://git.reviewboard.kde.org/r/128796/ is an attempt to provide a generic fallback. Please test :) (In reply to Elvis Angelaccio from comment #13) > https://git.reviewboard.kde.org/r/128796/ is an attempt to provide a generic > fallback. Please test :) I've backported your fix to kio-5.25.0-142.1.src.rpm, and tested it. It works for the smb io slave and fixes the issue that was originally reported. But there seems to be a corner case where it doesn't. The menu entry is still disabled the very first time one tries it. If one closes and restarts Dolphin (or if you have 2 smb shares in Places, and you repeat steps 3-5 on against the second sbm share), then it starts working. Git commit fcbfb61a5304554483ceb49d8728d0e947a4af9e by Elvis Angelaccio. Committed on 02/09/2016 at 15:55. Pushed by elvisangelaccio into branch 'master'. Provide a fallback if slaves don't list the . entry If a slave doesn't (or can't) emit an UDSEntry for the "." entry, we do it in the SlaveBase base class. REVIEW: 128796 M +23 -0 src/core/slavebase.cpp http://commits.kde.org/kio/fcbfb61a5304554483ceb49d8728d0e947a4af9e (In reply to Vadym Krevs from comment #14) > (In reply to Elvis Angelaccio from comment #13) > > https://git.reviewboard.kde.org/r/128796/ is an attempt to provide a generic > > fallback. Please test :) > > I've backported your fix to kio-5.25.0-142.1.src.rpm, and tested it. It > works for the smb io slave and fixes the issue that was originally reported. > > But there seems to be a corner case where it doesn't. The menu entry is > still disabled the very first time one tries it. If one closes and restarts > Dolphin (or if you have 2 smb shares in Places, and you repeat steps 3-5 on > against the second sbm share), then it starts working. Unfortunately I don't have samba shares for testing. But please open another report, it might be a different issue. *** Bug 368010 has been marked as a duplicate of this bug. *** *** Bug 368099 has been marked as a duplicate of this bug. *** *** Bug 368058 has been marked as a duplicate of this bug. *** *** Bug 368237 has been marked as a duplicate of this bug. *** (In reply to Elvis Angelaccio from comment #16) > (In reply to Vadym Krevs from comment #14) > > (In reply to Elvis Angelaccio from comment #13) > > > https://git.reviewboard.kde.org/r/128796/ is an attempt to provide a generic > > > fallback. Please test :) > > > > I've backported your fix to kio-5.25.0-142.1.src.rpm, and tested it. It > > works for the smb io slave and fixes the issue that was originally reported. > > > > But there seems to be a corner case where it doesn't. The menu entry is > > still disabled the very first time one tries it. If one closes and restarts > > Dolphin (or if you have 2 smb shares in Places, and you repeat steps 3-5 on > > against the second sbm share), then it starts working. > > Unfortunately I don't have samba shares for testing. But please open another > report, it might be a different issue. So installing a local samba server on your linux pc with a single exported share is not an option? (In reply to Vadym Krevs from comment #21) > (In reply to Elvis Angelaccio from comment #16) > > (In reply to Vadym Krevs from comment #14) > > > (In reply to Elvis Angelaccio from comment #13) > > > > https://git.reviewboard.kde.org/r/128796/ is an attempt to provide a generic > > > > fallback. Please test :) > > > > > > I've backported your fix to kio-5.25.0-142.1.src.rpm, and tested it. It > > > works for the smb io slave and fixes the issue that was originally reported. > > > > > > But there seems to be a corner case where it doesn't. The menu entry is > > > still disabled the very first time one tries it. If one closes and restarts > > > Dolphin (or if you have 2 smb shares in Places, and you repeat steps 3-5 on > > > against the second sbm share), then it starts working. > > > > Unfortunately I don't have samba shares for testing. But please open another > > report, it might be a different issue. > > So installing a local samba server on your linux pc with a single exported > share is not an option? No, I don't have time right now, sorry :( Hello! I have installed: kde-apps/kdebase-kioslaves-16.04.3-r1 kde-apps/kioclient-16.04.3 kde-apps/kio-extras-16.08.2 kde-apps/plasma-apps-16.08.2 kde-apps/plasma-runtime-16.04.3 kde-frameworks/kio-5.27.0 kde-frameworks/plasma-5.27.0 kde-plasma/bluedevil-5.8.2 kde-plasma/breeze-5.8.2 kde-plasma/kactivitymanagerd-5.8.2 kde-plasma/kde-cli-tools-5.8.2 kde-plasma/kdecoration-5.8.2 kde-plasma/kdeplasma-addons-5.8.2 kde-plasma/kgamma-5.8.2 kde-plasma/khotkeys-5.8.2 kde-plasma/kinfocenter-5.8.2 kde-plasma/kmenuedit-5.8.2 kde-plasma/kscreen-5.8.2 kde-plasma/kscreenlocker-5.8.2 kde-plasma/ksshaskpass-5.8.2 kde-plasma/ksysguard-5.8.2 kde-plasma/kwallet-pam-5.8.2 kde-plasma/kwayland-integration-5.8.2 kde-plasma/kwin-5.8.2 kde-plasma/kwrited-5.8.2 kde-plasma/libkscreen-5.8.2 kde-plasma/libksysguard-5.8.2 kde-plasma/milou-5.8.2 kde-plasma/oxygen-5.8.2 kde-plasma/oxygen-fonts-5.4.3 kde-plasma/plasma-desktop-5.8.2 kde-plasma/plasma-integration-5.8.2 kde-plasma/plasma-meta-5.8.2 kde-plasma/plasma-nm-5.8.2 kde-plasma/plasma-workspace-5.8.2 kde-plasma/plasma-workspace-wallpapers-5.8.2 kde-plasma/polkit-kde-agent-5.8.2 kde-plasma/powerdevil-5.8.2 kde-plasma/sddm-kcm-5.8.2 kde-plasma/systemsettings-5.8.2 kde-plasma/user-manager-5.8.2 I unable to write files to root of internal MTP memory (dolphin show permission denied message) my Nexus5, BUT i might write files to subfolders, which have one or more files inside it (drag and drop, CTRL+V, right-click worked) @vlaomao: you need kio 5.26 or later (In reply to Elvis Angelaccio from comment #24) > @vlaomao: you need kio 5.26 or later I have installed kde-frameworks/kio-5.27.0 Git commit 6a828b172937a17f56d90a23daf2c7ed77d8ebc7 by Elvis Angelaccio. Committed on 05/03/2017 at 21:26. Pushed by elvisangelaccio into branch 'Applications/16.12'. kio_mtp: add write permissions to root storage folder Otherwise it's impossible to paste files there. Differential Revision: https://phabricator.kde.org/D4839 M +1 -1 mtp/kio_mtp_helpers.cpp https://commits.kde.org/kio-extras/6a828b172937a17f56d90a23daf2c7ed77d8ebc7 (In reply to vlaomao from comment #25) > (In reply to Elvis Angelaccio from comment #24) > > @vlaomao: you need kio 5.26 or later > > I have installed kde-frameworks/kio-5.27.0 Should be fixed in the upcoming kio-extras 16.12.3 Problem still exists in kio-extras 17.04.1-1 ... with which protocol exactly? The protocol is MTP. With the an up to date Arch Linux install. (In reply to David Faure from comment #29) > ... with which protocol exactly? smb for me. 1. Add an SMB share to "Places" in Dolphin. 2. Select any local file in HOME, right-click and select Copy or Cut. 3. Click on the SMB share in "Places" - its contents are displayed 4. Create a new folder in the share. 5. Right-click and attempt to paste the file selected in step 2 into the share. 6. The "Paste one file" menu is disabled. Ctrl-V also does not work. Interestingly, if I create a new subfolder in the new folder, and perform step 5 again - now the paste action is enabled. For me (MTP protocol with Nexus 5), action "paste" is disabled only when folder have no files. I have installed kio-extras 17.0.4 and kio 5.34.0-r2 I also have the problem with SMB share in dolphin and kio-extras version 17.04; kio version 5.34. Drag & drop works. Maybe it is a distro/packaging problem? Can we provide additional input? PS: I just noted that the problem only exist in EMPTY folders! Once there is a file or sub-folder in the direcotry, paste is enabled/working. HTH! Could it be the same problem of https://bugs.kde.org/show_bug.cgi?id=381238 ? I can reproduce the "cannot paste from clipboard to empty folders", let's track it here: https://bugs.kde.org/show_bug.cgi?id=382046 I am now having this problem in Arch Linux with kio-extras 17.08.2-1 and dolphin 17.08.2-1. (In reply to Erica Clawson from comment #37) > I am now having this problem in Arch Linux with kio-extras 17.08.2-1 and > dolphin 17.08.2-1. Are you sure you are having it with mtp:// or smb:// URLs? I am sure. The problem appears in empty subfolders of "mtp:/Moto G (5) Plus/Internal shared storage/". I can confirm the mtp problem still persists in Kubuntu 18.04, using kio 5.47.0a-0ubuntu1~ubuntu18.04~ppa3. ctrl-c/ctrl-v fails, but I can drag'n'drop the files to the mtp device. |