flathub / org.fritzing.Fritzing

https://flathub.org/apps/details/org.fritzing.Fritzing
1 stars 4 forks source link

Save As not writing to specified location #2

Closed mMerlin closed 5 years ago

mMerlin commented 5 years ago

environment 4.18.16-100.fc27.x86_64 ¦ Fedora 27 Fritzing: 0.9.3 b5c8959

Fritzing installed from flatpak does not save documents to the proper location. No error messages, and the log messages look reasonable, but no file is created. The only place I have been able to find saved files is subfolders of path /run/user/1000/doc/by-app/org.fritzing.Fritzing/

$ flatpak list
Ref                                             Options     
org.fritzing.Fritzing/x86_64/stable             user,current
org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 user,runtime
org.freedesktop.Platform.ffmpeg/x86_64/1.6      user,runtime
org.kde.KStyle.Adwaita/x86_64/5.9               user,runtime
org.kde.Platform/x86_64/5.9                     user,runtime

$ flatpak info org.fritzing.Fritzing
Ref: app/org.fritzing.Fritzing/x86_64/stable
ID: org.fritzing.Fritzing
Arch: x86_64
Branch: stable
Origin: flathub
Collection ID: org.flathub.Stable
Date: 2018-09-14 16:02:15 +0000
Subject: Build only boost graph lib (4069ad23)
Commit: 7627c7937375f9ae58bb7e29b777b18f991f1e3255f97bc56a99f59b0b077d22
Parent: 27de6047fb217314b155f2293a66e2641ca207470af0559ae373024280d51bb8
Location: /home/phil/.local/share/flatpak/app/org.fritzing.Fritzing/x86_64/stable/7627c7937375f9ae58bb7e29b777b18f991f1e3255f97bc56a99f59b0b077d22
Installed size: 160.8 MB
Runtime: org.kde.Platform/x86_64/5.9
Sdk: org.kde.Sdk/x86_64/5.9

$ flatpak run org.fritzing.Fritzing

% cd % ls fr zsh: no matches found: fr % ls -ls /run/user/1000/doc/by-app/org.fritzing.Fritzing/196303e0 total 48 48 -rw-------. 0 phil phil 48176 Nov 7 15:53 fritz-saveas-test.fzz


It appears that the Fritzing app does not have permission to get write access to the file system out side of the flatpak sandbox.  Read works, to access previously saved fzz files.
gasinvein commented 5 years ago

Does it work correctly with --filesystem=home, e.g. if you run Fritzing via flatpak run --filesystem=home org.fritzing.Fritzing?

mMerlin commented 5 years ago

That did not help. Further testing:

I also have org.fritzing.Frizting installed on another machine. The latest Fedora 29. On there it works fine, even without the --filesystem=home. On Fedora 27, it does not work either with or without the filesystem override. Looking at the console messages, the obvious difference is that Fedora 27 gets the Gtk-Message: Failed to load module messages on startup. Fedora 29 does not.

Could that be a problem with the runtime? The details shown by flatpak info looks identical. Other than the home folder.

gasinvein commented 5 years ago

This looks much like flatpak/flatpak#1307, and I can't reproduce it myself. Which flatpak versions are on your machines? Also, are the files you trying to save under your /home (if not, try --filesystem=host)?

mMerlin commented 5 years ago

The path for the file attempting to save is in my home directory /home/«username»/

Flatpak version, on both FC27 and FC29

$ flatpak --version
Flatpak 1.0.4

Tried using --filesystem=host anyway. Same result. The file (with FC27) gets saved to a subfolder of /run/user/1000/doc/by-app/org.fritzing.Fritzing/. Correct file name, but in an 8 hex character folder name.

No idea if it is related, but the file dialog on fc27 is opening under the app window. That caused some initial confusion when the app was full screen. Now I know to go look for it. On fc29, the dialog opens on top.

gasinvein commented 5 years ago

It's most likely related to xdg-desktop-portal, but sadly I don't have enough knowledge of flatpak itself. Maybe @TingPing could help?

TingPing commented 5 years ago

That is how the portal works, the application writes to /run/user/1000/doc/by-app/org.fritzing.Fritzing/... but the actual file should totally exist on the host where you set it to.

mMerlin commented 5 years ago

sudo find / -name "«unique save name.fzz» -type f -print did not find any reference. Just the one in /run/user/1000/doc/by-app/org.frizting.Fritzing/«hexfoldername»/

Spinning up a fc27 VM for next test. In case my main machine has gone strange over time.

TingPing commented 5 years ago

Does it show up in flatpak document-list org.frizting.Fritzing

mMerlin commented 5 years ago

Yes. All of the missing files show up in that list, with the correct (target) folder, and the prefix matches the folder name seen in /run/user/1000/doc/by-app/org.frizting.Fritzing/. That list just does not have the .fzz suffix, except for the previously existing files that where opened (not those saved).

EDIT: Add log details

$ flatpak document-list org.fritzing.Fritzing 
8024248 /home/phil/development/FritzingProjects/Force Sensor 0615 Reference
c2fb6233    /home/phil/development/FritzingProjects/ARDX Template.fzz
ba96635a    /home/phil/development/FritzingProjects/test
fe90db50    /home/phil/development/FritzingProjects/ForceRef
c5436788    /home/phil/development/fSens
4ab6b41e    /home/phil/fritz-save-test
196303e0    /home/phil/fritz-saveas-test
951ae6aa    /home/phil/development/FritzingProjects/ nRF2401L.fzz
3d5c4dc8    /home/phil/development/FritzingProjects/save-test
ab7d84d6    /home/phil/test01
196ecc3f    /home/phil/test02
78c8e3dc    /home/phil/test03

$ ls /run/user/1000/doc/by-app/org.fritzing.Fritzing/*
/run/user/1000/doc/by-app/org.fritzing.Fritzing/196303e0:
fritz-saveas-test.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/196ecc3f:
test02.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/3d5c4dc8:
save-test.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/4ab6b41e:
fritz-save-test.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/78c8e3dc:
test03.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/8024248:
'Force Sensor 0615 Reference.fzz'
/run/user/1000/doc/by-app/org.fritzing.Fritzing/951ae6aa:
' nRF2401L.fzz'
/run/user/1000/doc/by-app/org.fritzing.Fritzing/ab7d84d6:
test01.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/ba96635a:
test.ino
/run/user/1000/doc/by-app/org.fritzing.Fritzing/c2fb6233:
'ARDX Template.fzz'
/run/user/1000/doc/by-app/org.fritzing.Fritzing/c5436788:
fSens.fzz
/run/user/1000/doc/by-app/org.fritzing.Fritzing/fe90db50:
ForceRef.fzz
TingPing commented 5 years ago

That list just does not have the .fzz suffix, except for the previously existing files that where opened (not those saved).

Hmm. That sounds relevant, maybe the application is appending that itself (and thus not writing to the correct place). Dunno but I think the document export looks correct and it would make sense for the issue to be on the application side.

mMerlin commented 5 years ago

Of course it is working on another machine with Fedora 29 instead of Fedora 27. In that case (fc29), document list is empty, and so is the /run/user/1000/doc/by-app/org.fritzing.Fritzing folder. The files (only) exist where they were explicitly saved to, and have the .fzz suffix. As noted in a previous comment, flatpak info looks like identical app versions (commit and parent) for the 2 machines.

mMerlin commented 5 years ago

YES it is related. Did a test where I saved again, this time explicitly specifying the default .fzz suffix. The file got saved were I told it to. It still also shows up in both the document-list and by-app folders. With FC29, it looks like those are deleted when the file gets successfully saved.

mMerlin commented 5 years ago

Replicated on a fresh fc27 VM. Installed as system instead of user. Specifying the .fzz suffix saved the file to the target folder. Leaving it off did not. In both cases, document-list shows the specified file and path, while …/by-app/… contains the file with the .fzz suffix.

The only difference noticed with the VM, is that the file dialog is opening on top of the app.

gasinvein commented 5 years ago

Just did a local build with KDE runtime 5.11. While the current Flathub's build saves files as expected (if file extension is specified), my local build does not. The only noticeable difference is in permissions, which I assume are inherited from the runtime:

org.fritzing.Fritzing/x86_64/stable flathub 7627c7937375
  permissions: ipc, network, pulseaudio, wayland, x11, dri
  file access: xdg-documents
org.fritzing.Fritzing/x86_64/stable homeserver 8b0e9ab16598
  permissions: ipc, network, pulseaudio, wayland, x11, dri
  file access: xdg-config/kdeglobals:ro, xdg-documents, xdg-run/dconf, ~/.config/dconf:ro
  dbus access: com.canonical.AppMenu.Registrar, com.canonical.AppMenu.Registrar.*

@TingPing can some of these affect portals behavior?

TingPing commented 5 years ago

@gasinvein I'm not super familiar with Qt honestly, but I would expect them not to.

gasinvein commented 5 years ago

I've also flatpack'ed another (electronics-related) Qt app - SimulIDE, and it has similar behavior - "save as" dialog works fine only if filename extension is explicitly set. Didn't notice it before. So, is this a runtime/portal bug, or I'm doing something totally wrong?

TingPing commented 5 years ago

Probably Qt related, so I'd try discussing it with them.

gasinvein commented 5 years ago

This should be fixed after KDE/flatpak-kde-runtime@819fabd.

@mMerlin can you check if the bug persist?

mMerlin commented 5 years ago

That does not seem to have fixed the problem. In fact it seems to be broken worse. Now it will not save a file even when specifying the file extension. Using a fresh FC27 VM snapshot, updated flatpak version, fresh install of Fritzing.

% uname -r
4.18.19-100.fc27.x86_64

% flatpak --version
Flatpak 1.0.6

% flatpak list
Ref                                                Options
org.fritzing.Fritzing/x86_64/stable                system,current
org.freedesktop.Platform.html5-codecs/x86_64/18.08 system,runtime
org.kde.KStyle.Adwaita/x86_64/5.12                 system,runtime
org.kde.Platform/x86_64/5.12                       system,runtime

% flatpak info org.fritzing.Fritzing
Ref: app/org.fritzing.Fritzing/x86_64/stable
ID: org.fritzing.Fritzing
Arch: x86_64
Branch: stable
Origin: flathub
Collection ID: org.flathub.Stable
Date: 2019-02-22 12:50:09 +0000
Subject: Create flathub.json (0503b3f1)
Commit: 39bbd0e2b1e2740293803fd4dc550fb0b1827dc5ddccff56a07f7aedad9c2aa5
Parent: 7627c7937375f9ae58bb7e29b777b18f991f1e3255f97bc56a99f59b0b077d22
Location: /var/lib/flatpak/app/org.fritzing.Fritzing/x86_64/stable/39bbd0e2b1e2740293803fd4dc550fb0b1827dc5ddccff56a07f7aedad9c2aa5
Installed size: 160.1 MB
Runtime: org.kde.Platform/x86_64/5.12
Sdk: org.kde.Sdk/x86_64/5.12

% flatpak info org.kde.Platform/
Ref: runtime/org.kde.Platform/x86_64/5.12
ID: org.kde.Platform
Arch: x86_64
Branch: 5.12
Origin: flathub
Collection ID: org.flathub.Stable
Date: 2019-02-27 04:32:23 +0000
Subject: Backport fix for FileChooser portal (819fabdc)
Commit: a01f0c9eea73d854da1b0093b9ed097f031d2209c3a5e844289434468351d8f7
Parent: ec07d72eb5e11150142554a53a392faeec3b4152c9c1c239a1e99b29316e6843
Location: /var/lib/flatpak/runtime/org.kde.Platform/x86_64/5.12/a01f0c9eea73d854da1b0093b9ed097f031d2209c3a5e844289434468351d8f7
Installed size: 1.3 GB

% flatpak document-list org.fritzing.Fritzing
% ls -ls /run/user/1000/doc/by-app
total 0

Save and restore VM snapshot for each test

% flatpak run org.fritzing.Fritzing
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

(Fritzing:2): Gdk-WARNING **: 14:20:30.892: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface 'org.freedesktop.portal.Settings' on object at path /org/freedesktop/portal/desktop
Qt: Session management error: None of the authentication protocols specified are supported
QNetworkReplyHttpImplPrivate::_q_startOperation was called more than once QUrl("http://fab.fritzing.org/launched?version=0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806&sysname=Linux&kernname=Linux&kernversion=4.18.19-100.fc27.x86_64&arch=x86_64&sysversion=UNKNOWN&pid=549d15bcae8c05aa33256f271d4e93ed")
libpng warning: iCCP: known incorrect sRGB profile
Failed to load the library: udev, supported version(s): 1 and 0
)
» File » SaveAs » Home ¦ SaveAsTest01 ¦ Open
» File » Quit

% flatpak document-list org.fritzing.Fritzing
a276b48e    /home/phil/SaveAsTest01
% ls /home/phil/
base-packages.log  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
% ls -ls /run/user/1000/doc/by-app/org.fritzing.Fritzing/a276b48e/
total 0
% flatpak run org.fritzing.Fritzing
» File » SaveAs » Home ¦ SaveAsTest03.fzz ¦ Open
» File » Quit

% flatpak document-list org.fritzing.Fritzing
4f81e2c /home/phil/SaveAsTest03.fzz

% ls /home/phil
base-packages.log  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

% ls -ls /run/user/1000/doc/by-app/org.fritzing.Fritzing/4f81e2c/
total 0

To provide possibly fuller information about what is happening, run with extra options

flatpak run --verbose --log-session-bus --log-system-bus org.fritzing.Fritzing
F: No installations directory in /etc/flatpak/installations.d. Skipping
F: Opening user flatpak installation at path /home/phil/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/phil/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/phil/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: Regenerating ld.so.cache /home/phil/.var/app/org.fritzing.Fritzing/.ld.so/1441a9cfffdca9b9a53631cf89f22e1c371e7b0b19ba139c73668a46f3e55cee
F: Running: 'bwrap --args 13 ldconfig -X -C /run/ld-so-cache-dir/1441a9cfffdca9b9a53631cf89f22e1c371e7b0b19ba139c73668a46f3e55cee'
F: Allocated instance id 3393237440
F: Allowing dri access
F: Allowing wayland access
F: Allowing x11 access
F: Allowing pulseaudio access
F: Pulseaudio user configuration file '/home/phil/.config/pulse/client.conf': Error opening file /home/phil/.config/pulse/client.conf: No such file or directory
F: Running 'bwrap --args 37 /usr/libexec/flatpak-dbus-proxy --args=39'
F: Running 'bwrap --args 34 Fritzing'
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
C1: -> org.freedesktop.DBus call org.freedesktop.DBus.Hello at /org/freedesktop/DBus
C2: -> org.freedesktop.DBus fake wildcarded AddMatch for org.fritzing.Fritzing
C3: -> org.freedesktop.DBus fake wildcarded AddMatch for com.canonical.AppMenu.Registrar
C4: -> org.freedesktop.DBus fake wildcarded AddMatch for org.freedesktop.portal
C5: -> org.freedesktop.DBus fake wildcarded AddMatch for org.mpris.MediaPlayer2.org.fritzing.Fritzing
C6: -> org.freedesktop.DBus fake ListNames
B1: <- org.freedesktop.DBus return from C1
B2: <- org.freedesktop.DBus signal org.freedesktop.DBus.NameAcquired at /org/freedesktop/DBus
B3: <- org.freedesktop.DBus return from C2
*SKIPPED*
B4: <- org.freedesktop.DBus return from C3
*SKIPPED*
B5: <- org.freedesktop.DBus return from C4
*SKIPPED*
B6: <- org.freedesktop.DBus return from C5
*SKIPPED*
B7: <- org.freedesktop.DBus return from C6
C7: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.DBus
C8: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Documents
C9: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.IBus
*SKIPPED*
B8: <- org.freedesktop.DBus return from C7
*SKIPPED*
B9: <- org.freedesktop.DBus return from C8
*SKIPPED*
B10: <- org.freedesktop.DBus return from C9
*SKIPPED*
C10: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
B11: <- org.freedesktop.DBus return from C10
C11: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C12: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C13: -> org.freedesktop.DBus call org.freedesktop.DBus.StartServiceByName at /org/freedesktop/DBus
B12: <- org.freedesktop.DBus return from C11
B13: <- org.freedesktop.DBus return from C12
B74: <- org.freedesktop.DBus signal org.freedesktop.DBus.NameOwnerChanged at /org/freedesktop/DBus
B14: <- org.freedesktop.DBus return from C13
C14: -> org.freedesktop.DBus call org.freedesktop.DBus.GetNameOwner at /org/freedesktop/DBus
B15: <- org.freedesktop.DBus return from C14
C15: -> :1.93 call org.freedesktop.DBus.Properties.GetAll at /org/freedesktop/portal/desktop
B87: <- :1.93 return error org.freedesktop.DBus.Error.InvalidArgs from C15
C16: -> :1.93 call org.freedesktop.portal.Settings.ReadAll at /org/freedesktop/portal/desktop
B88: <- :1.93 return error org.freedesktop.DBus.Error.UnknownMethod from C16

(Fritzing:2): Gdk-WARNING **: 14:46:18.479: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface 'org.freedesktop.portal.Settings' on object at path /org/freedesktop/portal/desktop
C17: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C18: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C19: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
B16: <- org.freedesktop.DBus return from C17
B17: <- org.freedesktop.DBus return from C18
B18: <- org.freedesktop.DBus return from C19
C20: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C21: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C22: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C23: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C24: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
B19: <- org.freedesktop.DBus return from C20
B20: <- org.freedesktop.DBus return from C21
B21: <- org.freedesktop.DBus return from C22
B22: <- org.freedesktop.DBus return from C23
B23: <- org.freedesktop.DBus return from C24
C1: -> org.freedesktop.DBus call org.freedesktop.DBus.Hello at /org/freedesktop/DBus
C2: -> org.freedesktop.DBus fake wildcarded AddMatch for org.fritzing.Fritzing
C3: -> org.freedesktop.DBus fake wildcarded AddMatch for com.canonical.AppMenu.Registrar
C4: -> org.freedesktop.DBus fake wildcarded AddMatch for org.freedesktop.portal
C5: -> org.freedesktop.DBus fake wildcarded AddMatch for org.mpris.MediaPlayer2.org.fritzing.Fritzing
C6: -> org.freedesktop.DBus fake ListNames
B1: <- org.freedesktop.DBus return from C1
B2: <- org.freedesktop.DBus signal org.freedesktop.DBus.NameAcquired at /org/freedesktop/DBus
B3: <- org.freedesktop.DBus return from C2
*SKIPPED*
B4: <- org.freedesktop.DBus return from C3
*SKIPPED*
B5: <- org.freedesktop.DBus return from C4
*SKIPPED*
B6: <- org.freedesktop.DBus return from C5
*SKIPPED*
B7: <- org.freedesktop.DBus return from C6
C7: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.DBus
C8: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Desktop
C9: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Documents
C10: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.IBus
*SKIPPED*
B8: <- org.freedesktop.DBus return from C7
*SKIPPED*
B9: <- org.freedesktop.DBus return from C8
*SKIPPED*
B10: <- org.freedesktop.DBus return from C9
*SKIPPED*
B11: <- org.freedesktop.DBus return from C10
*SKIPPED*
C11: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C12: -> org.freedesktop.DBus call org.freedesktop.DBus.GetNameOwner at /org/freedesktop/DBus
B12: <- org.freedesktop.DBus return from C12
C13: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.Portal.CreateInputContext at /org/freedesktop/IBus
B5: <- :1.25 return from C13
C14: -> org.freedesktop.DBus call org.freedesktop.DBus.GetNameOwner at /org/freedesktop/DBus
B13: <- org.freedesktop.DBus return from C14
C15: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.SetCapabilities at /org/freedesktop/IBus/InputContext_1
C16: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C17: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C18: -> org.freedesktop.DBus call org.freedesktop.DBus.GetNameOwner at /org/freedesktop/DBus
B14: <- org.freedesktop.DBus return from C18
B6: <- :1.25 return from C15
C19: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C20: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C21: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C22: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C23: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C24: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
Qt: Session management error: None of the authentication protocols specified are supported
C25: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C26: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C27: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C28: -> org.freedesktop.DBus call org.freedesktop.DBus.StartServiceByName at /org/freedesktop/DBus
Filtering message due to arg0 org.gtk.Settings, policy: 0 (required 2)
*HIDDEN* (ping)
B24: <- org.freedesktop.DBus return from C25
B25: <- org.freedesktop.DBus return from C26
B26: <- org.freedesktop.DBus return from C27
B27: <- (no sender) return from C28
*REWRITTEN*
C1: -> org.freedesktop.DBus call org.freedesktop.DBus.Hello at /org/freedesktop/DBus
C2: -> org.freedesktop.DBus fake wildcarded AddMatch for org.fritzing.Fritzing
C3: -> org.freedesktop.DBus fake wildcarded AddMatch for com.canonical.AppMenu.Registrar
C4: -> org.freedesktop.DBus fake wildcarded AddMatch for org.freedesktop.portal
C5: -> org.freedesktop.DBus fake wildcarded AddMatch for org.mpris.MediaPlayer2.org.fritzing.Fritzing
C6: -> org.freedesktop.DBus fake ListNames
B1: <- org.freedesktop.DBus return from C1
B2: <- org.freedesktop.DBus signal org.freedesktop.DBus.NameAcquired at /org/freedesktop/DBus
B3: <- org.freedesktop.DBus return from C2
*SKIPPED*
B4: <- org.freedesktop.DBus return from C3
*SKIPPED*
B5: <- org.freedesktop.DBus return from C4
*SKIPPED*
B6: <- org.freedesktop.DBus return from C5
*SKIPPED*
B7: <- org.freedesktop.DBus return from C6
C7: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.DBus
C8: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Desktop
C9: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Documents
C10: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.IBus
*SKIPPED*
B8: <- org.freedesktop.DBus return from C7
*SKIPPED*
B9: <- org.freedesktop.DBus return from C8
*SKIPPED*
B10: <- org.freedesktop.DBus return from C9
*SKIPPED*
B11: <- org.freedesktop.DBus return from C10
*SKIPPED*
C11: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C12: -> org.freedesktop.DBus call org.freedesktop.DBus.NameHasOwner at /org/freedesktop/DBus
Filtering message due to arg0 org.a11y.Bus, policy: 0 (required 1)
B12: <- (no sender) return from C12
*REWRITTEN*
C29: -> org.freedesktop.DBus call org.freedesktop.DBus.GetNameOwner at /org/freedesktop/DBus
Filtering message due to arg0 org.gtk.Settings, policy: 0 (required 1)
B28: <- (no sender) return from C29
*REWRITTEN*
QNetworkReplyHttpImplPrivate::_q_startOperation was called more than once QUrl("http://fab.fritzing.org/launched?version=0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806&sysname=Linux&kernname=Linux&kernversion=4.18.19-100.fc27.x86_64&arch=x86_64&sysversion=UNKNOWN&pid=f32acbd95f71b800e21a50b021e7d708")
libpng warning: iCCP: known incorrect sRGB profile
C13: -> org.freedesktop.DBus call org.freedesktop.DBus.NameHasOwner at /org/freedesktop/DBus
B13: <- org.freedesktop.DBus return from C13
Failed to load the library: udev, supported version(s): 1 and 0

application gui available

C25: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.Reset at /org/freedesktop/IBus/InputContext_1
B7: <- :1.25 return from C25
C26: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.Reset at /org/freedesktop/IBus/InputContext_1
C27: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.FocusIn at /org/freedesktop/IBus/InputContext_1
B8: <- :1.25 return from C26
B9: <- :1.25 return from C27
C28: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.SetCursorLocation at /org/freedesktop/IBus/InputContext_1
B10: <- :1.25 return from C28
C29: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.FocusIn at /org/freedesktop/IBus/InputContext_1
C30: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.SetCursorLocation at /org/freedesktop/IBus/InputContext_1
C31: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.SetCursorLocation at /org/freedesktop/IBus/InputContext_1
C32: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.Reset at /org/freedesktop/IBus/InputContext_1
C33: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.FocusIn at /org/freedesktop/IBus/InputContext_1
C34: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.SetCursorLocation at /org/freedesktop/IBus/InputContext_1
C35: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.SetCursorLocation at /org/freedesktop/IBus/InputContext_1
C36: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.FocusIn at /org/freedesktop/IBus/InputContext_1
C37: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.FocusIn at /org/freedesktop/IBus/InputContext_1
B11: <- :1.25 return from C29
B12: <- :1.25 return from C31
B13: <- :1.25 return from C32
B14: <- :1.25 return from C33
B15: <- :1.25 return from C34
B16: <- :1.25 return from C35
B17: <- :1.25 return from C36
B18: <- :1.25 return from C37
C38: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.FocusIn at /org/freedesktop/IBus/InputContext_1
B19: <- :1.25 return from C30
B20: <- :1.25 return from C38
C39: -> org.freedesktop.portal.IBus call org.freedesktop.IBus.InputContext.Reset at /org/freedesktop/IBus/InputContext_1
B21: <- :1.25 return from C39

before File ¦ SaveAs…

C14: -> org.freedesktop.portal.Desktop call org.freedesktop.portal.FileChooser.SaveFile at /org/freedesktop/portal/desktop
B96: <- :1.93 return from C14
C15: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
B98: <- :1.93 signal org.freedesktop.portal.Request.Response at /org/freedesktop/portal/desktop/request/1_96/qt2356791432
C16: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C40: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C41: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C42: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C43: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C44: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C45: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C46: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C47: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C48: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C49: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C17: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
C18: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
B15: <- org.freedesktop.DBus return error org.freedesktop.DBus.Error.MatchRuleNotFound from C49
*Unexpected reply*
B14: <- org.freedesktop.DBus return error org.freedesktop.DBus.Error.MatchRuleNotFound from C18
*Unexpected reply*
mMerlin commented 5 years ago

Looking through the flatpak man pages, I tried

% flatpak document-export --noexist --app=org.fritzing.Fritzing --allow-read --allow-write --allow-grant-permission --verbose --ostree-verbose ~/SaveAsTest03.fzz

% flatpak document-info -vv --ostree-verbose ~/SaveAsTest03.fzz
error: No such file or directory

% flatpak document-export --noexist --app=org.fritzing.Fritzing --allow-read --allow-write --allow-grant-permission --verbose --ostree-verbose ~/SaveAsTest03.fzz
/run/user/1000/doc/4f4fafff/SaveAsTest03.fzz

% flatpak document-list org.fritzing.Fritzing
…
4f4fafff    /home/phil/SaveAsTest03.fzz
…

% flatpak document-info -vv --ostree-verbose ~/SaveAsTest03.fzz
error: No such file or directory

% flatpak run org.fritzing.Fritzing
» File ¦ SaveAs ¦ Home ¦ SaveAsTest03.fzz ¦  Open ¦ File ¦ Quit

% flatpak document-list org.fritzing.Fritzing
…
4f4fafff    /home/phil/SaveAsTest03.fzz
…

But /home/phil/SaveAsTest03.fzz still does not exist.

gasinvein commented 5 years ago

This issue is likely caused by the host side of the portal. What version of xdg-desktop-portal-gtk do you have?

mMerlin commented 5 years ago

Currently 0.99m with 0.7-3 also available in the standard repos

% sudo dnf --showduplicates list xdg-desktop-portal-gtk
Last metadata expiration check: 1:20:22 ago on Sun 03 Mar 2019 04:51:01 PM MST.
Installed Packages
xdg-desktop-portal-gtk.x86_64                                           0.99-1.fc27                                            @updates
Available Packages
xdg-desktop-portal-gtk.x86_64                                           0.7-3.fc27                                             fedora  
xdg-desktop-portal-gtk.x86_64                                           0.99-1.fc27                                            @updates
xdg-desktop-portal-gtk.x86_64                                           0.99-1.fc27                                            updates 

Details for installed version

% sudo dnf info xdg-desktop-portal-gtk
Last metadata expiration check: 1:17:53 ago on Sun 03 Mar 2019 04:51:01 PM MST.
Installed Packages
Name         : xdg-desktop-portal-gtk
Version      : 0.99
Release      : 1.fc27
Arch         : x86_64
Size         : 684 k
Source       : xdg-desktop-portal-gtk-0.99-1.fc27.src.rpm
Repo         : @System
From repo    : updates
Summary      : Backend implementation for xdg-desktop-portal using GTK+
URL          : https://github.com/flatpak/xdg-desktop-portal-gtk
License      : LGPLv2+
Description  : A backend implementation for xdg-desktop-portal that is using GTK+ and various
             : pieces of GNOME infrastructure, such as the org.gnome.Shell.Screenshot or
             : org.gnome.SessionManager D-Bus interfaces.
gasinvein commented 5 years ago

Well, at least with 1.2.0 (which is in f29 repos) Fritzing works fine. Since Fedora 27 is EOL, if you really have to use it, I suggest you updating xdg-desktop-portal and xdg-desktop-portal-gtk to latest upstream versions.

mMerlin commented 5 years ago

My linux-fu is not good enough to sneak that into fc27. Attempting pulled in a lot of dependencies, and still failed to upgrade. At least the flatpak works as long as I save into (subfolders of) $HOME/Documents/Fritzing.

gasinvein commented 5 years ago

Mixing packages from different releases is a really bad idea. If you can't upgrade to latest Fedora, you should rebuild SRPMs from newer release for your system.

mMerlin commented 5 years ago

Sure, should rebuild. Outside my skill set though. Full upgrade on the list. Have VMs for now when needed, and can mostly work with the existing flatpak now that I know where the limitations are.

gasinvein commented 5 years ago

Here, I've build those packages for you. It should work, but may introduce problems, use at your own risk if you don't mind installing random stuff from the internets. xdg-portal-packages-fedora-27.tar.gz N.B. mutter is built without pipewire and thus without remote desktop support.

mMerlin commented 5 years ago

I successfully installed the updated xdg-portal packages on a FC27 VM snapshot, but the app still can not save a file to the home directory, without specifying the .fzz extension. Messages say it is saving to the correct name (with the extension), but the file does not actually exist. Something else in the mix is needed.

tar xvfz flatpak-portal-packages-fedora-27.tar.gz
sudo dnf install --disablerep="*" *.rpm
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --system flathub org.fritzing.Fritzing
% flatpak run org.fritzing.Fritzing
« Version 0.9.3 (b04.19) 64
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Qt: Session management error: None of the authentication protocols specified are supported
QNetworkReplyHttpImplPrivate::_q_startOperation was called more than once QUrl("http://fab.fritzing.org/launched?version=0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806&sysname=Linux&kernname=Linux&kernversion=4.18.19-100.fc27.x86_64&arch=x86_64&sysversion=UNKNOWN&pid=e3f1a2bb41846755f666ec0312f8291c")
libpng warning: iCCP: known incorrect sRGB profile
Failed to load the library: udev, supported version(s): 1 and 0
« File ¦ SaveAs… ¦ Home ¦ test01 ¦ Save ¦ File ¦ Quit
% flatpak document-list org.fritzing.Fritzing
49b6f9ec    /home/phil/test01
% ls $HOME
base-packages.log  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
% ls -ls /run/user/1000/doc/49b6f9ec/
total 0

% flatpak run org.fritzing.Fritzing
…
« File ¦ SaveAs… ¦ Home ¦ test02.fzz ¦ Save ¦ File ¦ Quit
% flatpak document-list org.fritzing.Fritzing
49b6f9ec    /home/phil/test01
2d4fa4c8    /home/phil/test02.fzz
% ls $HOME
base-packages.log  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  test02.fzz  Videos
% ls -ls /run/user/1000/doc/2d4fa4c8/
total 20
20 -rw-------. 1 phil phil 16822 Mar  4 17:50 test02.fzz

Fuller logs are availble, or reproducable, if you are interested. I tried it, just to see if it would work. Not planning to actually use that environment, or the updated packages in my main environment. Other options are good enough at this time.

gasinvein commented 5 years ago

Tested on openSUSE TW with KDE, and there file extensions are automatically appended. So this issue is somewhere between Qt in flatpak and the desktop portal on the host. Probably it should be reported to xdg-desktop-portal-gtk.

AsavarTzeth commented 5 years ago

I successfully installed the updated xdg-portal packages on a FC27 VM snapshot, but the app still can not save a file to the home directory, without specifying the .fzz extension. Messages say it is saving to the correct name (with the extension), but the file does not actually exist. Something else in the mix is needed.

Tested on openSUSE TW with KDE, and there file extensions are automatically appended. So this issue is somewhere between Qt in flatpak and the desktop portal on the host. Probably it should be reported to xdg-desktop-portal-gtk.

https://github.com/flatpak/xdg-desktop-portal-gtk/issues/191