Tasks

Rating: 
5
Your rating: None Average: 5 (3 votes)

Note: I am currently considering to what extent I will be involved with Sailfish OS given Jolla's current ownership. In the mean time, app development will be suspended.

A task manager for Sailfish OS with Nextcloud sync (caldav).

This is an alpha release, use at your own risk.

Homepage: https://cvs.sonologic.net/gmc/harbour-tasks Open repos: https://openrepos.net/content/gmc/tasks

Known issues

  • Account is stored encrypted (through sailfishsecrets), but actual task content is not yet stored encrypted
  • No automatic/background sync, must sync manually through pulley menu
  • Very verbose logging
  • Conflict resolution: no conflict resolution is implemented yet, when a task is editted on both the server and in the app, the server wins and will overwrite the changes made in the app
  • Tasks deleted on the server will not be deleted in the app
  • Error handling is very bare
  • UI is very unpolished
  • When installing on a device (emulator) that already has sailfishsecretsdaemon installed but is lacking the storage plugin, a reboot may be needed to restart the daemon after installation in order to activate the newly installed plugin.

Manual (brief)

Account configuration

The app will attempt to auto-detect caldav on the url provided by requesting
the file `.well-known/caldav`, which should redirect to the caldav root.

This means that you should enter the base url of your nextcloud instance or
caldav provider. For example, `https://cloud.example.com/` or `https://fruux.com/`.

The 'Task lists' screen

When opening the ap, the 'Task lists' screen shows. Use the pulley menu to select one of the actions:

  • Account: open the account configuration screen
  • Clear: clear local database (does not affect data on the server)
  • Synchronise: synchronise with Nextcloud server

The tasks screen

When tapping one of the task list names in the 'Task lists' screens, the task list is shown. The tasks are shown. Use the pulley menu to select one of the actions:

  • Synchronise: synchronise with Nextcloud server (same as from 'Tasks lists' screen)
  • Show completed: show completed tasks (they are normally hidden)
  • New task: create a new task

Reporting bugs

If you want to report a bug (please bear in mind that this is a very early alpha release), make sure to include concise instructions on how to reproduce the bug, and if possible include logs.

How to include logs?

  • Close the app
  • Enable developer options through settings
  • Open the terminal
  • Start the app and collect logs:
    • /usr/bin/harbour-tasks > ~/Documents/tasks.log 2>&1
  • Reproduce the problem
  • Close the app

You can now send the file under ~/Documents/tasks.log along with your bug report (but beware, the log may contain sensitive information as it will include all your calendar details and synchronised tasks).

You can send bug reports to harbour-tasks@sonologic.nl. Please include at least the following information:

  • The device / environment
  • What you tried to do (be explicit)
  • What you expected to happen
  • What actually happened
  • The app log output (see above)
Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-tasks-0.3-1.armv7hl.rpm194.86 KB06/11/2020 - 16:56
File harbour-tasks-0.3-1.i486.rpm204.97 KB06/11/2020 - 16:56
File harbour-tasks-0.4-1.armv7hl.rpm195.25 KB06/11/2020 - 22:41
File harbour-tasks-0.4-1.i486.rpm205.32 KB06/11/2020 - 22:41
File harbour-tasks-0.5-1.armv7hl.rpm209.29 KB08/11/2020 - 20:23
File harbour-tasks-0.5-1.i486.rpm223.79 KB08/11/2020 - 20:23
File harbour-tasks-0.6-1.armv7hl.rpm209.22 KB10/11/2020 - 17:44
File harbour-tasks-0.6-1.i486.rpm224.13 KB10/11/2020 - 17:44
File harbour-tasks-0.7-1.armv7hl.rpm216.61 KB15/11/2020 - 18:58
File harbour-tasks-0.7-1.i486.rpm231.53 KB15/11/2020 - 18:58
File harbour-tasks-0.8-2.i486.rpm264.15 KB20/04/2021 - 18:35
File harbour-tasks-0.8-2.armv7hl.rpm242.2 KB20/04/2021 - 18:35
File harbour-tasks-0.9-1.armv7hl.rpm251.71 KB24/04/2021 - 16:25
File harbour-tasks-0.9-1.i486.rpm282.63 KB24/04/2021 - 16:25
File harbour-tasks-0.9-1.aarch64.rpm259.41 KB27/04/2021 - 10:21
Changelog: 

- Add discovery through .well-known/caldav to support arbitrary caldav servers.

Comments

Thaodan's picture

Hey,

I've made a few observations:

  • The app can only store it's account data when outside of the sandbox. It is very likely that the default permission doesn't include connection to the Sailfish Secrets daemon.
  • The app assumes that the username is part of the path to the ressources which can be invalid in many cases. For example in my case the Nextcloud instance is connected with LDAP, the canoncial identifier for the user is the userid, the userid is part of the path. The builtin plugin already does this, it could be a good start to see how this should be implemented.
  • Next I have some improvements notably packaging fixes that make it possible to build in the package in a clean build environment such as the obs for things like Chum. If you want you can find them in my Gitea instance: https://git.thaodan.de/SailfishOS-Mirrors/harbour-tasks/src/branch/thaod...
  • A small note in the end: You store your build rpms inside the version control repository, this iks not as nice as binaries don't play nice with git and try are just clutter in the source control mostly.
PawelSpoon's picture

Hello,

my friends nextcloud has boards and cards app installed. both are shown in app but if you modify them, sync error. are those supported at all ?

 

ok, tasks were not installed -> the app showed that cards but was not able to update them

after installing tasks on server, app shows tasks only and seem to work

 

bouillon's picture

Thanks for the app. I'm waiting for todo app with caldav from the beginning of Sailfish but for me is not working because i'm using free Radicale caldav server and get all the time.  Account Discovery Error.
Is it working with other caldav servers excepts Nextcloud?
--
Ok i found this issue in the issue list https://cvs.sonologic.net/gmc/harbour-tasks/-/issues/33

gmc's picture

Yes, unfortunately, there are some account discovery errors with caldav servers that are less well-behaved. It's a known issue that I plan to address, but at the moment I am very busy with some personal matters that preclude me from actively working on the app. I will pick this up at some point, but since maintaining this app is an activity I do in my free time I can make no guarantees.

bouillon's picture

thank you for quick response and for working on this app. I guess that is one of most important issue because exclude lot of people from using this app and there are no alternatives for sailfish os for the moment. I hope you find the time.

nephros's picture

Something is weird about the package dependencies. It installs several -devel packages which really shouldn't be needed. I have had a look at the .yaml and deps there seem okay. So maybe the autorequirement detection is somehow messed up in the build process?

I also noticed the the main package inclides the tst- binary, maybe that is why...

nbourdais's picture

Hi
Regarding nextcloud 2fa : when you're logged in your nextcloud account you can generate an app token, which you can use as your nextcloud accoint password in harbour-tasks

I do the same for fuoten or other apps which connect to my nextcloud

Maximilian1st's picture

The issue #4 for the conflict resolution states that the server wins. Is there a possibility to say like "the phone wins"?

gmc's picture

Hi, yes this is possible, but not implemented at the moment. I've noted it down in a ticket: https://cvs.sonologic.net/gmc/harbour-tasks/-/issues/27

ziellos's picture

Thanks for this useful app. Is it possible to sync when two-factor-authentication is active? When I enable it, the app says network error / synchronization error.

gmc's picture

That is not currently supported sadly. I've created an issue for it (https://cvs.sonologic.net/gmc/harbour-tasks/-/issues/26) but can't make a promise of when I will implement this.

Historyscholar's picture

How to translate it?Can't sign in to your Gitlab instance.

gmc's picture

Hi, thanks for offering to translate! Send me an email (see above) and I'll set you up with an account. I don't want to enable open registration on the server due to the spammer/scammers.

TSawyer's picture

Hi GMC,

I've been waiting for years such a basic and useful tool, and still failing to understand why it is not part of the core Sailfish apps.

Unfortunately, my Caldav account is not on Nextcloud, but with my email provider. And your app fails to synchronise with its url (https://caldav.mailo.com).

Is there a way for you to make your app compatible for whatever caldav server?

Cheers,

Tom

gmc's picture

This is now implemented in version 0.9 of the app. Could you give it a go? Hope it works for you!

TSawyer's picture

Hi,
Thank you for coming back on this. Unfortunately, I still fail to synchronize my tasks. What has changed is that I do not have any error message ; but the task list remains empty. I tried with 2 different caldav servers (memotoo and mailo) without success.

Tom

gmc's picture

Hi, if you want I can have a look. Can you mail me the logs for those servers (see above on how to collect the logs and where to mail). I only tested with nextcloud and fruux.com, as it is impossible (and too costly) to register with all possible services and test.

gmc's picture

Hi Tom,

Yes, this is absolutely possible and planned as well from the beginning: https://cvs.sonologic.net/gmc/harbour-tasks/-/issues/10

This involves refactoring the initial discovery code to follow the spec, instead of just assuming it is a nextcloud server. Probably simple to do, but I don't have any generic server to test against.

I can't make any promises of when I'll get around to add this, as it is I do have quite a bit of other projects and $dayjob to attend to.

A patch would of course be welcome :)

Cheers,

Koen

gmc's picture

Heads-up: I'm working on this now.

danfin's picture

is there a syntax trick or problem? My nextcloud gives links like

https://shared02.opsone-cloud.ch/remote.php/dav/calendars/daniel@finsler...

for a single calendar, which is linked to a task list. But tasks will answer with 'task lists not found'n and my nextcloud does not give a individual link for its task lists (probably I miss something here?). If I delete the last word of the link, this does not help. Replacing calendars with tasks does not help either.

gmc's picture

You only have to specify the url to your nextcloud instance, the app will discover the calendars automatically. So in your case, you should enter 'https://shared02.opsone-cloud.ch/. The app will add the rest as needed.

danfin's picture

thank you - this helped!

Tasks show nicely and all calendars too. (the text is quite big and much space between lines, plus I'd like to make invisble what contains no tasks at all)

gmc's picture

Thanks for you comments. Indeed, being able to 'disable' calendars that are not meant to be used as task lists is something I want too: https://cvs.sonologic.net/gmc/harbour-tasks/-/issues/12

As for the layout, I'm using default sailfish layout items, so as far as I know this is how it is supposed to look according to sailfish design :) The names of task lists are indeed quite big, my task name lists are quite short and I like it this way. Perhaps I need to make it configurable for people using longer names.

Cryx's picture

Some issues:
Text in Deck/Main View list is very big and doesn't fit system settings (but single cards are okay).
Description text is cut off after some (didn't count: rounabiyt 80?) letters. So in my case text from the card is missing.
Nextcloud offers multiple labels in Deck, the app just shows one.
Aldo the German translation of the labels in the app doesn't match the localized label text in Nextcloud itself.
(And sure, most if this us relsted to Deck and not to tasks, but cause of Deck is tied into tasks I wanted to mention it here. Nevertheless - nice work so far! )

gmc's picture

Thanks for your feedback. I was able to reproduce the description issue (text cut off) and have a pretty good idea what is going on there. Added it as a bug: https://cvs.sonologic.net/gmc/harbour-tasks/-/issues/14

As for the others, I don't use deck myself so most of that doesn't mean anything to me :) I'll add them to the issue list, and will try to install deck on my instance to see if I can reproduce, once I have the more high-priority issues covered.

For the visual issue(s) you mention, is it possible to provide a screenshot?

danfin's picture

thank you, I am super interested - happy too - but my nexcloud switched to service mode for some reason, must fix that first.