Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Current Issues #13

Open
12 of 19 tasks
Heiss opened this issue Aug 1, 2024 · 6 comments
Open
12 of 19 tasks

Current Issues #13

Heiss opened this issue Aug 1, 2024 · 6 comments
Assignees

Comments

@Heiss
Copy link
Owner

Heiss commented Aug 1, 2024

date 1.8. v1.0.12

  • again labels bugged -.- multiple labels created sometimes.
    • because of a bug, tasks could be have the same labeltitle duplicated, so my current approach does not fix this
  • add a dedup labels command, so if it goes south next time, it can be fixed manually
  • insufficient permissions not communicated to users
  • preparation for multi-user usage
  • Command Reset instance cannot handle tasks without an id, so it fails, if there are mixed tasks, which are (not) synced. f6f2884
  • there is a timerace between changes and dataview indexing, which results in outdated results in request dbf7507

date 8.8. v1.0.14

  • skip tasks, if the updated value is the same, otherwise unneeded update requests are done - was already there
  • removing tasks in vikunja, if they are not present in obsidian does not work e552cc1
    • remove the correspondig setting, because with the cache we now know what task was deleted since last time, because a task is only in cache, if it got a taskId, so we can keep track
  • plugin does not get all tasks over the serverside limit 4cf8876
    • because of performance and request limits, it needs requests in batches.
  • at first sync, it creates some tasks multiple times in vault, which is clutter and maybe something is broken
    • maybe dataview returns the same task multiple times, if it has subpoints or subtasks?
  • add command to reindex the cache. a918fb3
    • This will use the last modified date as updated field. But this is better then broken cache.

date 9.8. v1.0.16

date 14.8. v.1.0.17

  • update on cursor movement does not work, if there is no id in the line found
    • it should create a new task and work exactly the same as sync, but for only one task
  • sync of a preexisting vault does take some minutes
    • would be better with an option only to sync not completed tasks to vikunja instead of all

date 20.8. v.1.0.20

@3m0W33D
Copy link

3m0W33D commented Aug 4, 2024

Hi so after playing with it on my end I got some really weird workings on it. Let me give a few scenarios that better explain this weird behaviour I got.

Scenario 1:

  1. Create Task A on Vikunja/Obsidian
  2. Run Sync in Obsidian Task A added to Obsidian/Vikunja
  3. Mark Task A as done on Vikunja
  4. Run Sync again on Obsidian
  5. Task A is shown to have completed in Obsidian

Scenario 2:

  1. Create Task A and B on Vikunja/Obsidian
  2. Run Sync in Obsidian Task A and B added to Obsidian/Vikunja
  3. Mark Task A as done on Vikunja
  4. Run Sync again on Obsidian
  5. Task A becomes marked as not done on Vikunja

Scenario 3:

  1. Create Task A and B on Vikunja/Obsidian
  2. Run Sync in Obsidian Task A and B added to Obsidian/Vikunja
  3. Mark Task A as done on Obsidian
  4. Run Sync again on Obsidian
  5. Task A becomes marked as done on Vikunja

Scenario 4:

  1. Create Task A on Vikunja/Obsidian
  2. Run Sync in Obsidian Task A and B added to Obsidian/Vikunja
  3. Close Obsidan and Reopen(I have the sync on startup enabled)
  4. Mark Task A as done on Vikunja
  5. Run Sync again on Obsidian
  6. Task A becomes marked as not done on Vikunja

While the caching works, I realise it only works for the latest task added and only one task can be added. Any more than that apparently it would prioritize obsidian and overwrite Vikunja which is weird.
Save cache to disk frequency is set to 1 for the above scenario
Also my local system, is set to same region as Vikunja (so the time should be in sync)
System OS: Windows
I cant seem to find a way for my Vikunja to sync changes down to obsidian when I haven't touch obsidian note at all(internally or externally). Hope my testing helps!
Cheers!

@Heiss
Copy link
Owner Author

Heiss commented Aug 8, 2024

Okay after some investigations, i found a lot of errors. :) So, i releasing now a new version, which fixes issues in:

  • sync with caching, should now handle your scenarios correctly @3m0W33D
  • update on startUp is mostly the same as sync now
  • sync task status on checkbox click
  • save cache to disk asap after changes were made, but it can be configured when performance is an issue, so in settings you can switch between "ASAP" or "INTERVAL" for writing cache to disk
  • update task on line change works now with cache

Most of your described issues comes from a problem with dataview and it's own index, which must be rebuilt after task changes, but it does not take effect immediatily, so my plugin needs to wait for this. In the meantime the plugin pulls tasks from vikunja and starts syncing ASAP after dataview index-rebuild is done.

@3m0W33D
Copy link

3m0W33D commented Aug 9, 2024

Thanks for helping to investigate, I checked notice another new weird corner case for me.

Scenario 5:

  • Create Task A and B on Vikunja/Obsidian
  • Run Sync in Obsidian, Task A and B added to Obsidian/Vikunja
  • Mark Task A as done on Vikunja
  • Run Sync again on Obsidian
  • Task A becomes marked as done in Obsidian (yay! this works!)
  • Mark Task B as done on Vikunja
  • Run Sync again on Obsidian
  • Task B becomes marked as not done in Vikunja

Scenario 6:

  • Create Task A and B on Vikunja/Obsidian
  • Run Sync in Obsidian, Task A and B added to Obsidian/Vikunja
  • Mark Task A and B as done on Vikunja
  • Run Sync again on Obsidian
  • Task A and B becomes marked as done in Obsidian (yay! this works!)

I am not too clear but it seems that if tasks are done sequentially, after the first update of the markdown in obsidian, it will treat obsidian as the more updated one and overwrite any updates from vikunja. (This is just my theory)

@Heiss
Copy link
Owner Author

Heiss commented Aug 9, 2024

I cannot reproduce your scenario 5 on my side. If you want faster status sync, use the option in settings to do so. It is faster then a complete sync. :)
I found an issue with getting all tasks from vikunja, but should now be fixed. Maybe this was the reason for your scenario?

edit:
Okay, i found an issue, what could result in your scenario 5. I am trying to fix it ASAP.

edit2:
should be fixed by now, but i will wait with releasing a new version. I want to fix the issue with duplicated labels once and for all.

@Heiss
Copy link
Owner Author

Heiss commented Aug 13, 2024

I pushed a new version, but had no time to fix duplicated labels.

@3m0W33D
Copy link

3m0W33D commented Aug 16, 2024

Weird I am still getting the same result as in this post

Thanks for helping to investigate, I checked notice another new weird corner case for me.

Scenario 5:

  • Create Task A and B on Vikunja/Obsidian
  • Run Sync in Obsidian, Task A and B added to Obsidian/Vikunja
  • Mark Task A as done on Vikunja
  • Run Sync again on Obsidian
  • Task A becomes marked as done in Obsidian (yay! this works!)
  • Mark Task B as done on Vikunja
  • Run Sync again on Obsidian
  • Task B becomes marked as not done in Vikunja

Scenario 6:

  • Create Task A and B on Vikunja/Obsidian
  • Run Sync in Obsidian, Task A and B added to Obsidian/Vikunja
  • Mark Task A and B as done on Vikunja
  • Run Sync again on Obsidian
  • Task A and B becomes marked as done in Obsidian (yay! this works!)

I am not too clear but it seems that if tasks are done sequentially, after the first update of the markdown in obsidian, it will treat obsidian as the more updated one and overwrite any updates from vikunja. (This is just my theory)

@Heiss Heiss changed the title Issues with tag 1.0.12 Current Issues Aug 20, 2024
@Heiss Heiss pinned this issue Aug 20, 2024
@Heiss Heiss self-assigned this Aug 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants