Help with caldav, email reminders and task attachments

My bad, I was using my namespace as user in my caldav app and not the email, so I wasn’t authenticating correctly. Tried with BusyCal for macOS and I could sync the lists but as for tasks I noticed the following:

  • if I create the task in the frontend, it will not sync to BusyCal for macOS;
  • if I create the task in BusyCal for macOS (with no dates) it will be pushed to the server, but then I go to the frontend in the browser, return to the webdav client, and the task disappears. I think it has something to do with parsing dates as I get this error in the api container console:

2021-01-16T17:37:51.300042328Z: WARNING ▶ caldav/caldavTimeToTimestamp c79 Error while parsing caldav time 20210116 to TimeStamp: parsing time "20210116" as "20060102T150405": cannot parse "" as "T"

So I think BusyCal for macOS in not compatible.

I also tried with macOS default reminders app, using the same credentials, but I get the error “not possible to confirm the account nor the password”. So it seems it is not possible to even add the account. But, Reminders app is not compatible with a lot of things from CalDAV I think.

The error caused by BusyCal looks like it could be easy to fix, although it is not standard behavior. Caldav is a complicated protocol to say the least…

Did you have a chance to try a different client?

I’ll see if I can get hands on another client, currently just have the default ones on macOS and iOS + busyCal for both macOS and iOS as well.

1 Like

Managed to get email reminders working! However, don’t know if is any misconfiguration, but the “OPEN TASK” blue button that appears on the email content does not work (i.e. link to the task).

The email also shows the message

If the button above doesn’t work, copy the url below and paste it in your browsers address bar:
tasks/8

As obvious the url does not work, what it should be presented (in my case that I am running on a NAS with IP) is http://192.168.9.36:8130/tasks/8

PS: the button has a weird url, something like this:

imap://my%2Eemail%2Ename%40gmail%2Ecom@imap.gmail.com:993/fetch%randomNumbersAndLetters%randomNumbersAndLetters/INBOX%randomNumbersAndLetters

Have you configured the Frontend url in the api configuration?

The weird url is probably caused by your email program.

Thank you for the quick reply. That was it, everything perfect now!

EDIT: almost perfect! When I click the button link or copy paste the URL I always end up having to login to Vikunja, so the direct access to the specific task is not achieved. Maybe it’s some config in my browser, will check it out.

Hi !
Digging out this threat to try and get some light.

How did you do ? Do you care sharing your docker-compose so I can compare it with mine ?

Sure. Here it is with some changes for privacy purposes :slight_smile:
I’m using Vikunja on local network only, acessible through VPN only; still I’m using a live server which hosts my email to send the email reminders; check for the VIKUNJA_MAILER_* variables below, hope it helps.

version: '2'

services:
  db:
    image: mariadb:10
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: vikunjaDB
    volumes:
      - /volume1/docker/vikunja/mysql:/var/lib/mysql
    restart: unless-stopped
    ports:
        - '1111:3306'
  api:
    image: vikunja/api
    environment:
      VIKUNJA_DATABASE_HOST: db
      VIKUNJA_DATABASE_PASSWORD: password
      VIKUNJA_DATABASE_TYPE: mysql
      VIKUNJA_DATABASE_USER: root
      VIKUNJA_DATABASE_DATABASE: vikunjaDB
      VIKUNJA_MAILER_ENABLED: "true"
      VIKUNJA_MAILER_HOST: mail.yourserver.com
      VIKUNJA_MAILER_USERNAME: mail@yourserver.com
      VIKUNJA_MAILER_PASSWORD: your_email_password
      VIKUNJA_MAILER_PORT: "465"
      VIKUNJA_MAILER_FORCESSL: "true"
      VIKUNJA_MAILER_FROMEMAIL: mail@yourserver.com
      VIKUNJA_MAILER_SKIPTLSVERIFY: "true"
      VIKUNJA_SERVICE_FRONTENDURL: "http://192.168.9.36:8130/"
    volumes: 
      - /volume1/docker/vikunja/files:/app/vikunja/files
    depends_on:
      - db
    restart: unless-stopped
  frontend:
    image: vikunja/frontend
    restart: unless-stopped
  proxy:
    image: nginx
    ports:
      - 8130:80
    volumes:
      - /volume1/docker/vikunja/nginx.conf:/etc/nginx/conf.d/default.conf:ro
    depends_on:
      - api
      - frontend
    restart: unless-stopped
1 Like

Thanks a lot for taking some time to answer.

This conforts me in my configuration, and I got mails working, but I don’t receive reminders notifications.
I see you don’t use VIKUNJA_SERVICE_ENABLEEMAILREMINDERS. Do you receive reminders emails ?

Reminders are enabled globally by default: Config options | Vikunja

You might need to enable them in your user settings though.

Thanks for your answer.

As I didn’t receive mail for reminders, I thought I had to add VIKUNJA_SERVICE_ENABLEEMAILREMINDERS.

I do have mails working (received a confirmation email and a reminder for overdue tasks this morning), but it looks like mail for reminders won’t get sent. I have the option checked in the settings.

I thought it could be related to a TZ problem, so I waited 24h+ and still got nothing.

I’m not sure where I should look at.

I’m receiving the email reminders with no problems. I’m using the docker-compose file that I’ve posted and have enabled the “Send me reminders for tasks via Email” in my settings. Are you running the latest version of the API? And are you setting the time for the reminder using the arrow keys in the GUI? (it will offset the hours by 1 and the minutes by 5).

Sorry for the late answer. Had a few really busy days.

Yes

I tried both. Didn’t change anything

Drives me crazy x)

Can you enable debug logging and check if you see any log messages prefixed with [Task Reminder Cron] in the logs after a minute?

Hello. Thanks for your suggestion.

First, I added a reminder for a task at 21:39 for 21:45 and here’s what I see :

2021-12-17T20:41:00.000621255Z: DEBUG	▶ models/getTasksWithRemindersInTheNextMinute 503 [Task Reminder Cron] Looking for reminders between 2021-12-17 21:41:00 +0100 CET and 2021-12-17 21:42:00 +0100 CET to send...,
2021-12-17T20:41:00.008003735Z: DEBUG	▶ models/getTasksWithRemindersInTheNextMinute 505 [Task Reminder Cron] Found 0 reminders

Happens the same at 21h45 reminder time :

2021-12-17T20:45:00.007050275Z: DEBUG	▶ models/getTasksWithRemindersInTheNextMinute 5f4 [Task Reminder Cron] Looking for reminders between 2021-12-17 21:45:00 +0100 CET and 2021-12-17 21:46:00 +0100 CET to send...,
2021-12-17T20:45:00.01006737Z: DEBUG	▶ models/getTasksWithRemindersInTheNextMinute 5f6 [Task Reminder Cron] Found 0 reminders

Edit: wait. I see it now. I’ve specified my TZ in my installation, so why is it 1h late ? And why didn’t I get a notification at 22:45 ?

Because all dates are saved as utc in the db. I plan to add something to fix this and allow people to set the time zone for reminders per user.

Very good question…

What is the content of the task_reminders table?

Thank you for your reply.

I’m away from my server for the holidays, I’ll get back to you as soon as I get home.

Happy holidays :slight_smile:

1 Like

Wow, it’s been a very busy couple of months. Sorry to be that late !
I hope you’re doing great. Happy new year :wink:

Sorry, how do I check that ?

Happy new year! :smile:

Log in to your database and run select * from task_reminders.

Meanwhile, we have implemented timezone support per user. With the latest unstable version, you can set the time zone in the user settings and the reminder emails will respect that. Does that fix the problem?

1 Like

The unstable version solved the problem. Thank’s a lot :slight_smile:

I can’t wait to see this in the stable version, as well as alphabetical order :heart_eyes:

Again, thank you.

1 Like