Bug 452924

Summary: Dolphin not showing metadata for files on network shares, "Details" tab in File Properties missing
Product: [Applications] dolphin Reporter: Paul Meier <public.paul.meier+kde>
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: CONFIRMED ---    
Severity: normal CC: 1m.0n.f1r3, 4wy78uwh, 988alex, a.stippich, alex, augusto.beiro, bugseforuns, contact, deadseashoals, felixernst, fell, iwannaberich, kde, kde, kfm-devel, nate, online.stb, piedro.kulman, pm, sephiroth_pk, syiad.al-duri, tagwerk19, TlazolteotlAkbar, windows2linux, wonkyskotny3
Priority: NOR Keywords: usability
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Remote file vs. the same file on a local drive
kio patch for nfs shares

Description Paul Meier 2022-04-23 19:05:38 UTC
Created attachment 148326 [details]
Remote file vs. the same file on a local drive

SUMMARY
***
If an image - regardless of filetype - is selected on a network share, dolphin will not show EXIF metadata. This affects any component of dolphin, file properties as well as the preview pane.
***


STEPS TO REPRODUCE
1. Open a directory located on a network share
2. Select an Image

OBSERVED RESULT
File properties and preview pane do not show any metadata. The file properties do not even show a "Details" tab, as is the case for local files. A screenshot showing this is attached

EXPECTED RESULT
Metadata should be displayed

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.93.0
Qt Version: 5.15.3
Comment 1 Paul Meier 2022-04-24 12:34:30 UTC
Addendum: 
This does not only affect images, the "Details" pane in file properties does not show up for ANY file on remote locations
Comment 2 Paul Meier 2022-04-24 18:56:04 UTC
Same problem under KDE Neon Unstable Edition with
SOFTWARE/OS VERSIONS
Dolphin: 22.07.70
KDE Plasma Version: 5.24.80
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.3
Comment 3 Nate Graham 2022-04-25 18:12:27 UTC
Yeah, the EXIF metadata is extracted using Baloo, and Baloo doesn't index network locations.

I guess we could fall back to using kfilemetadata here and read it on the fly.
Comment 4 Paul Meier 2022-04-25 18:45:19 UTC
(In reply to Nate Graham from comment #3)
> Yeah, the EXIF metadata is extracted using Baloo, and Baloo doesn't index
> network locations.
> 
> I guess we could fall back to using kfilemetadata here and read it on the
> fly.

Yes, but it does not only affect EXIF, it affects ALL Metadata. The "Details" tab in file properties does not even show up for remote locations
Comment 5 Paul Meier 2022-04-25 19:03:43 UTC
Besides that, reading metadata on the fly would be a much better process IMO than only having previously indexed metadata available.
It allows for greater flexibility, besides the fact that some people deactivate or uninstall baloo entirely
Comment 6 piedro 2022-05-01 23:28:59 UTC
Same here - I think it is due to extended attributes not correctly assigned. 

I thought this is happening because my network file server (Synology NAS) might not support xattr data. But I experimented quite a lot and it turns out the server does. I checked the xattr state of files I copied to the server and it turns out they are there. 

Copying the files  in dolphin to the network share and then moving the file back results in a loss of all file tags which are, as I understand saved as extended file attributes. 

Here's parts of my post on reddit: 

-----------------------------
Hi!

As I understand the KDE file tags that can be applied by dolphin get written into the extended attributes of the tagged files. So that's fine and works most of the times...

But it seems that dolphin loses the ability to read or assign tags in any mounted network folder - though the network server uses btrfs as well and the shares (I tried nfs and cifs/samba mounting) should support unix attributes.

So do I need additional mount options to make KDE tags "stick" in network shares?

I do not seem to have the same problem with local mounts....

Anyone? Thanks!

Cheers, p.

p.s.: Btw... - the context menu in dolphin still shows the "Add tag" entry - but adding tags in the mounted folders doesn't do anything... 
-------------------------------------------- 

p.
Comment 7 piedro 2022-05-01 23:32:07 UTC
So I do not think it's only about reading the files metadata - moving the file to the network share and back loses the metadata!
Comment 8 Paul Meier 2022-05-02 11:35:18 UTC
(In reply to piedro from comment #7)
> So I do not think it's only about reading the files metadata - moving the
> file to the network share and back loses the metadata!

What metadata are you talking about specifically? Tags and comments are preserved on my system, even if I move the file to the network and back.
Comment 9 piedro 2022-05-02 12:59:16 UTC
Exactly these - tags and comments... 

Here's what happens: 

- I take a simple test.jpg and add the tag "testfile" and the comment "this is just a test file". 

So now dolphin shows me 
- all the EXIF metadata of the jpg 
- the tag "testfile" 
- the comment "this is just a test file" 

Now I move the file to my media folder which is a network resource on a Synology Diskstation (I tried this with samba and  nfs shares).

Dolphin's side pane shows me 
- no EXIF data 
- no tags 
- no comment 

Now I move the test file back to it's orignal location. 
- Exif data is shown 
- no tag
- no comment 

This does not happen with local mounts (obviously these are btrfs, xfs, and ext4 mounts, so these are no network systems obviously) 

So effectively I lose my comment and my tags by moving the file via a network share... :-(
Comment 10 Paul Meier 2022-05-02 13:15:48 UTC
I've tested again with multiple files. Tags and comments are not lost for me when moving or copying to Network and back. Of course I cannot see them when the file is on the network, but after the file is back on local storage it shows again as expected. Maybe a different problem on your end?
Comment 11 piedro 2022-05-02 13:22:37 UTC
Hmmm... 

Checking the file on the server with 

lsattr test.jpg gives me 

--------c--------- test.jpg 

So there are extended attributes on the file... - maybe it's up to the mount options... 

May I ask about the filesystem and mount options you are using to make this work?
Comment 12 Paul Meier 2022-05-02 14:45:50 UTC
NFS with default options (except for noatime) on client and server, btrfs on local storage. After having added a tag and comment to a new test file and checked with lasattr:
---------------------- ./test
Adding tags and comments doesn't seems to affect these attributes.
The "--------c---------" means your file is compressed by the file system
Comment 13 Patrick Silva 2022-05-04 15:30:42 UTC
I use Dolphin 22.04 on Arch Linux.
'Details' tab is also missing in the properties of files stored in a ntfs partition mounted
with ntfs-3g driver. 'Details' tab is present if the same partition is mounted with ntfs3 driver instead.
Comment 14 Dustin Widmann 2022-05-08 14:51:17 UTC
Worth noting that before a recent update to kde/dolphin, metadata display on network share worked fine, so this is a fairly recent regression/bug.
Comment 15 Patrick Silva 2022-05-08 15:15:17 UTC
*** Bug 453500 has been marked as a duplicate of this bug. ***
Comment 16 Patrick Silva 2022-05-12 00:12:22 UTC
*** Bug 453677 has been marked as a duplicate of this bug. ***
Comment 17 piedro 2022-05-17 13:40:48 UTC
Just want to add that the context menu (right click) in network folders is different than the one that shows on loacl folders. 

For example if I cut a file or folder than, on a local fodler, I get the option to paste it into the open folder via context menu. 
If I try to paste the same file or folder into a network folder I do not get the context menu entry for pasting. 

I do not know if this behavior is connected - but I think it's worth mentioning here.
Comment 18 Dustin Widmann 2022-05-17 16:02:09 UTC
I'd noticed that thumbnailing wasn't working for network shares either, but that seems to have resolved itself. 

Saw an update today, unfortunately the issue is still present with KDE 5.94.0, Qt 5.15.4, Plasma 5.24.5.
Comment 19 thwrnr0 2022-06-12 18:12:42 UTC
*** Bug 455110 has been marked as a duplicate of this bug. ***
Comment 20 Riccardo Robecchi 2022-06-15 15:41:23 UTC
I guess that this bug is a consequence of the different treatment for network locations introduced with a previous Frameworks version (5.93?). It is still present with Frameworks 5.95.
Comment 21 Patrick Silva 2022-10-03 11:42:33 UTC
(In reply to Patrick Silva from comment #13)
> I use Dolphin 22.04 on Arch Linux.
> 'Details' tab is also missing in the properties of files stored in a ntfs
> partition mounted
> with ntfs-3g driver. 'Details' tab is present if the same partition is
> mounted with ntfs3 driver instead.

This bug persists with Dolphin 22.08.1 on Arch Linux.
Comment 22 alex 2022-11-04 21:06:40 UTC
Created attachment 153479 [details]
kio patch for nfs shares

This behavior comes from the package kio, file src/core/kfileitem.cpp:
...
bool KFileItemPrivate::isSlow() const
{
    if (m_slow == SlowUnknown) {
        const QString path = localPath();
        if (!path.isEmpty()) {
            const KFileSystemType::Type fsType = KFileSystemType::fileSystemType(path);
            m_slow = (fsType == KFileSystemType::Nfs || fsType == KFileSystemType::Smb) ? Slow : Fast;
        } else {
            m_slow = Slow;
        }
    }
    return m_slow == Slow;
}
...

Line 829: m_slow = (fsType == KFileSystemType::Nfs || fsType == KFileSystemType::Smb) ? Slow : Fast;

This patch removes nfs from the condition.

Best regards
Alex
Comment 23 online.stb 2023-01-07 13:23:14 UTC
I con confirm the bug. "Details" pane in file properties does not show up for ANY file on SMB shares.

There is another problem that might be related to this bug?

You cannot tag files on SMB shares.
=> https://www.reddit.com/r/kde/comments/103wujq/tagging_files_on_network_shares_smb/
Comment 24 tagwerk19 2023-01-07 15:01:59 UTC
Maybe also ...
    https://bugs.kde.org/show_bug.cgi?id=341288#c3
Comment 25 flan_suse 2023-06-06 21:06:26 UTC
Can confirm this bug still exists.

SMB? This bug exists.
NFS? This bug exists.
External USB? Normal behavior.
Local drive? Normal behavior.

KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9
Comment 26 Felix Ernst 2023-07-08 16:08:32 UTC
Probably relevant but far from done: https://invent.kde.org/system/dolphin/-/merge_requests/522
Comment 27 TlazolteotlAkbar 2023-09-10 00:27:53 UTC
This bug also applies to both Debian stable (bookworm) and testing (trixie), as well as the current Kubuntu Neon LTS  at this time. 

In the past this bug has been fixed by disabling File Search & indexing in systemsettings5/File Search but that no longer works. Nor does 'balooctl disable' and rebooting help. Increasing the size of "Skip previews for remote files above" to some very high number in the Dolphin/Configure/General/Previews tab also doesn't help. I've tried installing several thumbnailer packages, e.g. kdegraphics-thumbnailers, and related KDE packages, but none of them seem to help. konqueror (which was the best file manager ever IMO back in KDE 3.x days) behaves the same way as dolphin.

I can go to the Context Menu tab of dolphin/Configure, click on Download New Services, search for 'mediainfo' and install the Mediainfo Service Menu (https://store.kde.org/p/1418250). This enables me to right-click on a file on a LAN and choose mediainfo to get the metadata from images & multimedia files, but this is somewhat cumbersome, and seeing metadata on the dolphin Properties/Details tab, F11 Information field or the dolphin file preview on LAN shares used to work fine (sometimes with a little tweaking to baloo) a few years ago.
Comment 28 Matt 2024-05-18 00:54:29 UTC
Inspired by Alex's patch, but not wanting to re-compile kio after every update, I wrote a temporary fix for this issue using LD_PRELOAD, which only requires a single compilation and should work as kio/Dolphin updates. It simply intercepts statfs() syscalls and returns a fake filesystem type of "ext4" for NFS filesystems. KFileItemPrivate::isSlow() calls KFileSystemType::fileSystemType() which calls statfs().

https://gist.github.com/DownrightNifty/fbfdf50cac60c6d973ebef10438d7ee5

It seems this could be resolved upstream by allowing the user to choose which remote filesystems are designated as "slow".