Flatpak related issues

I posted in the Flatpak request thread but received no response, and tried my luck getting a response from the dev team via email but that didn’t work also, so I hope I’ll get more feedback by posting here.

I’m packaging Insync as a Flatpak for myself (see here) but if the issues will be resolved then it can be picked up for distributing via Flathub.org.

Blocking issues: must be fixed or get workarounds

  1. Traybar status icon is missing. /usr/share/icons/hicolor/48x48/status is probably hardcoded, Insync is not considering $XDG_DATA_DIRS.
    /usr/share/ and /usr/share/runtime/share are from the Flatpak runtime while /app/share is from the Flatpak packaged app. So Insync should at least also check /app/share/.
    I was able to confirm that the problem is with /usr/share being the only path used for looking up the icons by injecting them into the Flatpak runtime (changing the filesystem), updating the icons cache, and watch the status icon appear.

  2. The use of Unix file socket at /tmp/insync${UID}.sock to check if another Insync instance already running and communicate with file-manager extensions.
    I believe this should be changed to a Linux named socket that could be shared across the network (edit:) namespace, accessible to the host, and other Flatpak applications (that could be file-managers).

Not blocking but would nice to have:

  1. Check $XDG_CONFIG_HOME value before defaulting to ~/.config/Insync as the settings folder.

Please consider fixing these issues.
It’s very easy to build and install the Flatpak package.

flatpak instal flathub org.gnome.Sdk//3.36
flatpak-builder --install --user --force-clean --state-dir=build/flatpak-builder --repo=build/flatpak-repo build/flatpak-target com.insynchq.insync.yaml

Hi @tinywrkb, thanks for your efforts, it’s a pity you are not getting answered here either :worried:

1 Like

Two other alternatives for the Unix file socket:

  1. Instead of hard-coding the socket path as /tmp/insync${UID}.sock use instead $TMPDIR/insync${UID}.sock and fall back to /tmp/insync${UID}.sock if $TMPDIR is empty or does not exist.

  2. Use d-bus instead.