While I have not tested this on IOS I am getting this on desktop version. I am noticing this with MetaEdit plugin. This plugin automatically updates a frontmatter status in a file. This is being updated within the file, but both Bases AND Dataview are not updating to reflect the change. I can see the change within the file on disk, so the file is definitely being updated. If I rebuild the cache (Settings > File and Links > Rebuild Cache) then it updates as appropriate. Looking at the source code for MetaEdit it is using the app.vault.modify() API call so should be invalidating the cache file within Obsidian? This is also on 1.10.6.
SInce I could not edit the above…. After the cache has been cleared, I can move the card once, and it will be reflected in the Dataview / Bases. However after that it will not update again until the cache is rebuilt.
This is still happening in 1.11.4.
I have created a vault on githib which exhibits the issue for me. Can be downloaded from here: GitHub - gooseleggs/ObsidianKanbanIssue: This vault shows the issue with Obsidian Cache. This issue occurs on Windows and Linux so hopefully it is not me!
Also now uploaded a file. I have not fixed the links for Github as I tried to keep it as default out of the box as possible, in case it is a setting that is causing an issue.
@gooseleggs Thank you for proving the a sample vault. We generally do no look at vaults involving third-party plugins. In your case, I think the problem is metadata edit plugin.
I do not know how this option is implemented

Metadata edit seems to update the source file correctly but not change (or notify us of the change) the Obsidian’s internal index. For this, you need to open a BR with the metadata edit plugin. They need to investigate this matter and IF they think that there’s something wrong with our API, notify us.
Just to report back here on my findings thus far. This may be by design, or not. I have approached the maintainer of MetaEdit to investigate the issue. In the meantime, I have a fix/workaround that brings the functionality back.
The function that updates the frontmatter in the file (in MetaEdit) is/was
async updatePropertyInFile(property, newValue, file) {
// I'm aware this is hacky. Didn't want to spend a bunch of time rewriting old logic.
// This uses the new frontmatter API to update the frontmatter. Later TODO: rewrite old logic to just do this & clean.
if (property.type === MetaType.YAML) {
const updatedMetaData = `---\n${this.updateYamlProperty(property, newValue, file)}\n---`;
//@ts-ignore
const frontmatterPosition = this.app.metadataCache.getFileCache(file).frontmatterPosition;
const fileContents = await this.app.vault.read(file);
const deleteFrom = frontmatterPosition.start.offset;
const deleteTo = frontmatterPosition.end.offset;
const newFileContents = fileContents.substring(0, deleteFrom) + updatedMetaData + fileContents.substring(deleteTo);
await this.app.vault.modify(file, newFileContents);
return;
}
const fileContent = await this.app.vault.read(file);
const newFileContent = fileContent.split("\n").map(line => {
if (this.lineMatch(property, line)) {
return this.updatePropertyLine(property, newValue, line);
}
return line;
}).join("\n");
await this.app.vault.modify(file, newFileContent);
}
```
I have since modified it to be code to be:
async updatePropertyInFile(property, newValue, file) {
const fileContents = await this.app.vault.read(file);
app.fileManager.processFrontMatter(file, (frontmatter) => {
frontmatter[property.key] = newValue;
});
}
and this is working as expected. So, while the code I have written is using a newer API call (?), should the old still not work? That is, should/does `app.vault.modify()` invalidate frontmatter consistently when writing out pages?
I moved this to a separate thread since I don’t think it is related to what others are expiriencing.