Some issues that needs to be addressed upstream in order to have the application submitted to Flathub.
Missing AppStream file
A file describing Cartero must be made. This is easy to do, but I need to take some screenshots.
[x] Take some screenshots of Cartero. Bonus points if I can make four versions of each screenshot: light, light@2x, dark and dark@2x. Bonus point if all the screenshots can have the same size (the HDPI version would have the size multiplied by 2), to make the layout easier.
[x] Add an AppStream file (#45).
Sandboxing
It seems that I haven't tested much Cartero in sandbox mode, and Flathub uses sandbox mode. Things do not look very great, as files outside ~/Documents have issues opening. The reason seems to be that using Rust file methods can't be hooked to interact with the file portal that Flatpak would provide to open the file.
It would be necessary to migrate the file operations so that instead of working with raw PathBufs and calling std::fs methods, it uses gio::File methods.
[x] Migrate std::fs to gio::File
I could keep using the --filesystem=host parameter in the Flatpak manifest. My explanation for that would be that since Cartero is a development tool, I can expect users to have files in locations outside ~/Documents, such as ~/Projects, ~/dev, ~/code, etc, and forcing the users to save their data in ~/Documents would be extremely unhelpful. However, they have to buy the argument and pass the review.
Some issues that needs to be addressed upstream in order to have the application submitted to Flathub.
Missing AppStream file
A file describing Cartero must be made. This is easy to do, but I need to take some screenshots.
Sandboxing
It seems that I haven't tested much Cartero in sandbox mode, and Flathub uses sandbox mode. Things do not look very great, as files outside ~/Documents have issues opening. The reason seems to be that using Rust file methods can't be hooked to interact with the file portal that Flatpak would provide to open the file.
It would be necessary to migrate the file operations so that instead of working with raw PathBufs and calling std::fs methods, it uses gio::File methods.
I could keep using the
--filesystem=host
parameter in the Flatpak manifest. My explanation for that would be that since Cartero is a development tool, I can expect users to have files in locations outside ~/Documents, such as ~/Projects, ~/dev, ~/code, etc, and forcing the users to save their data in ~/Documents would be extremely unhelpful. However, they have to buy the argument and pass the review.