tchx84 / Gameeky

Play, create and learn
GNU General Public License v3.0
77 stars 12 forks source link

Sandbox the application #66

Open sonnyp opened 8 months ago

sonnyp commented 8 months ago

Currently Gameeky shows as unsafe in GNOME Software

I find it to be particularly important for beginners to provide safe applications so that

  1. They don' get scared / put off by the warning
  2. They can rest assured the app will not have an impact on their computer - no matter if directly or via a mishandling

For Workbench I use the network permission only but I'm hoping to remove it in the future with https://github.com/flatpak/xdg-desktop-portal/discussions/1166

Can you clarify why you need these 2 holes? I'm interested in understanding as well as helping.

image

tchx84 commented 8 months ago

Hey @sonnyp

Network access

All games made with Gameeky are multiplayer / cooperative by default, e.g. I don't want them to install Flatseal so they can explore their creations together.

Gameeky subdir

This project (in general sense of the word) involves many learners and few teachers that interact in a classroom. Therefore, it's important to make things simple for them.

Projects made by the learners must be easy to find, hence a single pre-defined Gameeky directory. This is for two reasons:

  1. Learners need quick access to their projects e.g., when adding new assets to a project or if they want to share these projects with others.
  2. Teachers need quick access to these projects, e.g. when assisting learners debug something.

Ideally, Gameeky wouldn't need that hole and would provide a "set up" step during the first launch, where learners can select the folder but:

  1. This requires more careful design, not only for the first launch experience, but also for how they will interact with the folder from within Gameeky after that.
  2. The folder portal story wasn't perfect the last time I checked, e.g. displaying the actual directory path from within Gameeky for them to find it when need it

I think if / once that last issue is solved, Gameeky could provide a well-designed first launch experience, but that's a new feature in self.

So for now, simpler is more important.

tchx84 commented 8 months ago

For Workbench I use the network permission only but I'm hoping to remove it in the future with flatpak/xdg-desktop-portal#1166

This is great!

sonnyp commented 8 months ago

For FS, I see 2 options

You can ask user on first run to pick a folder to save/open projects.

or

Save sessions automatically in .var/app-id and offer "Save on disk" / "Open from disk" options. (that's what Workbench does for example)

Document portal exported documents are permanent so the files/folders will be accessible after restarting the app.

displaying the actual directory path from within Gameeky for them to find it when need it

Indeed - FYI:

So for now, simpler is more important.

Fair :+1:

tchx84 commented 8 months ago

Awesome, everything is getting in place then :raised_hands: