You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since 1.4.7, a VIEW[...][math:...] field that references a frontmatter property which isn't yet defined now renders blank instead of treating the missing input as 0. This appears to be a side-effect of the change in #652 ("Fixed unnecessary updates for dependent view fields during initialization"), which removed the cascading re-evaluation that previously masked the issue.
Minimal repro
Create a new note with this frontmatter:
---
a: 5total: 0
---
And this body:
VIEW[{a} + {b}][math:total]
b is intentionally not declared in frontmatter.
Expected (≤1.4.6 behaviour): the field renders 5 (b coerced to 0), and total updates to 5. Actual (1.4.7–1.4.9): the field renders blank, and total is not updated.
Real-world impact
Templates that chain math fields — e.g. line-item totals → subtotal → GST → grand total — break when any single referenced property is missing from the host note's frontmatter. The break cascades: every downstream field also goes blank, even though their own inputs would otherwise resolve. This affects any project that uses meta-bind-embed to pull in a shared math template, since the embedded template's frontmatter defaults aren't inherited by the host note.
Current workaround
Pre-seed every property referenced by every math expression in the host note's frontmatter (payment_fee: 0, gst_storage: 0, etc.). Painful for large existing vaults.
Please fill out these Check-boxes
Plugin Version
1.4.9
This Issue Occurs on
Debug Info
Describe the Issue
Plugin version: 1.4.9
Obsidian version: 1.12.7 (Installer 1.12.7)
OS: macOS 15 (Darwin 24.6)
Summary
Since 1.4.7, a
VIEW[...][math:...]field that references a frontmatter property which isn't yet defined now renders blank instead of treating the missing input as 0. This appears to be a side-effect of the change in #652 ("Fixed unnecessary updates for dependent view fields during initialization"), which removed the cascading re-evaluation that previously masked the issue.Minimal repro
Create a new note with this frontmatter:
And this body:
VIEW[{a} + {b}][math:total]bis intentionally not declared in frontmatter.Expected (≤1.4.6 behaviour): the field renders
5(b coerced to 0), andtotalupdates to5.Actual (1.4.7–1.4.9): the field renders blank, and
totalis not updated.Real-world impact
Templates that chain math fields — e.g. line-item totals → subtotal → GST → grand total — break when any single referenced property is missing from the host note's frontmatter. The break cascades: every downstream field also goes blank, even though their own inputs would otherwise resolve. This affects any project that uses
meta-bind-embedto pull in a shared math template, since the embedded template's frontmatter defaults aren't inherited by the host note.Current workaround
Pre-seed every property referenced by every math expression in the host note's frontmatter (
payment_fee: 0,gst_storage: 0, etc.). Painful for large existing vaults.Possible fixes
0at the math evaluator boundary (mathjs doesn't tolerate undefined inputs){field ?? 0}or{field | 0}) so users can opt in defensivelyHappy to test any patch against my real templates if useful.
Related: #652