stride-tasks / stride

Task menagement application with in-built git integration.
GNU Affero General Public License v3.0
11 stars 0 forks source link

[FEATURE REQUEST] Add support for taskwarrior sync #4

Open bpeetz opened 3 days ago

bpeetz commented 3 days ago

I've just saw stride in fdroid, and think that the interface looks quite neat.

It would be really convenient, if stride could support syncing with taskwarrior as that sort of lacks a mobile application, after foreground was discontinued.

taskwarrior uses a sync server (and adjacent library), written in rust, (taskchampion) to manage so-called replicas (more or less chechouts from the task repository). I've looked at this repository and it seems like stride consists of a main rust library, with multiple front-ends for each OS. Thus, integrating with a rust library should be easy?

If you are fine with adding another backend (and if it works with the internal task representation), then I would like to try to implement this and open a pr.

HalidOdat commented 3 days ago

Hi :wave:, @bpeetz

I use taskwarrior for my actual todos (only local version though), and the internal task representation is heavily inspired by taskwarrior's internal task representation. Though I am uncertain on how hard it would be to integrate it.

I am not opposed to having taskwarrior sync, though I had some plans on how to approach it, after the current feature of task encryption (almost done), I plan to add a plugin system where users can create custom plugins and one of the functionalities could be to target some other sync service, the plugins would be WebAssembly modules (rust has excellent support for it, as well as many languages, i.e. C/C++, Zig, etc).

If you wish you can work on the taskworrior sync feature and I would be more than happy to review and merge it, then once the plugin system is fully implemented I'll make it an official plugin that users can toggle. :)

Besides allowing users to create their own plugins, having a collection official plugins that are maintained by @stride-tasks is one my goals. (maybe in stride-tasks/plugins).

EDIT: Thinking about it nothing would prevent us from later on making git syncing an opt-in offical plugin too :laughing:

bpeetz commented 1 day ago

That sounds great. I'll probably be quite busy for the next two weeks, but after that I will have the time to work on this.