Incomplete Todoist import

EDIT: This works, I now have different problem (see below).

Hi,

I am new to vikunja and would like it to replace my todoist (like many others apparently.)
Unfortunately I can’t get the Import to work.

I am using Vikunja Version v0.24.6 hosted on my own Server through Yunohost (a hosting system). It is hosted at “todo.mydomain.de”. (mydomain being an alias to be annonymous.)

When initiating the Todoist import I get only a json response with message “missing, malformed, expired or otherwise invalid token provided” after authenticating through Todoist API instead of being redirected to vikunja and the import starting.

The URL at which I recieve this message is: https://todo.mydomain.de/api/v1/migration/todoist/migrate?code=<...>&state=<...>

I have tried to follow all the available instructions in the docu and config, but struggle to find a configuration that works.
I have in the todoist app console

  1. configured vikunja with App Service URL = todo.mydomain.de
  2. I have tried many different version for OAuth redirect URL, I am assuming it has to be todo.mydomain.de/api/v1/migrations/todoist/migrate in order to call the api endpoint as specified by the config-docu.
  3. Copied client id and secret to my config.yaml

In the Vikunja config.yml I have set client id and secret and set the redirect url to many variations as well, like <frontend url>/migrate/todoist or todo.mydomain.de/migrate/todoist or todo.mydomain.de/api/v1/migrations/todoist/migrate like in the todoist app console.

I have difficulty even knowing what the issue is. The only Token I see in this process is the verification token in the todoist app console, which as far as I know is not used by vikunja?

What exactly does the redirect URL have to be (in both config.yml and todoist app console)?

PS: I just checked, I get this message for any api-link, even todo.mydomain.de/api/v1, so I am assuming there is an issue with reaching the api in general?

Thanks in advance for any help!

Nevermind …

I tried it again this morning with OAuth redirect = https://todo.mydomain.de/migrate/todoist and had turned off the option to “tell websites they should not sell or give my data” in firefox.
No idea which one made it work, but I ended up on the “Vikunja is now importing your lists…” screen.

As I wrote in the last post, the import starts. It unfortunately stops after importing inbox and the first two projects. This also happens, when trying again.

Welcome! :waving_hand:

Glad you found the solution to the migration url issue.

Is there anything in the logs from Vikunja on the server?

Hi Konrad!

So back when I first tried the following problem occured:

[creating structure] Error while creating structure: Bucket does not exist [BucketID: 56]
[Migration] Migration 2 from todoist for user 1 failed. Error was: Bucket does not exist [BucketID: 56]

Previously when the Buckets were created the following happened:

[creating structure] Creating 9 buckets
[creating structure] Created bucket 4, old ID was 4
Sending project created notifications to 0 subscribers for project 4
[creating structure] Created bucket 5, old ID was 16
[creating structure] Created bucket 6, old ID was 28
[creating structure] Created bucket 7, old ID was 44
[creating structure] Created bucket 8, old ID was 52
[creating structure] Created bucket 9, old ID was 56
[creating structure] Created bucket 10, old ID was 60
[creating structure] Created bucket 11, old ID was 67
[creating structure] Created bucket 12, old ID was 69

So the bucket 56 seems to have existed and then been renamed (?) to bucket 9?

This is reproducible when I try the migration again. Each time a bucket with a different number is created with “old ID was 56”.

Does this give you any hints?

Thank you for your help!

PS: Here are the full logs for creating the project in which the bucket creation fails:
(Actually from a run I just did, so different bucket numbers from above, but both happened the same way.)

▶ ac1f [creating structure] Created project 10
▶ ac20 [creating structure] Creating 9 buckets
▶ ac27 [creating structure] Created bucket 28, old ID was 4
▶ ac2a Sending project created notifications to 0 subscribers for project 10
▶ ac2f [creating structure] Created bucket 29, old ID was 16
▶ ac33 [creating structure] Created bucket 30, old ID was 28
▶ ac37 [creating structure] Created bucket 31, old ID was 44
▶ ac3b [creating structure] Created bucket 32, old ID was 52
▶ ac3f [creating structure] Created bucket 33, old ID was 56
▶ ac43 [creating structure] Created bucket 34, old ID was 60
▶ ac47 [creating structure] Created bucket 35, old ID was 67
▶ ac4b [creating structure] Created bucket 36, old ID was 69
▶ ac6b [creating structure] Creating 23 tasks
▶ ac7a [creating structure] Created task 265
▶ ac88 Did not find any webhook for the task.updated event for project 10, not sending
▶ ac9e [creating structure] Created task 266
▶ acae Did not find any webhook for the task.updated event for project 10, not sending
▶ acb5 [creating structure] Created new label 3
▶ acc8 Did not find any webhook for the task.updated event for project 10, not sending
▶ acd0 [creating structure] Associated task 266 with label 3
▶ acdf [creating structure] Created task 267
▶ acf6 Did not find any webhook for the task.updated event for project 10, not sending
▶ ad03 [creating structure] Created task 268
▶ ad19 Did not find any webhook for the task.updated event for project 10, not sending
▶ ad27 [creating structure] Created task 269
▶ ad36 Did not find any webhook for the task.updated event for project 10, not sending
▶ ad4b [creating structure] Created task 270
▶ ad61 Did not find any webhook for the task.updated event for project 10, not sending

The old id is the bucket in Todoist. The log output you’re seeing is about the mapping from the bucket in Todoist to Vikunja. That’s also why it’s a different id for the new bucket every time you run it.

Which version are you using? Does it work with an unstable build?

Hey Konrad, I am using v0.24.6.
I am administrating my server through yunohost which supplies prepackaged apps so I am not sure how I can try an unstable build. I will look into that.

Can I safely do a test import to try.vikunja (which runs the latest unstable build) with a newly registered user without exposing my data publicly? I probably wont get any logs there, right?