Request for personal-files for trackself

The reason for “allow-installation” constraint is that I am using “personal-files” interface to store app data inside “$HOME/.config/trackself”.

plugs:
  config-dir:
    interface: personal-files
    read:
      - $HOME/.config/trackself
    write:
      - $HOME/.config/trackself

The purpose for this is to facilitate compatibility between snapcraft and other distributions for linux.

i’m not a reviewer so i can not say anything about allowing/denying this interface, but the rules for personal-files require a way less generic name, so to have a chance to get it granted, you should rather use dot-config-trackself instead of just calling it config-dir

Thanks a lot. Will sort it out.

I have updated the ‘personal-files’ plug configuration and submitted new revision.

Thanks again, for pointing it out @ogra.

1 Like

write implies read, you do not need to define the read block if you are using write :wink:

Removed read block. (@ogra thanks for being my guardian).

Submitted new revision: https://dashboard.snapcraft.io/snaps/trackself/

@emitorino I have had this post created when I posted initial revision. Should I have posted the link in my review request?

Hi @JanezStupar,

Don’t worry about that, it is fine as it is! Thanks for creating the topic.

In general it should be ok to grant access to this directory, since its owned by the snap. But since you are saying it is needed to store app data (and not configuration), couldn’t trackself store such data into some of the snap owned directories like $SNAP_DATA or $SNAP_COMMON instead?

I have tried SNAP_DATA, but the problem is the when you uninstall the snap the data goes with it.

Since my app is a time tracking app that will take users data with it. Maybe SNAP_COMMON alleviates that (will certainly test it out), but I would still like to maintain a neutral ground for users data - so that if the user decides they want to use say an AUR package or direct download from the website or if they want to move to other way around (from another release to snap release) their user experience is not hampered. OR having those other releases storing their data in wherever SNAP_COMMON is (the location could change as snapcraft matures further, right?).

That is why I would like to store user data within $HOME/.config/ as that is standard for vast majority of applications and leads to the least surprise for a user.

Thanks @JanezStuparfor explaining the reason behind this decision.

+1 from me for the use of personal-files as described below

plugs:
  dot-config-trackself:
    interface: personal-files
    write:
      - $HOME/.config/trackself