Desktop: Fixes #7782: Markdown + Front Matter export fails when tag(s) lost #7820
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #7782
Problem:
When the remote Tag that was associated with a Note is deleted and the client tries to synchronize, during the 'delta process' the original Tag is deleted, but the NoteTag records that are associated with it are left untouched.
When we try to export to the Markdown + Front Matter this Note would end up associated with a tag with the value
undefined
(because the only record that still exists is on the NoteTag table, there isn't any tag name to be used on the export) which is not supported by default by thejs-yaml
library.Implementation
The best solution here would probably be to fix the synchronization process, but for now, I added a workaround for the export.
Testing
I added one test, to see the changes, you can run the test over the first commit and see the error being thrown by the third-party library.