More durable synching for FlatSync
Project title
Add merge UI to FlatSync
Mentors
@Cogitri Matrix: @Cogitri:gnome.org
Project length
Can be either, depends on contributor preference
Description
FlatSync is a GSoC 2023 project to synchronise Flatpak installations across machines. During GSoC 2023 FlatSync was bootstrapped and already has basic synchronisation functionality. However, there are still some missing pieces:
- Currently FlatSync stubbornly tries to synchronise all Flatpaks. This doesn't make sense in all cases, e.g. if you only want NVidia drivers to be installed on your desktop machine but not your laptop (which only has an internal GPU). Instead, we should add a way to exclude some flatpaks/do machine specific overrides.
- The error handling is still pretty basic and users aren't notified about failed synchs.
- The UI is currently very basic, only allowing users to enter their GitHub-Token. During GSoC 2024, the following things should be added:
- An initial setup, which guides the user how to add an initial/additional machine
- A UI to exclude certain flatpaks (see above)
Having these capabilities would make FlatSync viable for GNOME users, making Flatpaks a lot nicer to use for GNOME users with multiple computers.
Requirements
Since Flatsync is written in Rust and uses GTK-rs, these should be looked into in advanced before working on the project:
Communication
Matrix: @Cogitri:gnome.org