| 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: | dolphin-bugs-null, koshikas, meven29, nate, smitha, sonichedgehog_hyperblast00 |
| Priority: | NOR | ||
| Version First Reported In: | 23.04.0 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/frameworks/kio/commit/1e81a0aa82cf7df184a7011acbb20c4ec16a64a5 | Version Fixed/Implemented 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. *** |