This is because it calls out to org.freedesktop.FileManager1, which is blacklisted by default in Flatpak. Instead of whitelisting it in each one of our apps (manual and error-prone) or our SDK (over-broad and controversial), we can change the DBus call from: org.freedesktop.FileManager1 /org/freedesktop/FileManager1 org.freedesktop.FileManager1 ShowItems to: org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.OpenURI.OpenDirectory …but only if we detect we're in a sandbox.
Documentation for this: https://github.com/flatpak/xdg-desktop-portal/blob/522236e41043a558a825da4cee70ee31ce607147/data/org.freedesktop.portal.OpenURI.xml#L134
>…but only if we detect we're in a sandbox. I can't see a reason to do that. It should work with anything. Simpler code is better code.
I guess it's a trade-off between code complexity vs internal implementation complexity. Always going through the portal means: - A de facto dependency on xdg-desktop-portal in KIO - A more complex internal path to opening the file manager, and therefore potentially lower speed and higher vulnerability to the portal functionality being broken
OpenDirectory only supports one File and you have to have an open fd to it