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
feat: HBC delta-friendly transform for Hermes bundle diffs (hbcTransform)
Adds src/utils/hbcTransform.ts: a data-driven, version-branch-free
interpreter that forward-differences the absolute-offset tables in Hermes
bytecode (functionHeaders, smallStringTable, overflowStringTable, etc.),
so whole-table shifts collapse to single-point changes in the diff domain.
Layout descriptors cover HBC v87-96 and both v98 header variants (Static
Hermes inserted numStringSwitchImms without bumping the version; variants
are resolved structurally). The descriptor used is embedded in
__diff.json as wire-format metadata, so clients interpret rather than
track Hermes versions.
hdiff gains an opt-in --hbcTransform flag (default off until client SDK
support ships): dual-candidate pick-min (baseline vs transformed +
metadata overhead), 64KB baseline pruning, and a local
T(old)->hpatch->T-inverse round-trip self-check — the transformed patch
is only emitted when strictly smaller and provably restorable.
Production replay on real update pairs (v89/94/96/98): 35/35 transformed,
zero invertibility failures, median 21.9% patch-size reduction in the
ppk-to-ppk fan-out segment.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: src/locales/en.ts
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -183,6 +183,10 @@ This can reduce the risk of inconsistent dependencies and supply chain attacks.
183
183
diffPackageGenerated: '{{- output}} generated.',
184
184
nodeHdiffpatchRequired:
185
185
'This function needs "node-hdiffpatch". Please run "{{scriptName}} install node-hdiffpatch" to install',
186
+
hbcTransformRoundTripFailed:
187
+
'HBC transform round-trip verification failed; falling back to plain diff.',
188
+
hbcTransformNeedsPatch:
189
+
'hbcTransform requires patch support from node-hdiffpatch; option ignored.',
186
190
apkExtracted: 'APK extracted to {{output}}',
187
191
composeSourceMapsNotFound:
188
192
'Cannot find react-native/scripts/compose-source-maps.js, skipping hermes sourcemap composing. The uploaded sourcemap may not match the compiled bundle.',
0 commit comments