github johnsoncodehk/typescript-native-bridge v6.0.3-bridge.16.tsgo.7.0.2

4 hours ago

Crash fixes for three tsserver-killing Go panics, plus the gates that close the bug class.

Fixes

  • Go panic on cloned tuple references (#69, #70) — Type.ThisType gated on objectFlags, but flags travel with clones while the data shape doesn't: a cloned tuple reference carries ObjectFlags.Tuple with *TypeReference data, so AsInterfaceType().thisType nil-deref'd the process. Gates on the data shape now.
  • Go panic on symbol-less type declarations (#71) — tryGetDeclaredTypeOfSymbol nil-deref'd on declarations with no symbol; returns the error type (stock behavior).
  • Same-class sweep — the symbol walker's interface visit and the override-status accessor carried the same shape assumption; both guard on the actual data shape now.

Gates closing the bug class

  • check:go-as-guards — static: every Type.As*() chained deref and unguarded nil-family assignment in the tsgo patches/overlay is guarded or carries a verified inline asguard:exempt reason (16 sites, each checked against the constructors).
  • triage-checker-fullwalk — dynamic: the checker-API stock differential walks every corpus node with a 14-field lazy-accessor closure per type (the reads that fire the Go casts), one tnb child per corpus file so a panic is collected per file instead of hiding the rest, and a coverage gate so no RPC method ships unwalked.
  • Shape census — the corpus provably produces every structural TypeFlags/ObjectFlags bit on both engines; cast outcomes are shape-pure, so every (RPC method × data shape) pair is exercised per CI run.

Full Changelog: v6.0.3-bridge.15.tsgo.7.0.2...v6.0.3-bridge.16.tsgo.7.0.2

Don't miss a new typescript-native-bridge release

NewReleases is sending notifications on new releases.