Mesh SDK v0.27.0 React Native DataStore.setInterest JSDoc instructs callers to set interests before protocol.start(), but the native store is initialized during startup.
Evidence: bindings/react-native/src/index.ts setInterest forwards directly to dataSetInterest. The startup path initializes DataStore (around lines 1054–1058). bindings/react-native/ios/OfflineProtocolModule.swift dataSetInterest requires the initialized store and otherwise throws “DataStore not initialized” (around lines 877 and 1907). There is no pre-start pending-interest application implemented by this JS method.
The docs now instruct React Native callers to call setInterest immediately after start() resolves, on every launch, and explicitly correct the generated prose while retaining the released signatures.
Please align JSDoc with runtime ordering, or implement and qualify a pre-start caching contract across supported bindings. Validate lifecycle order, restart/reapplication and any initial replication window before application interests are applied. Document actual behavior rather than relying on a TypeScript compile test.
Any public SDK PR should include a complete fix description, validation evidence and effects on currently deployed first-party/third-party apps. No SDK implementation was changed by this docs fix.
Android confirmation
The same initialization guard exists on Android in v0.27.0: bindings/react-native/android/src/main/java/com/offlineprotocol/OfflineProtocolModule.kt, lines 1982–1984, starts dataSetInterest with val store = dataStore ?: throw IllegalStateException("DataStore not initialized"). This is source-confirmed on both native platforms; no hardware test is claimed. Lifecycle validation for a fix must cover Android as well as iOS.
Mesh SDK v0.27.0 React Native DataStore.setInterest JSDoc instructs callers to set interests before protocol.start(), but the native store is initialized during startup.
Evidence: bindings/react-native/src/index.ts setInterest forwards directly to dataSetInterest. The startup path initializes DataStore (around lines 1054–1058). bindings/react-native/ios/OfflineProtocolModule.swift dataSetInterest requires the initialized store and otherwise throws “DataStore not initialized” (around lines 877 and 1907). There is no pre-start pending-interest application implemented by this JS method.
The docs now instruct React Native callers to call setInterest immediately after start() resolves, on every launch, and explicitly correct the generated prose while retaining the released signatures.
Please align JSDoc with runtime ordering, or implement and qualify a pre-start caching contract across supported bindings. Validate lifecycle order, restart/reapplication and any initial replication window before application interests are applied. Document actual behavior rather than relying on a TypeScript compile test.
Any public SDK PR should include a complete fix description, validation evidence and effects on currently deployed first-party/third-party apps. No SDK implementation was changed by this docs fix.
Android confirmation
The same initialization guard exists on Android in v0.27.0:
bindings/react-native/android/src/main/java/com/offlineprotocol/OfflineProtocolModule.kt, lines 1982–1984, startsdataSetInterestwithval store = dataStore ?: throw IllegalStateException("DataStore not initialized"). This is source-confirmed on both native platforms; no hardware test is claimed. Lifecycle validation for a fix must cover Android as well as iOS.