Summary: | Dolphin doesn't auto-refresh when cut&paste from a symlinked directory | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Jin Liu <ad.liu.jin> |
Component: | general | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kfm-devel, koshikas, meven29, nate, smitha, sonichedgehog_hyperblast00 |
Priority: | NOR | ||
Version: | 23.04.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/kio/commit/1e81a0aa82cf7df184a7011acbb20c4ec16a64a5 | Version Fixed In: | 5.107 |
Sentry Crash Report: | |||
Attachments: |
normal dir
symlinked dir |
Description
Jin Liu
2023-05-02 08:32:50 UTC
Created attachment 158618 [details]
symlinked dir
I believe this bug is new in Dolphin 23.04. And output from: QT_LOGGING_RULES="kf5.kcoreaddons.kdirwatch.debug=true;kf.kio.core.dirlister.debug=true" dolphin kf.kio.core.dirlister: +KCoreDirLister kf.kio.core.dirlister: kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields kf.kio.core.dirlister: KCoreDirLister(0x55a9cd989b40) url= QUrl("tags:/") keep= false reload= true kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9cd989b40) silent= true kf.kio.core.dirlister: KCoreDirLister(0x55a9cd989b40) kf.kio.core.dirlister: Iterating over dirs () kf.kio.core.dirlister: Reloading directory: QUrl("tags:/") kf.kio.core.dirlister: Entry now being listed by (KCoreDirLister(0x55a9cd989b40)) kf.kio.core.dirlister: +KCoreDirLister kf.kio.core.dirlister: KDirLister(0x55a9cda7fc30) url= QUrl("trash:/") keep= false reload= false kf.kio.core.dirlister: lister: KDirLister(0x55a9cda7fc30) silent= true kf.kio.core.dirlister: KDirLister(0x55a9cda7fc30) kf.kio.core.dirlister: Iterating over dirs () kf.kio.core.dirlister: Listing directory: QUrl("trash:/") kf.kio.core.dirlister: Entry now being listed by (KDirLister(0x55a9cda7fc30)) kf.kio.core.dirlister: +KCoreDirLister kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin") keep= false reload= false kf.kio.core.dirlister: lister: KDirLister(0x55a9ce0d1430) silent= true kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: Iterating over dirs () kf.kio.core.dirlister: Listing directory: QUrl("file:///home/jin") kf.kio.core.dirlister: Entry now being listed by (KDirLister(0x55a9ce0d1430)) kf.kio.core.dirlister: +KCoreDirLister kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) url= QUrl("tags:/") keep= false reload= true kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9ce19a288) silent= true kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) kf.kio.core.dirlister: Iterating over dirs () kf.kio.core.dirlister: Entry currently being listed: QUrl("tags:/") by (KCoreDirLister(0x55a9cd989b40)) kf.kio.core.dirlister: Listing 0 cached items soon kf.kio.core.dirlister: Creating CachedItemsJob KCoreDirListerPrivate::CachedItemsJob(0x55a9ce1a2a60) for lister KCoreDirLister(0x55a9ce19a288) QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) url= QUrl("tags:/") keep= false reload= true kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9ce19a288) silent= true kf.kio.core.dirlister: KCoreDirListerPrivate::CachedItemsJob(0x55a9ce1a2a60) kf.kio.core.dirlister: Still having a listjob KIO::ListJob(0x55a9cd97db90) , so not moving to currently-holding. kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) url= QUrl("tags:/") kf.kio.core.dirlister: found lister KCoreDirLister(0x55a9ce19a288) in list - for QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) kf.kio.core.dirlister: Iterating over dirs (QUrl("tags:/")) kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) _url: QUrl("tags:/") kf.kio.core.dirlister: Entry currently being listed: QUrl("tags:/") by (KCoreDirLister(0x55a9cd989b40)) kf.kio.core.dirlister: Listing 0 cached items soon kf.kio.core.dirlister: Creating CachedItemsJob KCoreDirListerPrivate::CachedItemsJob(0x55a9ce1a44e0) for lister KCoreDirLister(0x55a9ce19a288) QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) url= QUrl("tags:/") keep= false reload= true kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9ce19a288) silent= true kf.kio.core.dirlister: KCoreDirListerPrivate::CachedItemsJob(0x55a9ce1a44e0) kf.kio.core.dirlister: Still having a listjob KIO::ListJob(0x55a9cd97db90) , so not moving to currently-holding. kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) url= QUrl("tags:/") kf.kio.core.dirlister: found lister KCoreDirLister(0x55a9ce19a288) in list - for QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) kf.kio.core.dirlister: Iterating over dirs (QUrl("tags:/")) kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) _url: QUrl("tags:/") kf.kio.core.dirlister: Entry currently being listed: QUrl("tags:/") by (KCoreDirLister(0x55a9cd989b40)) kf.kio.core.dirlister: Listing 0 cached items soon kf.kio.core.dirlister: Creating CachedItemsJob KCoreDirListerPrivate::CachedItemsJob(0x55a9ce1b84b0) for lister KCoreDirLister(0x55a9ce19a288) QUrl("tags:/") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/tmp") keep= false reload= false kf.kio.core.dirlister: lister: KDirLister(0x55a9ce0d1430) silent= true kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin") kf.kio.core.dirlister: found lister KDirLister(0x55a9ce0d1430) in list - for QUrl("file:///home/jin") kf.kio.core.dirlister: Killing list job KIO::ListJob(0x55a9ce17f680) for QUrl("file:///home/jin") kf.kio.core.dirlister: finished listing QUrl("file:///home/jin") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: Iterating over dirs (QUrl("file:///home/jin")) kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) _url: QUrl("file:///home/jin") kf.kio.core.dirlister: Listing directory: QUrl("file:///home/jin/tmp") kf.kio.core.dirlister: Entry now being listed by (KDirLister(0x55a9ce0d1430)) kf.kio.core.dirlister: Still having a listjob KIO::ListJob(0x55a9cd97db90) , so not moving to currently-holding. kf.kio.workers.trash: Directory "/mnt/shared/.Trash-1000" exists but didn't pass the security checks, can't use it kf.kio.core.dirlister: new entries for QUrl("tags:/") kf.kio.core.dirlister: finished listing QUrl("tags:/") kf.kio.core.dirlister: new entries for QUrl("trash:/") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-a.txt (1)") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-a.txt") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-b.txt") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-dir1 (1)") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-dir1") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-dir_s (1)") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-dir_s") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-Screenshot_20230502_162014.jpg") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-Screenshot_20230502_162018.jpg") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-Screenshot_20230502_162042.jpg") kf.kio.core.dirlister: Adding item: QUrl("trash:/0-subdir") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-Screenshot_20230502_162014.jpg") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-Screenshot_20230502_162018.jpg") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-Screenshot_20230502_162042.jpg") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-a.txt") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-a.txt (1)") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-b.txt") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-dir1") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-dir1 (1)") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-dir_s") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-dir_s (1)") kf.kio.core.dirlister: in QUrl("trash:/") item: QUrl("trash:/0-subdir") kf.kio.core.dirlister: new entries for QUrl("file:///home/jin/tmp") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/tmp/dir1") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: in QUrl("file:///home/jin/tmp") item: QUrl("file:///home/jin/tmp/dir1") kf.kio.core.dirlister: in QUrl("file:///home/jin/tmp") item: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: finished listing QUrl("trash:/") kf.kio.core.dirlister: finished listing QUrl("file:///home/jin/tmp") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/tmp/dir_s") keep= false reload= false kf.kio.core.dirlister: lister: KDirLister(0x55a9ce0d1430) silent= true kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/tmp") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: Iterating over dirs (QUrl("file:///home/jin/tmp")) kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) _url: QUrl("file:///home/jin/tmp") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) item moved into cache: QUrl("file:///home/jin/tmp") kf.kio.core.dirlister: Listing directory: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: Entry now being listed by (KDirLister(0x55a9ce0d1430)) kf.kio.core.dirlister: new entries for QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/tmp/dir_s/b.txt") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/tmp/dir_s/a.txt") kf.kio.core.dirlister: in QUrl("file:///home/jin/tmp/dir_s") item: QUrl("file:///home/jin/tmp/dir_s/a.txt") kf.kio.core.dirlister: in QUrl("file:///home/jin/tmp/dir_s") item: QUrl("file:///home/jin/tmp/dir_s/b.txt") kf.kio.core.dirlister: finished listing QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/Desktop") keep= false reload= false kf.kio.core.dirlister: lister: KDirLister(0x55a9ce0d1430) silent= true kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: Iterating over dirs (QUrl("file:///home/jin/tmp/dir_s")) kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) _url: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) item moved into cache: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: Listing directory: QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: Entry now being listed by (KDirLister(0x55a9ce0d1430)) kf.kio.core.dirlister: new entries for QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/Desktop/b.txt") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/Desktop/.directory") kf.kio.core.dirlister: Adding item: QUrl("file:///home/jin/Desktop/a.txt") kf.kio.core.dirlister: in QUrl("file:///home/jin/Desktop") item: QUrl("file:///home/jin/Desktop/a.txt") kf.kio.core.dirlister: in QUrl("file:///home/jin/Desktop") item: QUrl("file:///home/jin/Desktop/b.txt") kf.kio.core.dirlister: finished listing QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: QUrl("file:///home/jin/Desktop") listers= () holders= (KDirLister(0x55a9ce0d1430)) kf.kio.core.dirlister: Killed= false kf.kio.core.dirlister: update started in QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: 1 kf.kio.core.dirlister: QUrl("file:///home/jin/tmp/dir1") known as (QUrl("file:///home/jin/tmp/dir1"), QUrl("file:///home/jin/tmp/dir_s")) kf.kio.core.dirlister: 3 kf.kio.core.dirlister: finished update QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: file changed: "a.txt" kf.kio.core.dirlister: "/home/jin/Desktop" kf.kio.core.dirlister: aborted, directory QUrl("file:///home/jin") not in cache. kf.kio.core.dirlister: "/home/jin/Desktop/a.txt" kf.kio.core.dirlister: "/home/jin/Desktop" kf.kio.core.dirlister: had pending update "/home/jin/Desktop/a.txt" kf.kio.core.dirlister: forgetting about individual update to "/home/jin/Desktop/a.txt" kf.kio.core.dirlister: aborted, directory QUrl("file:///home/jin") not in cache. kf.kio.core.dirlister: QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: QUrl("file:///home/jin/Desktop") listers= () holders= (KDirLister(0x55a9ce0d1430)) kf.kio.core.dirlister: Killed= false kf.kio.core.dirlister: update started in QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: finished update QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/tmp/dir_s") keep= false reload= false kf.kio.core.dirlister: lister: KDirLister(0x55a9ce0d1430) silent= true kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: Iterating over dirs (QUrl("file:///home/jin/Desktop")) kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) _url: QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: KDirLister(0x55a9ce0d1430) item moved into cache: QUrl("file:///home/jin/Desktop") kf.kio.core.dirlister: Entry in cache: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: Creating CachedItemsJob KCoreDirListerPrivate::CachedItemsJob(0x55a9ce3bc0c0) for lister KDirLister(0x55a9ce0d1430) QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: emitting 2 for lister KDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: in QUrl("file:///home/jin/tmp/dir_s") item: QUrl("file:///home/jin/tmp/dir_s/a.txt") kf.kio.core.dirlister: in QUrl("file:///home/jin/tmp/dir_s") item: QUrl("file:///home/jin/tmp/dir_s/b.txt") kf.kio.core.dirlister: Moving from listing to holding, because no more job KDirLister(0x55a9ce0d1430) QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: ~KCoreDirLister KCoreDirLister(0x55a9ce19a288) kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9ce19a288) silent= false kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) url= QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) kf.kio.core.dirlister: Iterating over dirs (QUrl("tags:/")) kf.kio.core.dirlister: KCoreDirLister(0x55a9ce19a288) _url: QUrl("tags:/") kf.kio.core.dirlister: ~KCoreDirLister KCoreDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9ce0d1430) silent= false kf.kio.core.dirlister: KCoreDirLister(0x55a9ce0d1430) url= QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce0d1430) kf.kio.core.dirlister: Iterating over dirs (QUrl("file:///home/jin/tmp/dir_s")) kf.kio.core.dirlister: KCoreDirLister(0x55a9ce0d1430) _url: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: KCoreDirLister(0x55a9ce0d1430) item moved into cache: QUrl("file:///home/jin/tmp/dir_s") kf.kio.core.dirlister: ~KCoreDirLister KCoreDirLister(0x55a9cd989b40) kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9cd989b40) silent= false kf.kio.core.dirlister: KCoreDirLister(0x55a9cd989b40) url= QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9cd989b40) kf.kio.core.dirlister: Iterating over dirs (QUrl("tags:/")) kf.kio.core.dirlister: KCoreDirLister(0x55a9cd989b40) _url: QUrl("tags:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9cd989b40) item moved into cache: QUrl("tags:/") kf.kio.core.dirlister: ~KCoreDirLister KCoreDirLister(0x55a9cda7fc30) kf.kio.core.dirlister: lister: KCoreDirLister(0x55a9cda7fc30) silent= false kf.kio.core.dirlister: KCoreDirLister(0x55a9cda7fc30) url= QUrl("trash:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9cda7fc30) kf.kio.core.dirlister: Iterating over dirs (QUrl("trash:/")) kf.kio.core.dirlister: KCoreDirLister(0x55a9cda7fc30) _url: QUrl("trash:/") kf.kio.core.dirlister: KCoreDirLister(0x55a9cda7fc30) item moved into cache: QUrl("trash:/") kf.kio.core.dirlister: A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1285 *** Bug 463184 has been marked as a duplicate of this bug. *** Git commit dbf5af9393a9dc3026d255dac4fb3535e1557bdb by Méven Car, on behalf of Méven Car. Committed on 19/05/2023 at 12:09. Pushed by meven into branch 'master'. KdirLister: update symlink dir content on file removal When looking for the item in lstItems, we already know the path of url is contained within the dir examined. M +18 -3 autotests/kdirlistertest.cpp M +1 -4 src/core/kcoredirlister.cpp https://invent.kde.org/frameworks/kio/commit/dbf5af9393a9dc3026d255dac4fb3535e1557bdb Git commit 1e81a0aa82cf7df184a7011acbb20c4ec16a64a5 by Méven Car. Committed on 19/05/2023 at 13:01. Pushed by meven into branch 'kf5'. KdirLister: update symlink dir content on file removal When looking for the item in lstItems, we already know the path of url is contained within the dir examined. (cherry picked from commit dbf5af9393a9dc3026d255dac4fb3535e1557bdb) M +18 -3 autotests/kdirlistertest.cpp M +1 -4 src/core/kcoredirlister.cpp https://invent.kde.org/frameworks/kio/commit/1e81a0aa82cf7df184a7011acbb20c4ec16a64a5 *** Bug 470881 has been marked as a duplicate of this bug. *** *** Bug 469324 has been marked as a duplicate of this bug. *** |