v2.0.0-beta.2
Pre-release
Pre-release
·
10 commits
to main
since this release
Patch Changes
-
5ac65cc: Fix input defaults being silently dropped due to wire-casing mismatch.
The beta removed a global
camelcaseKeyspass (which had been corrupting value-list label keys), butnormalizeDefaultstill literal-matched the lowercaseinnerTreekey. Because thedefaultDataTree wrapper is serialized as PascalCase (ParamName/InnerTree) on every server branch — mcneel 8.x/9.x and the VektorNode Compute8 fork alike, sinceResthopper.IO.DataTreecarries no[JsonProperty]— the check never matched and every connected input default collapsed tonull(with anUnexpected structure in input.defaultwarning).- Add a case-insensitive
readField/hasFieldwire-field reader (@/core/utils/read-field). - Read the
defaultwrapper (innerTree) and item fields (data/type) case-insensitively, so defaults parse correctly regardless of server-branch casing without re-introducing the label-mangling global camelCase pass. - Surface a genuinely unrecognized default shape (no tree key at all) as a client-visible
MALFORMED_DEFAULTentry inparseErrorsinstead of only logging a server-side warning — so a dropped default is observable on both client and server rather than vanishing silently. - Add regression tests pinning the real PascalCase wire shape, including a guard that a non-empty tree default can never silently become
null.
- Add a case-insensitive