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
fix(vba): strip a UTF-8 BOM before parsing Dysflow JSON artifacts
`.json` is not in VBA_FAMILY_RE, so test manifests and test sequences are
read with a plain utf-8 readFile and never pass through readVbaSource,
which is what strips the BOM for the rest of the VBA family. Node keeps
the mark as a leading \uFEFF and JSON.parse rejects it, so a
BOM-carrying manifest produced no file node and no vba-test-manifest
references at all — only a warning-severity parse error. PowerShell 5.1
writes that BOM by default for -Encoding UTF8, so hand-edited manifests
hit this routinely on Windows.
Add stripJsonBom in a dedicated json-source module and apply it in both
extractors. It is deliberately not folded into vba-source.ts: JSON is
UTF-8 by specification, so the CP1252 fallback there would accept a
mis-encoded manifest as silently wrong data instead of failing loudly.
Malformed JSON still reports the same warning-severity parse_error, and
a BOM does not carry a wrong-shaped document past the content gates.
Refs #316
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
13
13
14
14
- Fork documentation now describes v1.17.1 capabilities and pins the integrated upstream v1.4.1 lineage, replacing stale version, feature-parity, and implementation-plan claims. (#312)
15
15
- Dysflow exports are no longer read twice. Every form and report layout, test manifest and test sequence was being parsed once by the VBA dispatcher and again by the Dysflow framework hook, which made a full index do double the work on those files and left duplicate pending references behind. Turning Dysflow expansion off with `vba.dysflowExport: false` is also honoured again in every case. (#314)
16
+
- A test manifest or test sequence saved with a UTF-8 byte-order mark is read correctly again. Until now such a file was rejected outright, so every test it registered quietly vanished from the graph with nothing but a warning to show for it — and on Windows that mark is what PowerShell writes by default. (#316)
0 commit comments