Help me fix a YAML to Properties conversion error in hundreds of notes

What I’m trying to do

Here is the YAML front matter of a sample note from my Book Inventory in an Obsidian vault. Each book has a document, and each document has front matter structured like this. Note the Inventory: [[2022-08-10 Fri]] item in particular.

With v1.4, the Properties display – in the note, and in the sidebar – seems to have problems with the Inventory item. A) if flags Inventory as an issue, and (B) the bracketed data (i.e., the link) is put into quotes and made uneditable. This is an automated process – I did not make these changes but they occurred as soon as I updated Obsidian to v1.4.

Things I have tried

  1. I can select and cut the Inventory: item out of the YAML in each affected note, and then paste it as an inline field (Inventory::) into the body of the note or in a comment. This is time consuming.
  2. I can add a new text property and insert the journal date link into that property, for example:

  1. I can go into Source mode, and in each note change [[2022-08-19 Fri]] (and similar) to "[[2022-08-19]]", which Properties correctly recognizes as a link.

All of these are time consuming and there seems to be no global way to cleanse the data these ways.

What I would rather have.

I believe when Obsidian evaluates the property-type and values going forward, that it should recognize that a double-bracketed entry is “most likely” a link, and then accurate recognize the property as a text property with as the value.

Since I don’t have that, what I want to do

Find a way to correct the error in property assignment in hundreds of notes.

1 Like

Properties also messed up a lot of my vault, it is still super slow even after disabling community plugins for some reason…

I don’t know if this is a bug or working-as-designed, but it seems the logic that read YAML into Properties definition when updating to v1.4 looked at values such as [[2022-08-19 Fri]] and instead of putting the double quotes outside of the brackets, like "[[2022-08-19 Fri]]", it put them inside the brackets, which apparently is not parsable. Since global search and replace in Obsidian is not great, we cannot easily fix the data.

I’ve used Obsidian since the first week it was available in 2020, and this is the first time it has modified my data without warning. The data conversion to set up properties in 1.4.x seems to have lacked robust testing. I also see no apparent design rationale to assign type to properties, a decision that is the root of the problem I’ve experienced.

2 Likes

I bit the bullet and spent several hours combing through the vault and fixing the data that the properties automaton flagged as “errors”.

If you’ve used dataview this recognisition of the data has been this way all the time, so in that regard there is no conversion done. It’s more of an alignment and presentation within core Obsidian as to how it’s interpreted.

Double brackets within yaml are supposed to be a list within a list, so adding the visual clues of quotes at the single item in these double lists helps identify what has been an issue for multiple versions.

In my understanding 1.4’s properties are not converting or implying types, it merely recognises what they’re internally identified as according to yaml syntax.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.