react-native-acoustic-connect-beta 19.0.24 → 19.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## 19.0.26 (2026-09-11)
2
+
3
+ ### Reverts
4
+
5
+ * Revert "Beta ReactNativeConnect build: 18.0.36" ([609ad7d](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/commit/609ad7d3244ec06f27dced5864d40585c5b3c9cf))
6
+ ## 19.0.25 (2026-09-11)
7
+
8
+ ### Reverts
9
+
10
+ * Revert "Beta ReactNativeConnect build: 18.0.36" ([609ad7d](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/commit/609ad7d3244ec06f27dced5864d40585c5b3c9cf))
1
11
  ## 19.0.24 (2026-09-11)
2
12
 
3
13
  ### Reverts
package/README.md CHANGED
@@ -473,23 +473,22 @@ const pageView: SignalValues = {
473
473
  AcousticConnectRN.logSignal(pageView, 1)
474
474
  ```
475
475
 
476
- > **Android: send numbers nested, not at the top level.** The Android SDK's
477
- > signal serializer carries strings, booleans, objects and arrays at the top
478
- > level of the payload but drops a top-level numeric value. Numbers nested
479
- > inside an object or array are unaffected. iOS carries top-level numbers
480
- > normally, so put numbers one level down when you need both platforms to agree:
476
+ > **Android: top-level numbers need Connect Android 11.0.24-beta or newer.**
477
+ > Android's signal serializer gained a number branch in Connect Android
478
+ > **11.0.24-beta**; from that version a top-level numeric value is carried, the
479
+ > same as on iOS. Earlier versions carried strings, booleans, objects and arrays
480
+ > at the top level but dropped a top-level number. Numbers nested inside an
481
+ > object or array were never affected on either platform.
482
+ >
483
+ > Both versions sit inside the `[11.0.11, 12.0.0)` range this package accepts,
484
+ > and the Android dependency floats to the newest published build unless you pin
485
+ > it, so most integrations get the new behaviour. Nest the number if you pin an
486
+ > older one:
481
487
  >
482
488
  > ```ts
483
- > AcousticConnectRN.logSignal({ cart: { items: 3 } }, 1) // both platforms
484
- > AcousticConnectRN.logSignal({ items: 3 }, 1) // iOS only
489
+ > AcousticConnectRN.logSignal({ cart: { items: 3 } }, 1) // any supported version
490
+ > AcousticConnectRN.logSignal({ items: 3 }, 1) // iOS, + Android 11.0.24-beta and newer
485
491
  > ```
486
- >
487
- > The Android bridge logs a warning naming the keys the SDK is about to
488
- > discard, so the loss shows up in `logcat` instead of only in a dashboard
489
- > that never fills in. It does not coerce the value: making the number survive
490
- > as a JSON string would replace a missing field with a differently-typed one
491
- > and diverge from iOS in a new way. The fix belongs in the Android SDK's
492
- > serializer.
493
492
 
494
493
  ### `AcousticConnectRN.logCustomEvent(eventName, values, level): boolean`
495
494
 
@@ -758,7 +757,21 @@ instead — each call captures the layout as it stands at that moment.
758
757
  Leaving the block out entirely gives you 500 ms as well. That is the wrapper's
759
758
  default, chosen so both platforms behave the same; the native SDKs' own bundled
760
759
  defaults differ from each other and are tuned for the lifecycle trigger rather
761
- than the React Navigation one.
760
+ than the React Navigation one. Internally, omitting the second argument to
761
+ `TLTRN.logScreenLayout` sends a sentinel (`-1`) that both bridges resolve to
762
+ this configured value; any value the caller passes explicitly (`>= 0`) is used
763
+ as-is instead, bypassing the config lookup for that one call.
764
+
765
+ A near-zero value is not a request for faster captures. On iOS the
766
+ auto-instrumentation capture is triggered off the view-controller lifecycle,
767
+ and a delay close to `0` lets that trigger re-fire against the same screen far
768
+ faster than the app can settle — hundreds of captures within a couple of
769
+ hundred milliseconds while the app just sits idle, rather than one per actual
770
+ transition. The visible symptom is a runaway capture loop: a "Refreshing…"
771
+ indicator that stays up continuously instead of the brief one after a normal
772
+ transition. The SDK enforces no floor on this value, so `1` (millisecond) is
773
+ accepted and is exactly what produces the loop. Keep `CaptureLayoutDelay` at
774
+ `500` or raise it per screen — never lower it toward `0`.
762
775
 
763
776
  #### Where screen-view and layout messages come from, and how to reduce duplicates
764
777
 
@@ -1,4 +1,4 @@
1
- #Fri Sep 11 08:15:03 GMT 2026
1
+ #Fri Sep 11 16:19:04 GMT 2026
2
2
  UseWhiteList=true
3
3
  PrintScreen=3
4
4
  UseRandomSample=false
@@ -1481,35 +1481,26 @@ class HybridAcousticConnectRN : HybridAcousticConnectRNSpec(),
1481
1481
  *
1482
1482
  * The rebuild is mandatory, not cosmetic. The SDK serializes the signal
1483
1483
  * through EOCore's `JsonUtil.getHashValues`, which walks the top-level
1484
- * entries and accumulates only `String`, `Boolean`, `JSONObject`,
1485
- * `JSONArray` and `ByteArray` — anything else is **silently dropped**. So
1486
- * a nested `Map`/`List` handed over as-is would vanish from the emitted
1487
- * signal without any error. Converting here is what makes nested payloads
1488
- * survive the wire.
1484
+ * entries and accumulates only `String`, `Boolean`, `Number` (from Connect
1485
+ * Android 11.0.24-beta), `JSONObject`, `JSONArray` and `ByteArray` —
1486
+ * anything else is **silently dropped**. So a nested `Map`/`List` handed
1487
+ * over as-is would vanish from the emitted signal without any error.
1488
+ * Converting here is what makes nested payloads survive the wire.
1489
1489
  *
1490
1490
  * `null` becomes [JSONObject.NULL] rather than a Kotlin `null`, which
1491
1491
  * `org.json` requires for an explicit JSON `null`.
1492
1492
  *
1493
- * Known limitation: a **top-level** numeric value is still dropped, and
1494
- * cannot be rescued from here. `Signal.getJSON()` serializes the payload
1495
- * through EOCore's `JsonUtil.getHashValues`, whose `instanceof` ladder has
1496
- * no `Number` branch, so the entry is skipped with no error. Numbers nested
1497
- * inside an object or array are unaffected the enclosing
1498
- * [JSONObject]/[JSONArray] is built here, so `org.json` serializes them
1499
- * normally. iOS carries top-level numbers fine; this is an SDK-side
1500
- * asymmetry, pre-dating this conversion.
1501
- *
1502
- * Two non-fixes, so they are not attempted again: coercing the number to a
1503
- * [String] would make it survive as a JSON string, diverging from iOS's
1504
- * JSON number in a *new* way and silently changing the shape of data
1505
- * already-shipping clients receive; and there is no `org.json` wrapper that
1506
- * `getHashValues` accepts and that serializes as a bare number, so the
1507
- * shape cannot be preserved either. The real fix is a `Number` branch in
1508
- * `getHashValues` (Android SDK).
1509
- *
1510
- * What this method does do is [warnAboutDroppedTopLevelNumbers] — name the
1511
- * keys the SDK is about to discard, so the loss is visible in logcat
1512
- * instead of silent.
1493
+ * Version boundary **top-level** numbers. `getHashValues` gained a
1494
+ * `Number` branch in Connect Android 11.0.24-beta and accumulates the boxed
1495
+ * value as-is, so a top-level number now reaches the wire. On earlier builds
1496
+ * its `instanceof` ladder had no such branch, the entry was skipped with no
1497
+ * error, and nothing here could rescue it. Numbers nested inside an object
1498
+ * or array were never affected — the enclosing [JSONObject]/[JSONArray] is
1499
+ * built here, so `org.json` serializes them normally and iOS has always
1500
+ * carried top-level numbers. Both sides of the boundary sit inside the
1501
+ * `[11.0.11, 12.0.0)` range this bridge accepts, so an integration pinning
1502
+ * an older Connect version still sees the old behaviour; nesting a number
1503
+ * is portable across the whole range.
1513
1504
  *
1514
1505
  * A [JSONException] aborts the whole payload rather than escaping to the
1515
1506
  * caller. Non-finite numbers are the case that raises it: `org.json`
@@ -1536,44 +1527,9 @@ class HybridAcousticConnectRN : HybridAcousticConnectRNSpec(),
1536
1527
  Log.w(TAG, "[bridge] logSignal payload is not representable as JSON — dropping it: ${e.message}")
1537
1528
  return HashMap()
1538
1529
  }
1539
- warnAboutDroppedTopLevelNumbers(map)
1540
1530
  return map
1541
1531
  }
1542
1532
 
1543
- /**
1544
- * Logs a warning naming the top-level numeric keys that the SDK's signal
1545
- * serializer will discard (see [toSignalPayload] for why it does).
1546
- *
1547
- * The point is purely to stop the loss being silent. Before this, a JS
1548
- * `logSignal({ orderTotal: 24.99 })` returned `true`, emitted a type-21
1549
- * message, and simply had no `orderTotal` in it — indistinguishable, from
1550
- * the caller's side, from a signal that arrived intact. The same call on
1551
- * iOS carries the value, so a cross-platform dashboard shows the metric
1552
- * populated on one platform and empty on the other with nothing anywhere
1553
- * to explain it.
1554
- *
1555
- * Iterates the already-converted map so it reflects exactly what is handed
1556
- * to the SDK. Booleans and strings are not mentioned: `getHashValues`
1557
- * accumulates both.
1558
- *
1559
- * @param payload The converted payload, as returned to `logSignal`.
1560
- */
1561
- private fun warnAboutDroppedTopLevelNumbers(payload: Map<String?, Any?>) {
1562
- val dropped = payload.entries
1563
- .filter { it.value is Number }
1564
- .mapNotNull { it.key }
1565
- if (dropped.isEmpty()) {
1566
- return
1567
- }
1568
- Log.w(
1569
- TAG,
1570
- "[bridge] logSignal: top-level numeric value(s) ${dropped.sorted()} will be dropped by the " +
1571
- "Android SDK's signal serializer, which accumulates only strings, booleans and nested " +
1572
- "JSON. iOS sends them. Nest the value under an object to carry it on both platforms, " +
1573
- "e.g. { cart: { total: 24.99 } } instead of { total: 24.99 }."
1574
- )
1575
- }
1576
-
1577
1533
  /**
1578
1534
  * Recursive helper for [toSignalPayload]. Maps Kotlin containers onto their
1579
1535
  * `org.json` equivalents and leaves scalars alone.
@@ -1603,12 +1559,15 @@ class HybridAcousticConnectRN : HybridAcousticConnectRNSpec(),
1603
1559
  for (element in value) put(toJsonValue(element))
1604
1560
  }
1605
1561
  // Checked here rather than left to `org.json`. A non-finite number
1606
- // nested in an object or array would be rejected by that container's
1562
+ // nested in an object or array is rejected by that container's
1607
1563
  // `put`, but a TOP-LEVEL one is only ever handed to `HashMap.put`,
1608
1564
  // which accepts anything — so without this the payload would reach
1609
- // the SDK and lose just that one key, while the nested case loses
1610
- // the whole payload. Raising it uniformly keeps the two consistent
1611
- // and matches iOS, where one non-finite value fails
1565
+ // the SDK, and what happened there would depend on the resolved
1566
+ // Connect version: before 11.0.24-beta it lost just that one key
1567
+ // while the nested case lost everything; from 11.0.24-beta the
1568
+ // SDK's own `Number` branch rejects it and drops the whole payload.
1569
+ // Raising it here keeps the two cases consistent across the
1570
+ // supported range and matches iOS, where one non-finite value fails
1612
1571
  // `isValidJSONObject:` for the entire signal.
1613
1572
  is Double -> if (value.isFinite()) {
1614
1573
  value
@@ -179,16 +179,17 @@ export interface AcousticConnectRN extends HybridObject<{
179
179
  * logcat / os_log.
180
180
  *
181
181
  * @remarks
182
- * **Android limitation — top-level numbers.** The Android SDK's
183
- * `JsonUtil.getHashValues` serialises only `String`, `Boolean`,
182
+ * **Android version boundary — top-level numbers.** The Android SDK's
183
+ * `JsonUtil.getHashValues` gained a `Number` branch in Connect Android
184
+ * **11.0.24-beta**, so from that version a top-level numeric value is
185
+ * carried. Earlier versions serialised only `String`, `Boolean`,
184
186
  * `JSONObject`, `JSONArray` and `byte[]` at the top level of the signal
185
- * map; a top-level numeric value is dropped. Numbers nested *inside* an
186
- * object or array are unaffected, because the bridge builds those
187
- * `JSONObject`/`JSONArray` values itself. iOS carries top-level numbers
188
- * normally. Send numbers inside a nested object when cross-platform
189
- * parity matters. This is a pre-existing SDK-side gap, not a
190
- * restriction of this bridge the Android bridge now names the affected
191
- * keys in a logcat warning so the loss is not silent.
187
+ * map and dropped a top-level number. Numbers nested *inside* an object
188
+ * or array were never affected, because the bridge builds those
189
+ * `JSONObject`/`JSONArray` values itself, and iOS has always carried
190
+ * top-level numbers normally. Both versions sit inside the
191
+ * `[11.0.11, 12.0.0)` range this package accepts, so nest the number if
192
+ * your integration pins a Connect Android version below 11.0.24-beta.
192
193
  *
193
194
  * @example Nested payload
194
195
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-acoustic-connect.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/react-native-acoustic-connect.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-native-acoustic-connect.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/react-native-acoustic-connect.nitro.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -233,7 +233,7 @@
233
233
  "source": "src/index",
234
234
  "summary": "react-native ios android tealeaf connect cxa wxca er enhanced-replay",
235
235
  "types": "./lib/typescript/src/index.d.ts",
236
- "version": "19.0.24",
236
+ "version": "19.0.26",
237
237
  "workspaces": [
238
238
  "example",
239
239
  "Examples/bare-workflow"
@@ -197,16 +197,17 @@ export interface AcousticConnectRN extends HybridObject<{ ios: 'swift', android:
197
197
  * logcat / os_log.
198
198
  *
199
199
  * @remarks
200
- * **Android limitation — top-level numbers.** The Android SDK's
201
- * `JsonUtil.getHashValues` serialises only `String`, `Boolean`,
200
+ * **Android version boundary — top-level numbers.** The Android SDK's
201
+ * `JsonUtil.getHashValues` gained a `Number` branch in Connect Android
202
+ * **11.0.24-beta**, so from that version a top-level numeric value is
203
+ * carried. Earlier versions serialised only `String`, `Boolean`,
202
204
  * `JSONObject`, `JSONArray` and `byte[]` at the top level of the signal
203
- * map; a top-level numeric value is dropped. Numbers nested *inside* an
204
- * object or array are unaffected, because the bridge builds those
205
- * `JSONObject`/`JSONArray` values itself. iOS carries top-level numbers
206
- * normally. Send numbers inside a nested object when cross-platform
207
- * parity matters. This is a pre-existing SDK-side gap, not a
208
- * restriction of this bridge the Android bridge now names the affected
209
- * keys in a logcat warning so the loss is not silent.
205
+ * map and dropped a top-level number. Numbers nested *inside* an object
206
+ * or array were never affected, because the bridge builds those
207
+ * `JSONObject`/`JSONArray` values itself, and iOS has always carried
208
+ * top-level numbers normally. Both versions sit inside the
209
+ * `[11.0.11, 12.0.0)` range this package accepts, so nest the number if
210
+ * your integration pins a Connect Android version below 11.0.24-beta.
210
211
  *
211
212
  * @example Nested payload
212
213
  * ```ts