franciskafieh / obsidian-list-modified

🪨 The advanced and adaptive changelog for Obsidian. Links all modified files meeting certain criteria to a timed (daily, weekly, monthly) note.
MIT License
85 stars 7 forks source link

[BUG] 2.0 Beta - previously created links in today's note deleted on upgrade #49

Closed Triquetra closed 1 year ago

Triquetra commented 1 year ago

First Steps

Describe the bug

I deactivated and uninstalled 1.3.3 and installed 2.0 via BRAT. At some point in that process (presumably on activation of 2.0), the existing list created by 1.3.3 was deleted in its entirety. It's not a huge deal if it only happens once on upgrade, but definitely something to be aware of.

Expected behaviour

existing links created by previous version should remain in current daily note file

Reproducing

My setup

Steps to reproduce bug

Can you pinpoint when/why this bug happens?

Additional info?

franciskafieh commented 1 year ago

Thanks for the report! I'll try to make a method to copy the previous edits to a new file. It might be too much of a pain to transfer every single link over, since it's only a day's worth of links.

franciskafieh commented 1 year ago

Should be fixed in 2.0.1

franciskafieh commented 1 year ago

Hold up, github is screwing me over with these releases.... lol Fixed

Triquetra commented 1 year ago

I'm not sure the method of your solution, but one way I would suggest would be to have the plugin read all the current links under the heading specified in the plugin and add them to the plugin's tally of files modified for the day. That would solve the issue and allow the plugin to avoid duplicates without needing to write the info to a separate file. This would make both future upgrades and Obsidian program restarts trivial because you know that for any given day the plugin will take into account whatever had already been recorded.

Just a thought.

franciskafieh commented 1 year ago

I'm not sure the method of your solution, but one way I would suggest would be to have the plugin read all the current links under the heading specified in the plugin and add them to the plugin's tally of files modified for the day. That would solve the issue and allow the plugin to avoid duplicates without needing to write the info to a separate file. This would make both future upgrades and Obsidian program restarts trivial because you know that for any given day the plugin will take into account whatever had already been recorded.

Just a thought.

Now that i have a solution for 2.0 that will probably never need to change, future updates should not get rid of your listed notes. Program restarts are also not an issue as updated notes are persisted to disk (plugin's data.json.) This is just a quick and dirty solution that should only apply for 1.3.3 -> 2.0

Triquetra commented 1 year ago

Got it. I just tried it, and it backed up my daily note. I suppose in order to keep that data, one needs to put it under a different heading in the original daily note. I tried to add the backed-up data to the original daily note under the heading watched by this plugin, but the backed-up data got deleted when I modified another note.

You will probably want to add to the documentation that data not created by this plugin under the specified heading will be deleted.

franciskafieh commented 1 year ago

You will probably want to add to the documentation that data not created by this plugin under the specified heading will be deleted.

Yeah, I'm going to be moving the README to docs for 2.0 when I release it

franciskafieh commented 1 year ago

Also see #48

franciskafieh commented 1 year ago

new migration-safe method added in release 2.0.2