name: lunacd-megasync
description: Easy automated syncing between your computers and your MEGA Cloud Drive
snapcraft: https://github.com/lunacd/MEGAsync-snap/blob/main/snap/snapcraft.yaml
upstream: https://github.com/meganz/MEGAsync
upstream-relation: not related to upstream
plugs:
mega-store:
interface: personal-files
write:
- $HOME/.local/share/data/Mega Limited
reasoning: |
MEGAsync exposes a socket in this directory for the functioning of its
file manager extensions. Example of connecting to this socket its dolphin
extension:
https://github.com/meganz/MEGAsync/blob/d200af55bfadcb6ab2417319486964265cd9da0c/src/MEGAShellExtDolphin/megasync-plugin-overlay.cpp#L138-L140.
This request has been added to the queue for review by the @reviewers team.
Hey @haowenl
In the reasoning, you mention that the application needs access to the socket. In that case, is there any reason why the access cannot be scoped to $HOME/.local/share/data/Mega Limited/MEGAsync/mega.socket?
Given that you are not member of the upstream project, I think we should not grant auto-connection. It would be possibly worth asking the upstream project if they would be willing to officially adopt the snap. Otherwise, it should be limited to manual-connection
It could probably be scoped to $HOME/.local/share/data/Mega Limited/MEGAsync/ yes. The reason why it couldn’t be scoped to just the socket is that the current implementation of MEGAsync hard-codes the fact that the socket and local data is colocated. There’s no technical reason, that I can see, but doing so will necessitate the snap carrying non-trivial patches.
Either case, given that the policy is to not grant auto-connections for third-party packaging, will resolve this topic.