[AIP] Will Be Done v0.10 released: offline-first self-hosted task manager with weekly timeline. Now with checklist! (github.com)
from quolpr@lemmy.world to selfhosted@lemmy.world on 26 Jul 14:30
https://lemmy.world/post/49920948

New version of Will Be Done is released! Will Be Done is offline-first, self-hosted task manager with visual weekly timeline.

The main idea is simple: collect tasks, put them on week timeline. I find that week timeline helps me stay more organised and fits naturally into my workflow. I can see what tasks done in which day, and what tasks planned previously in which day. Then, also, I missed other things, like open-source, offline-first, API, vim keybinds support.

It works offline-first, so tasks are stored locally in browser/desktop app(like Linear). You can open app and use it even when your server or homelab is down or no internet connection. When server is back, sync will sync changes between devices and server.

Main features right now:

And here is what changed since my last post:

Links:

Self-host with Docker:

docker run -d \
  -p 3000:3000 \
  -v will_be_done_storage:/var/lib/will-be-done \
  --restart unless-stopped \
  ghcr.io/will-be-done/will-be-done:latest

Then open localhost:3000.

Would love to hear feedback!

AI disclosure

#selfhosted

threaded - newest

devaly@ani.social on 26 Jul 14:54 next collapse

How does it resolve conflicts? How does it keep track of causality?

quolpr@lemmy.world on 26 Jul 15:58 collapse

It is just LWW per column. On each client I track last change of each field with current time(actually sysytemTime-counter-clientId to make time uniq). Then, when changes arrive to server, I compare previous clock time with new clock time from client. If client win, it overwrite server column time + value. No tracking causality for now, just current system time of the client.

devaly@ani.social on 27 Jul 06:21 collapse

I would find it particularly interesting to explain how it works in the docs

quolpr@lemmy.world on 27 Jul 19:51 collapse

I actually agree with you. I was avoiding making doc the whole time, but as amount of features growth, readme is not enough. I will introduce a good doc soon. Thanks!

betterdeadthanreddit@lemmy.world on 26 Jul 15:34 next collapse

lemmy.world/post/49151085

quolpr@lemmy.world on 26 Jul 15:45 collapse

Fixed. Thanks for the hint!

autonomous@lemmy.world on 26 Jul 18:05 next collapse

Offline-first? The apps web page says Sign Up or Login…

quolpr@lemmy.world on 26 Jul 18:32 collapse

You still need to sign up to sync between devices. With the self-hosted version, you also create an account, but authentication and all synced data stay on your own server.

Offline-first means the app works without an internet connection; it doesn’t necessarily mean that no account is required. After sign up/sign in, you can use it offline without any problems.

Snapz@lemmy.world on 27 Jul 06:49 collapse

You shouldn’t have to defend this, it was clear.

irmadlad@lemmy.world on 26 Jul 19:34 next collapse

Missed Opportunity: Git 'r Done

BartyDeCanter@piefed.social on 27 Jul 04:30 next collapse

I hate to be that jerk, but did you consider just implementing this as a front end to TaksWarrior? It has everything here, with 20 years of experience, testing and community, except for the nice GUI/PWA front end.

quolpr@lemmy.world on 27 Jul 19:52 next collapse

Nah, it will very hard to do. I wanted it to be fast from the start, so I was playing with sync and how I store data in browser.

u_tamtam@programming.dev on 28 Jul 09:02 collapse

Or plain old CalDAV

Supernova3339@lemmy.world on 01 Aug 19:03 collapse

Looking at the example screenshot, it just feels to me that there could be some proper dividers. it could be an old-screenshot and I’m just making a mistake, but it feels to me that there’s way too much shown to the user and it could be broken-up into child menus to be more compact.