Insync as Flatpak (Linux)

It’s a real shame that you’re ignoring Flatpak completely, I’m already running Insync as a Flatpak app, and there are not a lot of issues that are needed to be addressed.

  1. Fix the empty status bar icon issue by changing the icon names, so they could be exported by Flatpak. For example, if we give the app a Flatpak app-id of com.insynchq.Insync then the insync-alert icon should be renamed to com.insynchq.Insync-alert or com.insynchq.Insync.alert or com.insynchq.Insync.status-alert.
    This only happen when using SNI protocol, not with XEMBED, but the latter should die with X.
    A possible workaround, is to have the user copy the status bar icons to the host, and manually update the icon theme cache. Last time I tried, it worked, but it should be avoided if possible, and the fix is pretty simple.

  2. Switch or allow choosing the IPC type when starting the app, and support this IPC channel in file-manager extensions.
    This is needed to avoid giving access to the host’s /tmp folder, a filesystem permission that might not be enabled by maintainers of file-manager Flatpak apps.
    This is not a blocking issue but would be great to have.
    Using an abstact Linux socket instead of the Unix file socket will not require much added code. D-Bus would be nicer, but that will require much more work.
    This is not a major issue, we could allow access to /tmp, but it’s better to fix this.

  3. Disable the native file dialog when selecting the local folder where Insync will sync to/from when setting up a cloud service. This will help avoid the Flatpak File portal.
    Without this, the user won’t be able to change the synced folder location, as the File portal was initially designed to give a file descriptor of host’s files, not a folder path.
    I’m not sure if this issue exists in an updated Qt5 release, but it’s definitely a problem in the outdated Qt5 version that is distributed with Insync.
    The workaround, manually editing ~/.config/Insync/data/gd-*.db is not acceptable.

  4. Properly split XDG_CURRENT_DESKTOP value on colons.
    At least in my environment, Sway+Waybar, to have Insync use SNI for the system status bar, I have to change the value of XDG_CURRENT_DESKTOP to Unity from sway:GNOME:Unity: as Insync does not correctly split on colons.
    I’m not sure if this is Insync fault or Qt5. If it’s the latter, then I guess we could document this issue and its workaround.

  5. Actually test the Flatpak app before an update. I stopped keeping track of how many times Wayland was broken, or the app used software rendering because it failed setting up an EGL context.
    Now I just make sure that the app will always have X11 socket access to have it start even if its Wayland support is broken.

  6. Support the background portal.
    I actually don’t care about this as I don’t use a desktop environment, but users who do will appreciate this feature.
    This is optional, but would be nice to have.

3 Likes