@scalebun/react-native 1.4.0 → 1.5.0

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.
Files changed (48) hide show
  1. package/android/src/main/java/com/scalebun/rn/ota/BsPatch.kt +182 -0
  2. package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaModule.kt +88 -13
  3. package/android/src/oldarch/java/com/scalebun/rn/crash/ScaleBunCrashSpec.kt +16 -0
  4. package/bin/scalebun.js +55 -3
  5. package/dist/scalebun.full.js +129 -97
  6. package/dist/scalebun.full.js.map +1 -1
  7. package/dist/scalebun.slim.js +129 -97
  8. package/dist/scalebun.slim.js.map +1 -1
  9. package/ios/Ota/BsPatch.swift +180 -0
  10. package/ios/Ota/OtaSlotManager.swift +59 -2
  11. package/ios/Ota/ScaleBunOtaModule.swift +89 -10
  12. package/lib/commonjs/analytics/EventTracker.js +21 -1
  13. package/lib/commonjs/analytics/EventTracker.js.map +1 -1
  14. package/lib/commonjs/core/constants/version.js +1 -1
  15. package/lib/commonjs/core/id/installationId.js +55 -0
  16. package/lib/commonjs/core/id/installationId.js.map +1 -0
  17. package/lib/commonjs/debug/bootstrap.js +12 -0
  18. package/lib/commonjs/debug/bootstrap.js.map +1 -1
  19. package/lib/commonjs/features/ota/OtaOrchestrator.js +2 -30
  20. package/lib/commonjs/features/ota/OtaOrchestrator.js.map +1 -1
  21. package/lib/commonjs/features/session/BackendSessionAdapter.js +8 -0
  22. package/lib/commonjs/features/session/BackendSessionAdapter.js.map +1 -1
  23. package/lib/module/analytics/EventTracker.js +21 -1
  24. package/lib/module/analytics/EventTracker.js.map +1 -1
  25. package/lib/module/core/constants/version.js +1 -1
  26. package/lib/module/core/id/installationId.js +50 -0
  27. package/lib/module/core/id/installationId.js.map +1 -0
  28. package/lib/module/debug/bootstrap.js +12 -0
  29. package/lib/module/debug/bootstrap.js.map +1 -1
  30. package/lib/module/features/ota/OtaOrchestrator.js +1 -29
  31. package/lib/module/features/ota/OtaOrchestrator.js.map +1 -1
  32. package/lib/module/features/session/BackendSessionAdapter.js +8 -0
  33. package/lib/module/features/session/BackendSessionAdapter.js.map +1 -1
  34. package/lib/typescript/analytics/EventTracker.d.ts.map +1 -1
  35. package/lib/typescript/core/constants/version.d.ts +1 -1
  36. package/lib/typescript/core/id/installationId.d.ts +20 -0
  37. package/lib/typescript/core/id/installationId.d.ts.map +1 -0
  38. package/lib/typescript/debug/bootstrap.d.ts +18 -0
  39. package/lib/typescript/debug/bootstrap.d.ts.map +1 -1
  40. package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +1 -1
  41. package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +1 -1
  42. package/package.json +3 -2
  43. package/src/analytics/EventTracker.ts +21 -1
  44. package/src/core/constants/version.ts +1 -1
  45. package/src/core/id/installationId.ts +52 -0
  46. package/src/debug/bootstrap.ts +36 -0
  47. package/src/features/ota/OtaOrchestrator.ts +1 -30
  48. package/src/features/session/BackendSessionAdapter.ts +8 -0
@@ -0,0 +1,180 @@
1
+ import Foundation
2
+ import Compression
3
+
4
+ /// bspatch — reconstructs a bundle from a previous bundle plus a delta.
5
+ ///
6
+ /// WHAT WAS WRONG. `stagePatch` resolved `false` unconditionally on both
7
+ /// platforms, so the whole delta pipeline was decorative: the server generated
8
+ /// patches, the check response advertised them, the orchestrator asked for
9
+ /// them, and the device always fell back to a full download.
10
+ ///
11
+ /// FORMAT (produced by the backend's `bsdiff.ts`; all integers little-endian):
12
+ ///
13
+ /// 0 8 magic "SBDIFF01"
14
+ /// 8 4 target size — the exact number of bytes this must produce
15
+ /// 12 4 deflated control-block length
16
+ /// 16 4 inflated control-block length
17
+ /// 20 4 deflated diff-block length
18
+ /// 24 4 inflated diff-block length
19
+ /// 28 4 deflated extra-block length
20
+ /// 32 4 inflated extra-block length
21
+ /// 36 . deflate(control) ++ deflate(diff) ++ deflate(extra)
22
+ ///
23
+ /// Control is a run of (addLen, extraLen, seek) Int32 triples. `addLen` bytes
24
+ /// are read from the diff block and added, bytewise mod 256, to the source at
25
+ /// the current read cursor; `extraLen` bytes are copied verbatim from the extra
26
+ /// block; then the source cursor moves by the signed `seek`.
27
+ ///
28
+ /// WHY COMPRESSION_ZLIB. Apple's `COMPRESSION_ZLIB` is raw DEFLATE (RFC 1951)
29
+ /// with no zlib wrapper, which is exactly what Node's `deflateRawSync` writes
30
+ /// and what Android's `Inflater(nowrap: true)` reads. No third-party dependency
31
+ /// on any platform. `compression_decode_buffer` needs the output size up front,
32
+ /// which is why the inflated lengths ride in the header.
33
+ ///
34
+ /// EVERY FIELD HERE IS UNTRUSTED. The patch arrives over the network, so a
35
+ /// malformed or hostile one must fail cleanly rather than read out of bounds.
36
+ /// Each run is bounds-checked against all four buffers before use, and the
37
+ /// caller still verifies the SHA-256 of the result before anything is promoted.
38
+ enum BsPatch {
39
+
40
+ enum PatchError: Error, CustomStringConvertible {
41
+ case malformed(String)
42
+
43
+ var description: String {
44
+ switch self {
45
+ case .malformed(let why): return why
46
+ }
47
+ }
48
+ }
49
+
50
+ private static let magic = "SBDIFF01"
51
+ private static let headerBytes = 36
52
+
53
+ /// Refuse absurd allocations from a corrupt header (bundles are single-digit MB).
54
+ private static let maxTargetBytes = 256 * 1024 * 1024
55
+
56
+ private static func u32(_ b: [UInt8], _ off: Int) -> UInt32 {
57
+ UInt32(b[off]) | (UInt32(b[off + 1]) << 8) | (UInt32(b[off + 2]) << 16) | (UInt32(b[off + 3]) << 24)
58
+ }
59
+
60
+ private static func i32(_ b: [UInt8], _ off: Int) -> Int32 {
61
+ Int32(bitPattern: u32(b, off))
62
+ }
63
+
64
+ /// Raw DEFLATE decode into an exactly-sized buffer.
65
+ private static func inflateRaw(_ src: [UInt8], _ offset: Int, _ length: Int, _ rawSize: Int) throws -> [UInt8] {
66
+ if rawSize == 0 { return [] }
67
+ var out = [UInt8](repeating: 0, count: rawSize)
68
+ let produced: Int = out.withUnsafeMutableBufferPointer { dst in
69
+ src.withUnsafeBufferPointer { s in
70
+ compression_decode_buffer(
71
+ dst.baseAddress!, rawSize,
72
+ s.baseAddress!.advanced(by: offset), length,
73
+ nil, COMPRESSION_ZLIB
74
+ )
75
+ }
76
+ }
77
+ // Zero means failure; anything other than the declared size means the
78
+ // stream disagrees with the header, which is corruption either way.
79
+ guard produced == rawSize else {
80
+ throw PatchError.malformed("compressed block decoded to \(produced) bytes, declared \(rawSize)")
81
+ }
82
+ return out
83
+ }
84
+
85
+ /// Apply `patch` to `source`, returning the reconstructed bundle.
86
+ ///
87
+ /// Throws `PatchError.malformed` if the patch is malformed, truncated, or
88
+ /// inconsistent with `source`. Callers treat this as "fall back to a full
89
+ /// download", never as a fatal error.
90
+ static func apply(source: [UInt8], patch: [UInt8]) throws -> [UInt8] {
91
+ guard patch.count >= headerBytes else {
92
+ throw PatchError.malformed("patch too short")
93
+ }
94
+ let gotMagic = String(bytes: patch[0..<8], encoding: .isoLatin1) ?? ""
95
+ guard gotMagic == magic else {
96
+ throw PatchError.malformed("bad patch magic '\(gotMagic)'")
97
+ }
98
+
99
+ let targetSize64 = Int(u32(patch, 8))
100
+ let cLen = Int(u32(patch, 12))
101
+ let cRaw = Int(u32(patch, 16))
102
+ let dLen = Int(u32(patch, 20))
103
+ let dRaw = Int(u32(patch, 24))
104
+ let eLen = Int(u32(patch, 28))
105
+ let eRaw = Int(u32(patch, 32))
106
+
107
+ guard targetSize64 <= maxTargetBytes,
108
+ cRaw <= maxTargetBytes, dRaw <= maxTargetBytes, eRaw <= maxTargetBytes else {
109
+ throw PatchError.malformed("declared size is implausible")
110
+ }
111
+ guard headerBytes + cLen + dLen + eLen == patch.count else {
112
+ throw PatchError.malformed("block lengths do not match patch size")
113
+ }
114
+ let targetSize = targetSize64
115
+
116
+ var off = headerBytes
117
+ let control = try inflateRaw(patch, off, cLen, cRaw); off += cLen
118
+ let diff = try inflateRaw(patch, off, dLen, dRaw); off += dLen
119
+ let extra = try inflateRaw(patch, off, eLen, eRaw)
120
+
121
+ guard control.count % 12 == 0 else {
122
+ throw PatchError.malformed("control block is not a whole number of triples")
123
+ }
124
+
125
+ var out = [UInt8](repeating: 0, count: targetSize)
126
+ var newpos = 0
127
+ var oldpos = 0
128
+ var dpos = 0
129
+ var epos = 0
130
+
131
+ var c = 0
132
+ while c < control.count {
133
+ let addLen = Int(i32(control, c))
134
+ let extraLen = Int(i32(control, c + 4))
135
+ let seek = Int(i32(control, c + 8))
136
+ c += 12
137
+
138
+ guard addLen >= 0, extraLen >= 0 else {
139
+ throw PatchError.malformed("negative run length")
140
+ }
141
+ guard newpos + addLen <= targetSize else {
142
+ throw PatchError.malformed("add run overruns target")
143
+ }
144
+ guard dpos + addLen <= diff.count else {
145
+ throw PatchError.malformed("add run overruns diff block")
146
+ }
147
+ guard oldpos >= 0, oldpos + addLen <= source.count else {
148
+ throw PatchError.malformed("add run overruns source")
149
+ }
150
+
151
+ if addLen > 0 {
152
+ for i in 0..<addLen {
153
+ out[newpos + i] = diff[dpos + i] &+ source[oldpos + i]
154
+ }
155
+ }
156
+ newpos += addLen
157
+ oldpos += addLen
158
+ dpos += addLen
159
+
160
+ guard newpos + extraLen <= targetSize else {
161
+ throw PatchError.malformed("extra run overruns target")
162
+ }
163
+ guard epos + extraLen <= extra.count else {
164
+ throw PatchError.malformed("extra run overruns extra block")
165
+ }
166
+ if extraLen > 0 {
167
+ out.replaceSubrange(newpos..<(newpos + extraLen), with: extra[epos..<(epos + extraLen)])
168
+ }
169
+ newpos += extraLen
170
+ epos += extraLen
171
+
172
+ oldpos += seek
173
+ }
174
+
175
+ guard newpos == targetSize else {
176
+ throw PatchError.malformed("patch produced \(newpos) bytes, declared \(targetSize)")
177
+ }
178
+ return out
179
+ }
180
+ }
@@ -19,6 +19,12 @@ class OtaSlotManager {
19
19
  private static let bundleFilename = "bundle.jsbundle"
20
20
  private static let metaFilename = "meta.json"
21
21
  private static let bootMarkerFilename = "boot_marker"
22
+ private static let revertRecordFilename = "revert_record"
23
+
24
+ /// Launches a new bundle gets to call markHealthy() before it is reverted.
25
+ /// Matches the Android limit — the two platforms must agree or the same bad
26
+ /// release behaves differently depending on the phone.
27
+ private static let maxBootAttempts = 2
22
28
 
23
29
  private let otaRoot: URL
24
30
 
@@ -34,6 +40,7 @@ class OtaSlotManager {
34
40
  private var nextSlot: URL { otaRoot.appendingPathComponent("next") }
35
41
  private var previousSlot: URL { otaRoot.appendingPathComponent("previous") }
36
42
  private var bootMarkerFile: URL { otaRoot.appendingPathComponent(OtaSlotManager.bootMarkerFilename) }
43
+ private var revertRecordFile: URL { otaRoot.appendingPathComponent(OtaSlotManager.revertRecordFilename) }
37
44
 
38
45
  // MARK: - Public API
39
46
 
@@ -137,9 +144,21 @@ class OtaSlotManager {
137
144
  }
138
145
 
139
146
  /// Revert to previous slot.
140
- func revert() -> Bool {
147
+ func revert(reason: String = "boot_guard") -> Bool {
141
148
  let fm = FileManager.default
142
149
 
150
+ // Leave a record so slotStateJSON can tell JS a revert happened. Without
151
+ // it `bootGuardReverted` was read by the orchestrator and written by
152
+ // nobody on iOS, so an auto-rollback that DID occur reported nothing —
153
+ // the dashboard counted zero rollbacks while devices were reverting.
154
+ let record: [String: Any] = [
155
+ "reason": reason,
156
+ "at": Int(Date().timeIntervalSince1970 * 1000),
157
+ ]
158
+ if let data = try? JSONSerialization.data(withJSONObject: record) {
159
+ try? data.write(to: revertRecordFile, options: .atomic)
160
+ }
161
+
143
162
  do {
144
163
  if !fm.fileExists(atPath: previousSlot.path) {
145
164
  NSLog("[ScaleBunOta] No previous/ to revert to — clearing current/")
@@ -203,7 +222,31 @@ class OtaSlotManager {
203
222
  NSLog("[ScaleBunOta] Boot guard cannot verify this bundle — marker or meta has no sha256. Leaving it in place.")
204
223
  } else if currentId != markerId {
205
224
  NSLog("[ScaleBunOta] Boot marker sha256 mismatch — reverting")
206
- _ = revert()
225
+ _ = revert(reason: "hash_mismatch")
226
+ } else {
227
+ // ── Crash-loop revert ────────────────────────────────────────
228
+ // Matching hashes mean the bundle is INTACT, which says nothing
229
+ // about whether it RUNS. A bundle that throws at JS init installs
230
+ // cleanly, matches on every boot, and never reaches markHealthy()
231
+ // — so a hash-only guard let it crash-loop forever, bricking the
232
+ // app until reinstall. iOS had no counter at all, so this was the
233
+ // outcome on every iPhone.
234
+ //
235
+ // The marker doubles as a boot-attempt counter: each launch that
236
+ // still finds it increments it, and reaching the limit means the
237
+ // bundle has had its chances and never became healthy.
238
+ var marker = markerJson
239
+ let attempts = (marker["bootAttempts"] as? Int ?? 0) + 1
240
+ if attempts >= OtaSlotManager.maxBootAttempts {
241
+ NSLog("[ScaleBunOta] Bundle failed to become healthy in \(attempts) launch(es) — reverting")
242
+ _ = revert(reason: "boot_crash_guard")
243
+ return
244
+ }
245
+ marker["bootAttempts"] = attempts
246
+ if let data = try? JSONSerialization.data(withJSONObject: marker) {
247
+ try? data.write(to: bootMarkerFile, options: .atomic)
248
+ }
249
+ NSLog("[ScaleBunOta] Boot guard: attempt \(attempts)/\(OtaSlotManager.maxBootAttempts) for this bundle")
207
250
  }
208
251
  } catch {
209
252
  NSLog("[ScaleBunOta] checkBootGuard() failed — reverting: \(error)")
@@ -220,6 +263,20 @@ class OtaSlotManager {
220
263
  state["next"] = readMeta(slot: nextSlot) as Any
221
264
  state["previous"] = readMeta(slot: previousSlot) as Any
222
265
 
266
+ // Consume-on-read: the orchestrator turns this into exactly one
267
+ // AUTO_ROLLBACK event. Leaving it would re-report the same rollback on
268
+ // every launch.
269
+ let fm = FileManager.default
270
+ if fm.fileExists(atPath: revertRecordFile.path) {
271
+ if let data = try? Data(contentsOf: revertRecordFile),
272
+ let rec = try? JSONSerialization.jsonObject(with: data) as? [String: Any] {
273
+ state["bootGuardReverted"] = true
274
+ state["bootGuardRevertReason"] = rec["reason"] as? String ?? "boot_guard"
275
+ state["bootGuardRevertedAt"] = rec["at"] as? Int ?? 0
276
+ }
277
+ try? fm.removeItem(at: revertRecordFile)
278
+ }
279
+
223
280
  guard let data = try? JSONSerialization.data(withJSONObject: state),
224
281
  let json = String(data: data, encoding: .utf8) else {
225
282
  return "{\"current\":null,\"next\":null,\"previous\":null,\"bootMarkerPresent\":false}"
@@ -1,5 +1,6 @@
1
1
  import Foundation
2
2
  import React
3
+ import CommonCrypto
3
4
 
4
5
  /**
5
6
  * React Native bridge for OTA bundle management (`ScaleBunOta`) on iOS.
@@ -121,22 +122,100 @@ class ScaleBunOtaModule: NSObject, RCTBridgeModule {
121
122
  }
122
123
 
123
124
  @objc(stagePatch:patchSha256:expectedSha256:resolve:reject:)
124
- /// Sprint 7 scaffold — binary patching is NOT implemented on iOS.
125
+ /// Binary-patch staging (S7-NAT-1).
125
126
  ///
126
- /// This stub exists because the codegen spec (NativeScaleBunOta.ts) declares
127
- /// `stagePatch`, so on the New Architecture the generated JSI class
128
- /// dispatches the call to this selector whether or not it exists — a missing
129
- /// implementation surfaces as an "unrecognized selector" exception on every
130
- /// patch attempt. The identical gap broke the Android build at the start of
131
- /// this effort (Kotlin fails at compile; ObjC fails at runtime, which is
132
- /// worse because it ships). Resolving `false` routes the orchestrator to its
133
- /// full-bundle fallback, exactly like Android.
127
+ /// Downloads a delta, reconstructs the full bundle from the currently
128
+ /// installed one, and hands the result to the ordinary staging path — so a
129
+ /// patched bundle passes exactly the same SHA-256 and slot-promotion checks
130
+ /// as a fully downloaded one. `expectedSha256` is the hash of the COMPLETE
131
+ /// bundle, which is what makes a bad patch unable to install: reconstruct
132
+ /// the wrong bytes and staging rejects them.
133
+ ///
134
+ /// Resolves `false` never rejects — for every "cannot patch" case, because
135
+ /// `src/specs/NativeScaleBunOta.ts` defines false as "patching unavailable,
136
+ /// fall back to a full download". The update still lands, just larger.
134
137
  func stagePatch(_ patchUrl: NSString,
135
138
  patchSha256: NSString,
136
139
  expectedSha256: NSString,
137
140
  resolve: @escaping RCTPromiseResolveBlock,
138
141
  reject: @escaping RCTPromiseRejectBlock) {
139
- resolve(false)
142
+ // Patching is relative to the bundle already on disk. With no OTA bundle
143
+ // installed the source would be the app's built-in bundle, which the
144
+ // server did not diff against — so a full download is the correct path.
145
+ guard let currentURL = ScaleBunOtaModule.slotManager.currentBundleURL(),
146
+ let sourceData = try? Data(contentsOf: currentURL) else {
147
+ NSLog("[ScaleBunOta] stagePatch: no current OTA bundle to patch — full download")
148
+ resolve(false)
149
+ return
150
+ }
151
+
152
+ let temp = FileManager.default.temporaryDirectory
153
+ .appendingPathComponent("scalebun_ota_patch_\(UUID().uuidString)")
154
+ defer { try? FileManager.default.removeItem(at: temp) }
155
+
156
+ guard BundleDownloader.download(urlString: patchUrl as String, destination: temp),
157
+ let patchData = try? Data(contentsOf: temp) else {
158
+ resolve(false)
159
+ return
160
+ }
161
+
162
+ // Verify the patch against its own hash before parsing it. Cheap, and it
163
+ // keeps obviously-corrupt input away from the parser.
164
+ guard let actualPatchSha = ScaleBunOtaModule.sha256Hex(patchData),
165
+ actualPatchSha.caseInsensitiveCompare(patchSha256 as String) == .orderedSame else {
166
+ NSLog("[ScaleBunOta] stagePatch: patch hash mismatch — full download")
167
+ resolve(false)
168
+ return
169
+ }
170
+
171
+ let rebuilt: [UInt8]
172
+ do {
173
+ rebuilt = try BsPatch.apply(source: [UInt8](sourceData), patch: [UInt8](patchData))
174
+ } catch {
175
+ NSLog("[ScaleBunOta] stagePatch: \(error) — full download")
176
+ resolve(false)
177
+ return
178
+ }
179
+
180
+ let rebuiltURL = FileManager.default.temporaryDirectory
181
+ .appendingPathComponent("scalebun_ota_rebuilt_\(UUID().uuidString)")
182
+ defer { try? FileManager.default.removeItem(at: rebuiltURL) }
183
+
184
+ do {
185
+ try Data(rebuilt).write(to: rebuiltURL)
186
+ } catch {
187
+ NSLog("[ScaleBunOta] stagePatch: could not write rebuilt bundle — full download")
188
+ resolve(false)
189
+ return
190
+ }
191
+
192
+ let meta: [String: Any] = [
193
+ "sha256": expectedSha256 as String,
194
+ "installedAt": Int(Date().timeIntervalSince1970 * 1000),
195
+ "patched": true
196
+ ]
197
+
198
+ // The slot manager re-hashes and compares against the full-bundle hash;
199
+ // a mis-applied patch cannot get past this.
200
+ let success = ScaleBunOtaModule.slotManager.stage(
201
+ sourcePath: rebuiltURL.path,
202
+ expectedSha256: expectedSha256 as String,
203
+ meta: meta
204
+ )
205
+ if !success {
206
+ NSLog("[ScaleBunOta] stagePatch: rebuilt bundle failed verification — full download")
207
+ }
208
+ resolve(success)
209
+ }
210
+
211
+ /// Hex SHA-256 of in-memory bytes. The slot manager has a file-based twin;
212
+ /// this one avoids a round-trip through disk for the downloaded patch.
213
+ private static func sha256Hex(_ data: Data) -> String? {
214
+ var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
215
+ data.withUnsafeBytes { buf in
216
+ _ = CC_SHA256(buf.baseAddress, CC_LONG(data.count), &digest)
217
+ }
218
+ return digest.map { String(format: "%02x", $0) }.joined()
140
219
  }
141
220
 
142
221
  @objc(applyUpdate:reject:)
@@ -270,7 +270,27 @@ class EventTracker {
270
270
  const effectiveBatch = (0, _batching.clampBatchSize)(this.cfg.batchSize, DEFAULT_BATCH);
271
271
  const batch = this.queue.slice(0, effectiveBatch);
272
272
  try {
273
- // Sign the exact bytes we send so the backend can tamper-detect the payload.
273
+ // WHAT THIS SIGNATURE IS, AND WHAT IT IS NOT.
274
+ //
275
+ // This used to be described as letting "the backend tamper-detect
276
+ // the payload", which overstates it to the point of being wrong.
277
+ // The HMAC key is `clientKey` — the same value sent beside it in
278
+ // `x-scalebun-client-key`, and a value that ships inside every
279
+ // installed app, extractable by anyone who unzips an APK. A MAC
280
+ // whose key travels with the message and is public by construction
281
+ // proves nothing about who sent it: anyone can compute a valid one.
282
+ //
283
+ // What it DOES buy is integrity in transit against non-adversarial
284
+ // corruption, and a cheap filter for junk traffic. Treat `clientKey`
285
+ // as a publishable identifier (like a Stripe publishable key), never
286
+ // as a trust boundary. Authenticity that actually holds has to come
287
+ // from something the client cannot forge — server-side rate limits
288
+ // and anomaly detection per key, short-lived device tokens, or
289
+ // platform attestation (Play Integrity / App Attest).
290
+ //
291
+ // Contrast with OTA bundle signing (features/ota/signature.ts),
292
+ // which is asymmetric: the private half never leaves the publisher,
293
+ // so a valid signature there IS proof of origin.
274
294
  const payload = JSON.stringify({
275
295
  events: batch
276
296
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_StorageBackend","require","_device","_deviceId","_version","_internalLogger","_nativeCrashBridge","_hmacSha","_batching","_automaticEvents","SDK_SIGNING_VERSION","K_INSTALLATION_ID","exports","K_ANONYMOUS_ID","K_FIRST_OPEN","K_APP_VERSION","K_QUEUE","K_CLICK_ID","DEFAULT_FLUSH_MS","DEFAULT_BATCH","MAX_QUEUE","MAX_BACKOFF_MS","uuid","replace","c","r","Math","random","v","toString","EventTracker","identifiers","stamps","queue","timer","flushing","failureCount","started","automaticEventsUnsubscribe","constructor","config","storage","createStorageBackend","cfg","platform","resolveEventPlatform","flushIntervalMs","batchSize","autoLifecycleEvents","automaticEventTracking","installationId","loadOrCreate","anonymousId","sessionId","publishSessionToNative","loadQueue","loadClickId","getInstallationId","start","subscribeAutomaticEvents","event","track","name","properties","isFirstOpen","get","set","maybeAppUpdate","scheduleFlush","current","appVersion","previous","previous_version","current_version","newSession","setNativeActiveSession","identify","userId","traits","clearIdentity","undefined","setIdentifiers","ids","stamp","key","value","setAttributionClickId","clickId","click_id","eventName","enqueue","buildEnvelope","onEvent","err","logger","warn","message","trackPurchase","input","revenue","currency","transactionId","rest","env","transaction_id","flush","length","effectiveBatch","clampBatchSize","batch","slice","payload","JSON","stringify","events","idempotencyKey","batchIdempotencyKey","map","e","event_id","res","fetch","apiBaseUrl","method","headers","clientKey","hmacSha256Hex","body","ok","splice","persistQueue","status","stop","clearTimeout","ctx","context","canonicalSessionId","sessionIdProvider","event_name","event_time","Date","now","app_id","appId","installation_id","anonymous_id","session_id","device_id","getDeviceId","sdk_version","SDK_VERSION","user_id","app_version","osVersion","os_version","country","Object","keys","push","catch","base","backlogRemaining","MAX_BATCH_EVENTS","delay","min","pow","setTimeout","existing","id","raw","parsed","parse","Array","isArray","cid"],"sourceRoot":"../../../src","sources":["analytics/EventTracker.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_StorageBackend","require","_device","_deviceId","_version","_internalLogger","_nativeCrashBridge","_hmacSha","_batching","_automaticEvents","SDK_SIGNING_VERSION","K_INSTALLATION_ID","exports","K_ANONYMOUS_ID","K_FIRST_OPEN","K_APP_VERSION","K_QUEUE","K_CLICK_ID","DEFAULT_FLUSH_MS","DEFAULT_BATCH","MAX_QUEUE","MAX_BACKOFF_MS","uuid","replace","c","r","Math","random","v","toString","EventTracker","identifiers","stamps","queue","timer","flushing","failureCount","started","automaticEventsUnsubscribe","constructor","config","storage","createStorageBackend","cfg","platform","resolveEventPlatform","flushIntervalMs","batchSize","autoLifecycleEvents","automaticEventTracking","installationId","loadOrCreate","anonymousId","sessionId","publishSessionToNative","loadQueue","loadClickId","getInstallationId","start","subscribeAutomaticEvents","event","track","name","properties","isFirstOpen","get","set","maybeAppUpdate","scheduleFlush","current","appVersion","previous","previous_version","current_version","newSession","setNativeActiveSession","identify","userId","traits","clearIdentity","undefined","setIdentifiers","ids","stamp","key","value","setAttributionClickId","clickId","click_id","eventName","enqueue","buildEnvelope","onEvent","err","logger","warn","message","trackPurchase","input","revenue","currency","transactionId","rest","env","transaction_id","flush","length","effectiveBatch","clampBatchSize","batch","slice","payload","JSON","stringify","events","idempotencyKey","batchIdempotencyKey","map","e","event_id","res","fetch","apiBaseUrl","method","headers","clientKey","hmacSha256Hex","body","ok","splice","persistQueue","status","stop","clearTimeout","ctx","context","canonicalSessionId","sessionIdProvider","event_name","event_time","Date","now","app_id","appId","installation_id","anonymous_id","session_id","device_id","getDeviceId","sdk_version","SDK_VERSION","user_id","app_version","osVersion","os_version","country","Object","keys","push","catch","base","backlogRemaining","MAX_BATCH_EVENTS","delay","min","pow","setTimeout","existing","id","raw","parsed","parse","Array","isArray","cid"],"sourceRoot":"../../../src","sources":["analytics/EventTracker.ts"],"mappings":"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","ignoreList":[]}
@@ -9,5 +9,5 @@ exports.SDK_VERSION = void 0;
9
9
  * can attribute telemetry to the SDK build that produced it.
10
10
  * Keep in sync with package.json "version".
11
11
  */
12
- const SDK_VERSION = exports.SDK_VERSION = '1.4.0';
12
+ const SDK_VERSION = exports.SDK_VERSION = '1.5.0';
13
13
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveInstallationId = resolveInstallationId;
7
+ var _StorageBackend = require("../../storage/StorageBackend");
8
+ var _EventTracker = require("../../analytics/EventTracker");
9
+ /**
10
+ * The SDK's canonical per-install id.
11
+ *
12
+ * ONE install, ONE id, every lane. This is deliberately NOT `getDeviceId()` —
13
+ * that is a separate value under a separate storage key, and the backend schema
14
+ * annotates the two as different ("stable per-install id from the SDK (≠
15
+ * deviceId)").
16
+ *
17
+ * It matters because the backend joins a bundle's OTA installs to that device's
18
+ * sessions through this value. OTA events have always been keyed by it; the
19
+ * session lane did not send it at all, so on the server the two could only be
20
+ * connected for devices that happened to have registered for push. Release
21
+ * health then reported "no data" for bundles that were running perfectly well —
22
+ * or crashing badly.
23
+ *
24
+ * Lives here rather than inside one feature so the OTA orchestrator and the
25
+ * session adapter cannot drift to two different ids.
26
+ */
27
+ function resolveInstallationId() {
28
+ try {
29
+ const storage = (0, _StorageBackend.createStorageBackend)();
30
+ const existing = storage.get(_EventTracker.K_INSTALLATION_ID);
31
+ if (existing) return existing;
32
+ const id = `inst-${randomSegment()}${randomSegment()}`;
33
+ storage.set(_EventTracker.K_INSTALLATION_ID, id);
34
+ return id;
35
+ } catch {
36
+ // Storage unavailable (tests, exotic hosts): a per-process id keeps the
37
+ // lanes functional; it stabilizes on the first run where storage works.
38
+ return `inst-ephemeral-${randomSegment()}`;
39
+ }
40
+ }
41
+
42
+ /** 8 chars of base36 entropy, crypto-backed when the runtime offers it. */
43
+ function randomSegment() {
44
+ try {
45
+ const g = globalThis;
46
+ if (g.crypto?.getRandomValues) {
47
+ const bytes = g.crypto.getRandomValues(new Uint8Array(6));
48
+ return Array.from(bytes).map(b => b.toString(36).padStart(2, '0')).join('').slice(0, 8);
49
+ }
50
+ } catch {
51
+ // fall through to Math.random
52
+ }
53
+ return Math.random().toString(36).slice(2, 10).padEnd(8, '0');
54
+ }
55
+ //# sourceMappingURL=installationId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_StorageBackend","require","_EventTracker","resolveInstallationId","storage","createStorageBackend","existing","get","K_INSTALLATION_ID","id","randomSegment","set","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","Array","from","map","b","toString","padStart","join","slice","Math","random","padEnd"],"sourceRoot":"../../../../src","sources":["core/id/installationId.ts"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CAAA,EAAW;EAC5C,IAAI;IACA,MAAMC,OAAO,GAAG,IAAAC,oCAAoB,EAAC,CAAC;IACtC,MAAMC,QAAQ,GAAGF,OAAO,CAACG,GAAG,CAACC,+BAAiB,CAAC;IAC/C,IAAIF,QAAQ,EAAE,OAAOA,QAAQ;IAC7B,MAAMG,EAAE,GAAG,QAAQC,aAAa,CAAC,CAAC,GAAGA,aAAa,CAAC,CAAC,EAAE;IACtDN,OAAO,CAACO,GAAG,CAACH,+BAAiB,EAAEC,EAAE,CAAC;IAClC,OAAOA,EAAE;EACb,CAAC,CAAC,MAAM;IACJ;IACA;IACA,OAAO,kBAAkBC,aAAa,CAAC,CAAC,EAAE;EAC9C;AACJ;;AAEA;AACA,SAASA,aAAaA,CAAA,EAAW;EAC7B,IAAI;IACA,MAAME,CAAC,GAAGC,UAA8E;IACxF,IAAID,CAAC,CAACE,MAAM,EAAEC,eAAe,EAAE;MAC3B,MAAMC,KAAK,GAAGJ,CAAC,CAACE,MAAM,CAACC,eAAe,CAAC,IAAIE,UAAU,CAAC,CAAC,CAAC,CAAC;MACzD,OAAOC,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC,CACnBI,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAC3CC,IAAI,CAAC,EAAE,CAAC,CACRC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB;EACJ,CAAC,CAAC,MAAM;IACJ;EAAA;EAEJ,OAAOC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACL,QAAQ,CAAC,EAAE,CAAC,CAACG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAACG,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;AACjE","ignoreList":[]}
@@ -111,6 +111,18 @@ function enableDebug(config) {
111
111
  return;
112
112
  }
113
113
 
114
+ // Refuse in release builds. See `allowInRelease` on DebugConfig: this
115
+ // channel is plaintext ws:// carrying console output, network traffic
116
+ // and the shared secret, and the only previous guard was that the
117
+ // tooling is excluded from bundles by default — which a developer
118
+ // disables to debug locally and then forgets. Warn rather than fail
119
+ // silently, because a debug connection that does nothing with no
120
+ // explanation is its own long afternoon.
121
+ if (!__DEV__ && !config.allowInRelease) {
122
+ _internalLogger.logger.warn('[ScaleBun] Debug connection refused in a release build. The debug ' + 'transport is unencrypted (ws://) and carries captured traffic and the ' + 'shared secret in cleartext, so it is development-only by default. If ' + 'you genuinely need it in a release build, set ' + '`allowInRelease: true` — and do not ship that to users.');
123
+ return;
124
+ }
125
+
114
126
  // The desktop-debugger tooling can be excluded from a build via
115
127
  // `withScaleBun(config, { features: { devTools: false } })`, which resolves these modules
116
128
  // to an empty stub. Detect that explicitly: without this check the first `new
@@ -1 +1 @@
1
- {"version":3,"names":["_transport2","require","_timings","_version","_stream2","_commands2","_internalLogger","_deviceId","_journeyTypes","_hostResolver","_replayWiring","_sessionWiring","_perfWiring","_screenTracking","_exportBridge","_transport","_stream","_commands","_perf","_performanceFeature","_profilerFeature","_sessionManager","_enabled","_journeyConfig","DEFAULT_JOURNEY_CONFIG","_debugReady","_globalTransportWarnEmitted","_autoScreenDetector","isDevToolsBundled","DebugTransport","DebugEventStream","CommandRegistry","resolveDebugHost","enableDebug","config","__DEV__","logger","debug","warn","host","port","DEFAULT_WS_PORT","enabled","journey","autoStart","screenshots","gestures","nav","platform","osVersion","Platform","OS","undefined","transportConfig","appName","bundleId","buildType","capabilities","secret","globalThis","__scalebun_transport","deviceId","getDeviceId","sessionId","Date","now","Math","random","toString","substring","setIdentity","captureConsole","captureSDKLogs","redactNetwork","setScreenProvider","getTrackedScreen","setStream","initReplaySdk","replay","onCommand","cmd","handleCommand","createSessionManager","session","_sessionDisabled","setRecordingSessionProvider","recordingSessionId","perfResult","initPerformance","performanceDisabled","_performanceDisabled","enablePerf","stallThresholdMs","performanceFeature","perfMonitor","initProfiler","enableProfiler","onStateChange","state","connect","install","isActive","start","info","wireNativeCaptureDeferred","startAutoScreenDetection","setTimeout","_emitJourneyEvent","journeyEnabled","canScreenshot","navMode","sdkVersion","SDK_VERSION","DEBUG_READY_EMIT_DELAY_MS","e","error","disableDebug","endSession","teardownReplay","teardown","teardownExports","stop","disconnect","resetReplayState","isDebugEnabled","addBreadcrumb","message","data","tapBreadcrumb","ping","timestamp","_getStream","_getCommands","_setFlushFn","fn","setFlushFn","_getReplaySdk","getReplaySdk","_isReplaySdkInitialized","isReplaySdkInitialized","_getTransport","_getJourneyConfig","_isJourneyEnabled","_setDebugReady","ready","_getSessionManager","_getAutoScreenDetector","getPerformanceFeature","getProfilerFeature","name","PROTOCOL_VERSION","msg","type","protocolVersion","sequence","nextSequence","payload","id","category","send","requestExport","presetOrOptions","_requestExport","_handleExportResult","args","handleExportResult"],"sourceRoot":"../../../src","sources":["debug/bootstrap.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_transport2","require","_timings","_version","_stream2","_commands2","_internalLogger","_deviceId","_journeyTypes","_hostResolver","_replayWiring","_sessionWiring","_perfWiring","_screenTracking","_exportBridge","_transport","_stream","_commands","_perf","_performanceFeature","_profilerFeature","_sessionManager","_enabled","_journeyConfig","DEFAULT_JOURNEY_CONFIG","_debugReady","_globalTransportWarnEmitted","_autoScreenDetector","isDevToolsBundled","DebugTransport","DebugEventStream","CommandRegistry","resolveDebugHost","enableDebug","config","__DEV__","logger","debug","allowInRelease","warn","host","port","DEFAULT_WS_PORT","enabled","journey","autoStart","screenshots","gestures","nav","platform","osVersion","Platform","OS","undefined","transportConfig","appName","bundleId","buildType","capabilities","secret","globalThis","__scalebun_transport","deviceId","getDeviceId","sessionId","Date","now","Math","random","toString","substring","setIdentity","captureConsole","captureSDKLogs","redactNetwork","setScreenProvider","getTrackedScreen","setStream","initReplaySdk","replay","onCommand","cmd","handleCommand","createSessionManager","session","_sessionDisabled","setRecordingSessionProvider","recordingSessionId","perfResult","initPerformance","performanceDisabled","_performanceDisabled","enablePerf","stallThresholdMs","performanceFeature","perfMonitor","initProfiler","enableProfiler","onStateChange","state","connect","install","isActive","start","info","wireNativeCaptureDeferred","startAutoScreenDetection","setTimeout","_emitJourneyEvent","journeyEnabled","canScreenshot","navMode","sdkVersion","SDK_VERSION","DEBUG_READY_EMIT_DELAY_MS","e","error","disableDebug","endSession","teardownReplay","teardown","teardownExports","stop","disconnect","resetReplayState","isDebugEnabled","addBreadcrumb","message","data","tapBreadcrumb","ping","timestamp","_getStream","_getCommands","_setFlushFn","fn","setFlushFn","_getReplaySdk","getReplaySdk","_isReplaySdkInitialized","isReplaySdkInitialized","_getTransport","_getJourneyConfig","_isJourneyEnabled","_setDebugReady","ready","_getSessionManager","_getAutoScreenDetector","getPerformanceFeature","getProfilerFeature","name","PROTOCOL_VERSION","msg","type","protocolVersion","sequence","nextSequence","payload","id","category","send","requestExport","presetOrOptions","_requestExport","_handleExportResult","args","handleExportResult"],"sourceRoot":"../../../src","sources":["debug/bootstrap.ts"],"mappings":"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","ignoreList":[]}