@scalebun/react-native 1.0.1 → 1.0.3
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/android/src/main/java/com/scalebun/rn/ota/BundleDownloader.kt +170 -0
- package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaModule.kt +160 -12
- package/android/src/main/java/com/scalebun/rn/ota/SlotManager.kt +32 -6
- package/android/src/oldarch/java/com/scalebun/rn/ota/ScaleBunOtaSpec.kt +7 -1
- package/ios/Ota/BundleDownloader.swift +182 -0
- package/ios/Ota/OtaSlotManager.swift +35 -9
- package/ios/Ota/ScaleBunOtaBridge.mm +9 -0
- package/ios/Ota/ScaleBunOtaEventsModule.swift +61 -0
- package/ios/Ota/ScaleBunOtaModule.swift +58 -5
- package/lib/commonjs/bootstrap/SDKBootstrapper.js +22 -0
- package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/commonjs/features/crash/CrashFeature.js +18 -0
- package/lib/commonjs/features/crash/CrashFeature.js.map +1 -1
- package/lib/commonjs/features/crash/rejectionHandler.js +123 -0
- package/lib/commonjs/features/crash/rejectionHandler.js.map +1 -0
- package/lib/commonjs/features/engage/EngagePromptProvider.js +4 -2
- package/lib/commonjs/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/commonjs/features/engage/engageThrottle.js +41 -10
- package/lib/commonjs/features/engage/engageThrottle.js.map +1 -1
- package/lib/commonjs/features/engage/engageTypes.js.map +1 -1
- package/lib/commonjs/features/navigation/AutoScreenDetector.js +53 -10
- package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +1 -1
- package/lib/commonjs/features/ota/OtaOrchestrator.js +515 -20
- package/lib/commonjs/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/commonjs/features/ota/environment.js +172 -0
- package/lib/commonjs/features/ota/environment.js.map +1 -0
- package/lib/commonjs/features/ota/retry.js +96 -0
- package/lib/commonjs/features/ota/retry.js.map +1 -0
- package/lib/commonjs/features/ota/signature.js +115 -0
- package/lib/commonjs/features/ota/signature.js.map +1 -0
- package/lib/commonjs/features/session/BackendSessionAdapter.js +231 -26
- package/lib/commonjs/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/public/ScaleBunErrorBoundary.js +79 -0
- package/lib/commonjs/public/ScaleBunErrorBoundary.js.map +1 -0
- package/lib/commonjs/specs/NativeScaleBunOta.js.map +1 -1
- package/lib/module/bootstrap/SDKBootstrapper.js +22 -0
- package/lib/module/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/module/features/crash/CrashFeature.js +18 -0
- package/lib/module/features/crash/CrashFeature.js.map +1 -1
- package/lib/module/features/crash/rejectionHandler.js +116 -0
- package/lib/module/features/crash/rejectionHandler.js.map +1 -0
- package/lib/module/features/engage/EngagePromptProvider.js +4 -2
- package/lib/module/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/module/features/engage/engageThrottle.js +41 -10
- package/lib/module/features/engage/engageThrottle.js.map +1 -1
- package/lib/module/features/engage/engageTypes.js.map +1 -1
- package/lib/module/features/navigation/AutoScreenDetector.js +53 -10
- package/lib/module/features/navigation/AutoScreenDetector.js.map +1 -1
- package/lib/module/features/ota/OtaOrchestrator.js +516 -21
- package/lib/module/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/module/features/ota/environment.js +165 -0
- package/lib/module/features/ota/environment.js.map +1 -0
- package/lib/module/features/ota/retry.js +87 -0
- package/lib/module/features/ota/retry.js.map +1 -0
- package/lib/module/features/ota/signature.js +109 -0
- package/lib/module/features/ota/signature.js.map +1 -0
- package/lib/module/features/session/BackendSessionAdapter.js +230 -26
- package/lib/module/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/public/ScaleBunErrorBoundary.js +70 -0
- package/lib/module/public/ScaleBunErrorBoundary.js.map +1 -0
- package/lib/module/specs/NativeScaleBunOta.js.map +1 -1
- package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +1 -1
- package/lib/typescript/features/crash/CrashFeature.d.ts.map +1 -1
- package/lib/typescript/features/crash/rejectionHandler.d.ts +46 -0
- package/lib/typescript/features/crash/rejectionHandler.d.ts.map +1 -0
- package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +1 -1
- package/lib/typescript/features/engage/engageThrottle.d.ts +24 -4
- package/lib/typescript/features/engage/engageThrottle.d.ts.map +1 -1
- package/lib/typescript/features/engage/engageTypes.d.ts +6 -0
- package/lib/typescript/features/engage/engageTypes.d.ts.map +1 -1
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +9 -0
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts.map +1 -1
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts +67 -1
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +1 -1
- package/lib/typescript/features/ota/OtaTypes.d.ts +42 -0
- package/lib/typescript/features/ota/OtaTypes.d.ts.map +1 -1
- package/lib/typescript/features/ota/environment.d.ts +99 -0
- package/lib/typescript/features/ota/environment.d.ts.map +1 -0
- package/lib/typescript/features/ota/retry.d.ts +53 -0
- package/lib/typescript/features/ota/retry.d.ts.map +1 -0
- package/lib/typescript/features/ota/signature.d.ts +66 -0
- package/lib/typescript/features/ota/signature.d.ts.map +1 -0
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts +93 -2
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/public/ScaleBunErrorBoundary.d.ts +44 -0
- package/lib/typescript/public/ScaleBunErrorBoundary.d.ts.map +1 -0
- package/lib/typescript/specs/NativeScaleBunOta.d.ts +11 -0
- package/lib/typescript/specs/NativeScaleBunOta.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/bootstrap/SDKBootstrapper.ts +24 -0
- package/src/features/crash/CrashFeature.ts +19 -0
- package/src/features/crash/rejectionHandler.ts +134 -0
- package/src/features/engage/EngagePromptProvider.tsx +4 -2
- package/src/features/engage/engageThrottle.ts +44 -6
- package/src/features/engage/engageTypes.ts +6 -0
- package/src/features/navigation/AutoScreenDetector.ts +59 -4
- package/src/features/ota/OtaOrchestrator.ts +594 -23
- package/src/features/ota/OtaTypes.ts +56 -0
- package/src/features/ota/environment.ts +199 -0
- package/src/features/ota/retry.ts +123 -0
- package/src/features/ota/signature.ts +123 -0
- package/src/features/session/BackendSessionAdapter.ts +233 -25
- package/src/index.ts +6 -0
- package/src/public/ScaleBunErrorBoundary.tsx +79 -0
- package/src/specs/NativeScaleBunOta.ts +12 -0
|
@@ -10,6 +10,7 @@ var _endpoints = require("../../transport/http/endpoints");
|
|
|
10
10
|
var _version = require("../../core/constants/version");
|
|
11
11
|
var _bridgeAdapter = require("../replay/bridge/adapters/bridgeAdapter");
|
|
12
12
|
var _nativeModule = require("../replay/bridge/nativeModule");
|
|
13
|
+
var _batching = require("../../analytics/batching");
|
|
13
14
|
/**
|
|
14
15
|
* ScaleBun SDK — Backend Session Adapter
|
|
15
16
|
*
|
|
@@ -35,6 +36,10 @@ var _nativeModule = require("../replay/bridge/nativeModule");
|
|
|
35
36
|
* MVP/dev-only: base64 frames are sent inline in JSON body.
|
|
36
37
|
*/
|
|
37
38
|
|
|
39
|
+
// Reused rather than reimplemented: `chunkEvents` is generic, order-preserving, and already carries
|
|
40
|
+
// a contract test proving it drops and duplicates nothing (analytics/__tests__/batchChunking.test.ts).
|
|
41
|
+
// Its internal ceiling (MAX_BATCH_EVENTS = 500) is well above the 100-frame cap passed here.
|
|
42
|
+
|
|
38
43
|
// ─── Config ─────────────────────────────────────────────────────────────────
|
|
39
44
|
|
|
40
45
|
/**
|
|
@@ -51,8 +56,31 @@ class BackendSessionAdapter {
|
|
|
51
56
|
|
|
52
57
|
/** Storage key for the snapshotted unflushed frame buffer (see persistPendingFrames). */
|
|
53
58
|
static PENDING_FRAMES_KEY = 'scalebun_replay_pending_frames';
|
|
54
|
-
/**
|
|
55
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Byte budget for the cross-kill frame snapshot (see `_selectFramesToPersist`).
|
|
61
|
+
*
|
|
62
|
+
* Replaces a flat 10-frame cap. A count could not bound the KV write at all — these frames carry
|
|
63
|
+
* base64 screenshots, so ten of them is anywhere from ~200 KB to several MB depending on device
|
|
64
|
+
* resolution, and an oversized value is exactly what fails on the background transition where
|
|
65
|
+
* this write happens.
|
|
66
|
+
*
|
|
67
|
+
* 2 MB is deliberately modest: this is a last-resort snapshot for frames that never reached the
|
|
68
|
+
* network, not a mirror of the session. Enough for a keyframe plus a run of deltas on any device;
|
|
69
|
+
* small enough that writing it cannot itself be the reason backgrounding stalls.
|
|
70
|
+
*/
|
|
71
|
+
static MAX_PERSIST_BYTES = 2 * 1024 * 1024;
|
|
72
|
+
/**
|
|
73
|
+
* Frames the backend accepts in ONE request — `'Max 100 frames per batch'`
|
|
74
|
+
* (`IngestionService.uploadFrames`). Exceeding it is a 4xx, which this SDK classifies as
|
|
75
|
+
* permanent.
|
|
76
|
+
*
|
|
77
|
+
* This has to exist alongside the byte budget, not instead of it. The budget alone cannot bound
|
|
78
|
+
* the COUNT, and the count is what the server checks: measured on real traffic, mobile keyframes
|
|
79
|
+
* average ~16 KB, so a 2 MB snapshot is around 128 frames — over the cap by construction. The old
|
|
80
|
+
* flat 10-frame rule was under it by construction, which is why this failure could not happen
|
|
81
|
+
* before and can now.
|
|
82
|
+
*/
|
|
83
|
+
static MAX_FRAMES_PER_BATCH = 100;
|
|
56
84
|
// Per-session toggle: cleared to false if the backend reports storage disabled.
|
|
57
85
|
|
|
58
86
|
// True when telemetry should divert to the durable native outbox (both flags on).
|
|
@@ -80,6 +108,14 @@ class BackendSessionAdapter {
|
|
|
80
108
|
pendingLogs = [];
|
|
81
109
|
flushTimer = null;
|
|
82
110
|
destroyed = false;
|
|
111
|
+
/**
|
|
112
|
+
* Latch for `sdk_replay_capture_failed` — reported once per adapter, not once per rejected batch.
|
|
113
|
+
*
|
|
114
|
+
* A session whose row was never created rejects EVERY frame batch, so an unlatched report would
|
|
115
|
+
* emit one analytics event per flush for as long as the app stays open, on the same lane it is
|
|
116
|
+
* trying to report through.
|
|
117
|
+
*/
|
|
118
|
+
_captureFailureReported = false;
|
|
83
119
|
|
|
84
120
|
// ── Analytics lane (always-on, foreground-scoped; isolated from recording) ──
|
|
85
121
|
// Fully separate from currentSessionId/pendingEvents/_flushEvents, which serve
|
|
@@ -254,6 +290,11 @@ class BackendSessionAdapter {
|
|
|
254
290
|
async startAnalyticsSession(session) {
|
|
255
291
|
if (this.destroyed) return;
|
|
256
292
|
this._analyticsSessionId = session.sessionId;
|
|
293
|
+
// A new session gets its own capture-failure report. The latch bounds reports WITHIN a
|
|
294
|
+
// session; left standing across sessions it silenced every session after the first in the
|
|
295
|
+
// app process, which is the one place this differs from the web SDK — that pipeline is
|
|
296
|
+
// constructed per page and its session id is readonly, so its latch cannot outlive a session.
|
|
297
|
+
this._captureFailureReported = false;
|
|
257
298
|
this._startAnalyticsFlushTimer();
|
|
258
299
|
|
|
259
300
|
// Replay pre-ready buffered events now that the id exists. sessionId is
|
|
@@ -719,21 +760,106 @@ class BackendSessionAdapter {
|
|
|
719
760
|
if (!this._sessionRowReady()) return;
|
|
720
761
|
const sessionId = this.currentSessionId;
|
|
721
762
|
const batch = this.pendingFrames.splice(0, this.config.batchSize);
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
763
|
+
/**
|
|
764
|
+
* Chunked, because `config.batchSize` is HOST-CONFIGURABLE and the server's 100-frame cap is
|
|
765
|
+
* not. A host raising it past 100 previously turned every frame flush into a permanent 4xx —
|
|
766
|
+
* silent, total replay loss for that app, from a config value that looks like a tuning knob.
|
|
767
|
+
*
|
|
768
|
+
* A permanent rejection is reported and abandoned inside `_postFramesChunked`; what comes
|
|
769
|
+
* back is only what is still worth another attempt.
|
|
770
|
+
*/
|
|
771
|
+
const remaining = await this._postFramesChunked(sessionId, batch);
|
|
772
|
+
if (remaining.length) {
|
|
731
773
|
_internalLogger.logger.warn(`[replay.sdk.error] backend frame upload failure`, {
|
|
732
|
-
count:
|
|
774
|
+
count: remaining.length
|
|
775
|
+
});
|
|
776
|
+
this.pendingFrames.unshift(...remaining);
|
|
777
|
+
return;
|
|
778
|
+
}
|
|
779
|
+
_internalLogger.logger.debug(`[BackendSessionAdapter] Flushed ${batch.length} frame(s)`);
|
|
780
|
+
// Delivered — the durable snapshot (if any) is now redundant. Clear it once
|
|
781
|
+
// the in-memory buffer is fully drained so a later kill can't replay
|
|
782
|
+
// already-uploaded frames.
|
|
783
|
+
if (this.pendingFrames.length === 0) this._clearPersistedFrames();
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
/**
|
|
787
|
+
* Report frames the SDK gave up on, on the analytics lane.
|
|
788
|
+
*
|
|
789
|
+
* SAME EVENT NAME AS THE WEB SDK (`sdk_replay_capture_failed`) with platform-specific `reason`
|
|
790
|
+
* values, so one dashboard breakdown reads both platforms without a concept-map alias — the two
|
|
791
|
+
* SDKs share no event vocabulary otherwise (`$pageview` vs `screen_viewed`), and adding a second
|
|
792
|
+
* name here would need an entry in `event-concepts.ts` for no benefit.
|
|
793
|
+
*
|
|
794
|
+
* Latched to once per session: a session whose row was never created rejects every batch, and an
|
|
795
|
+
* unlatched report would emit one event per flush for as long as the app is open.
|
|
796
|
+
*
|
|
797
|
+
* Best-effort and never throws — a diagnostic must not be able to break the capture path it
|
|
798
|
+
* describes.
|
|
799
|
+
*/
|
|
800
|
+
_reportCaptureFailure(stage, err, frameCount) {
|
|
801
|
+
if (this._captureFailureReported) return;
|
|
802
|
+
this._captureFailureReported = true;
|
|
803
|
+
try {
|
|
804
|
+
if (!this._analyticsSessionId) return; // no lane open — nothing to attach it to
|
|
805
|
+
const status = err?.status;
|
|
806
|
+
this.trackEvent({
|
|
807
|
+
eventId: this._clientId(),
|
|
808
|
+
sessionId: this._analyticsSessionId,
|
|
809
|
+
ts: Date.now(),
|
|
810
|
+
type: 'sdk_replay_capture_failed',
|
|
811
|
+
source: 'sdk',
|
|
812
|
+
payload: {
|
|
813
|
+
stage,
|
|
814
|
+
// Platform-specific vocabulary. The HTTP status is the honest reason on this path:
|
|
815
|
+
// RN posts to the per-lane endpoints, which surface a real status — unlike the web
|
|
816
|
+
// batch fan-out, whose 200 says nothing about what it stored.
|
|
817
|
+
reason: status ? `http_${status}` : 'upload_failed',
|
|
818
|
+
frames: frameCount,
|
|
819
|
+
platform: 'react-native'
|
|
820
|
+
}
|
|
733
821
|
});
|
|
734
|
-
|
|
735
|
-
|
|
822
|
+
} catch {
|
|
823
|
+
// Diagnostics must never break the capture path.
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
/**
|
|
828
|
+
* Post frames in BACKEND-SAFE CHUNKS, and return the ones that were not durably accepted.
|
|
829
|
+
*
|
|
830
|
+
* WHY THIS EXISTS. `_postFrameBatch` issues exactly one request for whatever array it is handed,
|
|
831
|
+
* and both callers could hand it more than the server's 100-frame cap — the live flush via
|
|
832
|
+
* `config.batchSize`, and cross-kill recovery via the 2 MB persistence budget (~128 frames at the
|
|
833
|
+
* measured 16 KB average). The result was a 4xx, classified permanent, and on the recovery path
|
|
834
|
+
* that meant `_clearPersistedFrames()` — the ENTIRE cross-kill snapshot deleted because it was
|
|
835
|
+
* one frame too big to send in a single request it never needed to be sent in.
|
|
836
|
+
*
|
|
837
|
+
* THE RETURN VALUE IS THE POINT. The caller must be able to delete exactly what landed and keep
|
|
838
|
+
* exactly what did not, so this reports the survivors rather than throwing:
|
|
839
|
+
* - chunk accepted → dropped from the result (it is durably stored)
|
|
840
|
+
* - chunk PERMANENTLY refused → dropped, and reported once. Re-sending identical bytes cannot
|
|
841
|
+
* succeed, and holding it would wedge every future launch on the
|
|
842
|
+
* same poison chunk. Only that chunk is abandoned; the rest still
|
|
843
|
+
* gets its chance, which is the whole difference from before.
|
|
844
|
+
* - chunk TRANSIENTLY failed → that chunk AND every chunk after it are kept, in order. We stop
|
|
845
|
+
* on the first transient failure rather than pressing on, because
|
|
846
|
+
* the usual cause is the network being gone and the rest would
|
|
847
|
+
* fail identically.
|
|
848
|
+
*/
|
|
849
|
+
async _postFramesChunked(sessionId, items) {
|
|
850
|
+
const chunks = (0, _batching.chunkEvents)(items, BackendSessionAdapter.MAX_FRAMES_PER_BATCH);
|
|
851
|
+
for (let i = 0; i < chunks.length; i++) {
|
|
852
|
+
try {
|
|
853
|
+
await this._postFrameBatch(sessionId, chunks[i]);
|
|
854
|
+
} catch (err) {
|
|
855
|
+
if (BackendSessionAdapter._isPermanentHttpError(err)) {
|
|
856
|
+
this._reportCaptureFailure('upload-rejected', err, chunks[i].length);
|
|
857
|
+
continue;
|
|
858
|
+
}
|
|
859
|
+
return chunks.slice(i).flat();
|
|
860
|
+
}
|
|
736
861
|
}
|
|
862
|
+
return [];
|
|
737
863
|
}
|
|
738
864
|
|
|
739
865
|
/**
|
|
@@ -790,7 +916,8 @@ class BackendSessionAdapter {
|
|
|
790
916
|
if (!this._frameStore || this.destroyed || !this.currentSessionId) return;
|
|
791
917
|
if (this.pendingFrames.length === 0) return;
|
|
792
918
|
try {
|
|
793
|
-
const items = this.pendingFrames
|
|
919
|
+
const items = BackendSessionAdapter._selectFramesToPersist(this.pendingFrames);
|
|
920
|
+
if (items.length === 0) return;
|
|
794
921
|
this._frameStore.set(BackendSessionAdapter.PENDING_FRAMES_KEY, JSON.stringify({
|
|
795
922
|
sessionId: this.currentSessionId,
|
|
796
923
|
items
|
|
@@ -800,6 +927,67 @@ class BackendSessionAdapter {
|
|
|
800
927
|
}
|
|
801
928
|
}
|
|
802
929
|
|
|
930
|
+
/**
|
|
931
|
+
* Choose which unflushed frames survive a process kill.
|
|
932
|
+
*
|
|
933
|
+
* WHY THIS IS NOT `slice(-10)`.
|
|
934
|
+
*
|
|
935
|
+
* The old rule kept the ten most RECENT frames, which is the wrong end of the buffer for replay.
|
|
936
|
+
* A delta reconstructs against its base keyframe, so ten trailing deltas whose keyframe was
|
|
937
|
+
* dropped are unplayable on their own — they arrive as `orphaned`, the state the dashboard flags
|
|
938
|
+
* as a capture defect. Keeping the keyframe and fewer deltas yields a SHORTER replay; keeping the
|
|
939
|
+
* deltas and no keyframe yields NO replay. That asymmetry is the whole decision.
|
|
940
|
+
*
|
|
941
|
+
* So: every keyframe is kept, then the most recent deltas fill whatever byte budget is left. This
|
|
942
|
+
* mirrors the web SDK's `capBytes` policy (which sheds deltas first and never the keyframe), so
|
|
943
|
+
* the two platforms lose the same thing under pressure instead of two different things.
|
|
944
|
+
*
|
|
945
|
+
* BYTES, not a frame count. A count is a poor proxy here: these carry base64 screenshots, so ten
|
|
946
|
+
* frames may be 200 KB or 4 MB depending on device resolution — and this write goes to a KV store
|
|
947
|
+
* on the background transition, where an oversized value is the thing most likely to fail and
|
|
948
|
+
* lose the snapshot entirely. `imageData.length` is the base64 length, which is within ~1% of the
|
|
949
|
+
* serialized cost and needs no extra pass.
|
|
950
|
+
*/
|
|
951
|
+
static _selectFramesToPersist(pending) {
|
|
952
|
+
const isKeyframe = b => b.frame.frameType !== 'delta';
|
|
953
|
+
const size = b => b.imageData?.length ?? 0;
|
|
954
|
+
const keep = [];
|
|
955
|
+
let budget = BackendSessionAdapter.MAX_PERSIST_BYTES;
|
|
956
|
+
/**
|
|
957
|
+
* A COUNT cap as well as a byte budget.
|
|
958
|
+
*
|
|
959
|
+
* The byte budget is the right bound for the KV write; it is the wrong bound for the upload,
|
|
960
|
+
* because the server checks a count. Recovery now chunks, so exceeding this is no longer
|
|
961
|
+
* destructive — but persisting more than can ever be sent in one pass just guarantees leftover
|
|
962
|
+
* work on every launch, and the frames past this point are the least valuable ones anyway.
|
|
963
|
+
*/
|
|
964
|
+
const maxCount = BackendSessionAdapter.MAX_FRAMES_PER_BATCH;
|
|
965
|
+
|
|
966
|
+
// Keyframes first, newest back to oldest — a later keyframe supersedes an earlier one, so if
|
|
967
|
+
// only one fits it should be the one closest to what the user last saw.
|
|
968
|
+
for (let i = pending.length - 1; i >= 0; i--) {
|
|
969
|
+
const b = pending[i];
|
|
970
|
+
if (!isKeyframe(b)) continue;
|
|
971
|
+
const cost = size(b);
|
|
972
|
+
if (cost > budget || keep.length >= maxCount) continue;
|
|
973
|
+
budget -= cost;
|
|
974
|
+
keep.push(b);
|
|
975
|
+
}
|
|
976
|
+
// Then the most recent deltas with what remains.
|
|
977
|
+
for (let i = pending.length - 1; i >= 0; i--) {
|
|
978
|
+
const b = pending[i];
|
|
979
|
+
if (isKeyframe(b)) continue;
|
|
980
|
+
const cost = size(b);
|
|
981
|
+
if (cost > budget || keep.length >= maxCount) continue;
|
|
982
|
+
budget -= cost;
|
|
983
|
+
keep.push(b);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
// Restore capture order: the backend orders frames by `sequenceNumber`, and the recovery POST
|
|
987
|
+
// re-sends this array as-is.
|
|
988
|
+
return keep.sort((a, b) => (a.frame.sequenceNumber ?? 0) - (b.frame.sequenceNumber ?? 0));
|
|
989
|
+
}
|
|
990
|
+
|
|
803
991
|
/** Drop the persisted frame snapshot (after successful delivery). Never throws. */
|
|
804
992
|
_clearPersistedFrames() {
|
|
805
993
|
if (!this._frameStore) return;
|
|
@@ -840,18 +1028,35 @@ class BackendSessionAdapter {
|
|
|
840
1028
|
this._clearPersistedFrames();
|
|
841
1029
|
return;
|
|
842
1030
|
}
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
1031
|
+
_internalLogger.logger.info(`[replay.sdk.frame] recovering ${items.length} frame(s) for prior session ${sessionId}`);
|
|
1032
|
+
/**
|
|
1033
|
+
* DELETE ONLY WHAT WAS ACCEPTED.
|
|
1034
|
+
*
|
|
1035
|
+
* This posted every recovered frame in ONE request and, on any permanent rejection, deleted
|
|
1036
|
+
* the whole snapshot. Since the persistence budget is 2 MB of ~16 KB frames, that request was
|
|
1037
|
+
* routinely over the server's 100-frame cap — so the common outcome was a 4xx followed by the
|
|
1038
|
+
* deletion of a cross-kill recovery snapshot in which every frame was individually fine. The
|
|
1039
|
+
* one thing a recovery buffer must never do.
|
|
1040
|
+
*
|
|
1041
|
+
* Now the send is chunked and only the unaccepted remainder survives. A chunk the server will
|
|
1042
|
+
* never take is abandoned inside `_postFramesChunked` (and reported), so a single poison chunk
|
|
1043
|
+
* cannot wedge every future launch — but a transient failure keeps its frames for next time.
|
|
1044
|
+
*/
|
|
1045
|
+
const remaining = await this._postFramesChunked(sessionId, items);
|
|
1046
|
+
if (remaining.length === 0) {
|
|
846
1047
|
this._clearPersistedFrames();
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
1048
|
+
return;
|
|
1049
|
+
}
|
|
1050
|
+
_internalLogger.logger.warn(`[replay.sdk.frame] prior-session frame recovery deferred`, {
|
|
1051
|
+
kept: remaining.length
|
|
1052
|
+
});
|
|
1053
|
+
try {
|
|
1054
|
+
this._frameStore.set(BackendSessionAdapter.PENDING_FRAMES_KEY, JSON.stringify({
|
|
1055
|
+
sessionId,
|
|
1056
|
+
items: remaining
|
|
1057
|
+
}));
|
|
1058
|
+
} catch {
|
|
1059
|
+
// Re-writing the trimmed snapshot is best-effort; the original is still on disk.
|
|
855
1060
|
}
|
|
856
1061
|
}
|
|
857
1062
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_internalLogger","require","_base","_endpoints","_version","_bridgeAdapter","_nativeModule","BackendSessionAdapter","PENDING_FRAMES_KEY","MAX_PERSIST_FRAMES","_nativeOutboxReady","currentSessionId","_startedSessionIds","Set","pendingFrames","pendingEvents","pendingNetworkRequests","pendingErrors","pendingPerformanceMetrics","pendingLogs","flushTimer","destroyed","ANALYTICS_BUFFER_CAP","LOGS_BATCH_SIZE","LOGS_FLUSH_MAX","_analyticsSessionId","pendingAnalyticsEvents","analyticsFlushTimer","_pendingFinalizeId","constructor","config","batchSize","flushIntervalMs","timeoutMs","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","nativeOutboxTuning","idleThresholdMs","clientKey","_frameStore","storage","objectStorageActive","nativeOutboxEnabled","logger","info","endpoint","_sessionRowReady","has","sendSessionStart","session","sessionId","_startFlushTimer","deviceId","startEndpoint","ENDPOINTS","INGESTION_START","bridgeAdapter","getDeviceInfo","then","nativeInfo","m","metadata","payload","startedAt","analyticsSessionId","device","platform","osVersion","deviceModel","screenWidth","screenHeight","appName","appVersion","bundleId","sdkVersion","SDK_VERSION","releaseStage","buildType","environment","debug","_post","add","catch","sendSessionEnd","Promise","all","_flushFrames","_flushEvents","_flushNetwork","_flushErrors","_flushPerformance","finalizeEndpoint","INGESTION_FINALIZE","endedAt","Date","now","durationMs","totalFrames","artifactIndex","frameRefs","length","totalEvents","eventRefs","finalState","status","finally","_stopFlushTimer","delete","_triggerNativeFlush","startAnalyticsSession","_startAnalyticsFlushTimer","_flushAnalyticsEvents","trackEvent","event","push","overflow","splice","emitLifecycleMarker","type","eventId","_clientId","ts","source","flushAnalytics","forSessionId","batch","events","map","e","_leanEvent","eventsEndpoint","INGESTION_EVENTS","err","_isPermanentHttpError","unshift","finalizeAnalyticsSession","_stopAnalyticsFlushTimer","reconcilePendingFinalize","setInterval","clearInterval","sendEvent","sendFrame","frame","imageData","frameId","width","height","queueNetworkRequest","data","clientId","timestamp","toISOString","queueError","flushErrors","flushAll","_flushLogs","queuePerformanceMetric","queueLog","level","message","toString","Math","random","substring","_enqueueNative","lane","records","native","getReplaySdkNative","enqueueOutboxRecords","_ensureNativeOutbox","initOutbox","resolve","apiBaseUrl","useObjectStorageForFrames","ensureNativeOutboxReady","captureScreenshotToFile","flushNativeOutbox","destroy","clear","_frameMeta","b","f","format","isJsonDelta","frameType","contentType","sequenceNumber","baseFrameId","screenName","screen","trigger","captureReason","sizeBytes","byteSize","masked","redactionState","out","v","label","subtype","_pruneEmpty","Object","keys","undefined","src","k","_postFrameBatch","_clearPersistedFrames","warn","count","result","_uploadFramesViaStorage","frames","framesEndpoint","INGESTION_FRAMES","persistPendingFrames","items","slice","set","JSON","stringify","recoverPersistedFrames","raw","get","parsed","parse","Array","isArray","presignReq","resp","_postReturning","INGESTION_FRAMES_PRESIGN","enabled","byFrameId","Map","p","Error","_putBytes","uploadUrl","storageKey","INGESTION_NETWORK","requests","INGESTION_ERRORS","errors","INGESTION_PERFORMANCE","metrics","INGESTION_LOGS","logs","path","body","url","controller","AbortController","timeout","setTimeout","abort","headers","response","fetch","method","signal","ok","httpErr","clearTimeout","name","json","base64","bytes","base64ToBytes","_stripDataUri","s","comma","indexOf","startsWith","exports"],"sourceRoot":"../../../../src","sources":["features/session/BackendSessionAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_internalLogger","require","_base","_endpoints","_version","_bridgeAdapter","_nativeModule","_batching","BackendSessionAdapter","PENDING_FRAMES_KEY","MAX_PERSIST_BYTES","MAX_FRAMES_PER_BATCH","_nativeOutboxReady","currentSessionId","_startedSessionIds","Set","pendingFrames","pendingEvents","pendingNetworkRequests","pendingErrors","pendingPerformanceMetrics","pendingLogs","flushTimer","destroyed","_captureFailureReported","ANALYTICS_BUFFER_CAP","LOGS_BATCH_SIZE","LOGS_FLUSH_MAX","_analyticsSessionId","pendingAnalyticsEvents","analyticsFlushTimer","_pendingFinalizeId","constructor","config","batchSize","flushIntervalMs","timeoutMs","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","nativeOutboxTuning","idleThresholdMs","clientKey","_frameStore","storage","objectStorageActive","nativeOutboxEnabled","logger","info","endpoint","_sessionRowReady","has","sendSessionStart","session","sessionId","_startFlushTimer","deviceId","startEndpoint","ENDPOINTS","INGESTION_START","bridgeAdapter","getDeviceInfo","then","nativeInfo","m","metadata","payload","startedAt","analyticsSessionId","device","platform","osVersion","deviceModel","screenWidth","screenHeight","appName","appVersion","bundleId","sdkVersion","SDK_VERSION","releaseStage","buildType","environment","debug","_post","add","catch","sendSessionEnd","Promise","all","_flushFrames","_flushEvents","_flushNetwork","_flushErrors","_flushPerformance","finalizeEndpoint","INGESTION_FINALIZE","endedAt","Date","now","durationMs","totalFrames","artifactIndex","frameRefs","length","totalEvents","eventRefs","finalState","status","finally","_stopFlushTimer","delete","_triggerNativeFlush","startAnalyticsSession","_startAnalyticsFlushTimer","_flushAnalyticsEvents","trackEvent","event","push","overflow","splice","emitLifecycleMarker","type","eventId","_clientId","ts","source","flushAnalytics","forSessionId","batch","events","map","e","_leanEvent","eventsEndpoint","INGESTION_EVENTS","err","_isPermanentHttpError","unshift","finalizeAnalyticsSession","_stopAnalyticsFlushTimer","reconcilePendingFinalize","setInterval","clearInterval","sendEvent","sendFrame","frame","imageData","frameId","width","height","queueNetworkRequest","data","clientId","timestamp","toISOString","queueError","flushErrors","flushAll","_flushLogs","queuePerformanceMetric","queueLog","level","message","toString","Math","random","substring","_enqueueNative","lane","records","native","getReplaySdkNative","enqueueOutboxRecords","_ensureNativeOutbox","initOutbox","resolve","apiBaseUrl","useObjectStorageForFrames","ensureNativeOutboxReady","captureScreenshotToFile","flushNativeOutbox","destroy","clear","_frameMeta","b","f","format","isJsonDelta","frameType","contentType","sequenceNumber","baseFrameId","screenName","screen","trigger","captureReason","sizeBytes","byteSize","masked","redactionState","out","v","label","subtype","_pruneEmpty","Object","keys","undefined","src","k","remaining","_postFramesChunked","warn","count","_clearPersistedFrames","_reportCaptureFailure","stage","frameCount","reason","frames","items","chunks","chunkEvents","i","_postFrameBatch","slice","flat","result","_uploadFramesViaStorage","framesEndpoint","INGESTION_FRAMES","persistPendingFrames","_selectFramesToPersist","set","JSON","stringify","pending","isKeyframe","size","keep","budget","maxCount","cost","sort","a","recoverPersistedFrames","raw","get","parsed","parse","Array","isArray","kept","presignReq","resp","_postReturning","INGESTION_FRAMES_PRESIGN","enabled","byFrameId","Map","p","Error","_putBytes","uploadUrl","storageKey","INGESTION_NETWORK","requests","INGESTION_ERRORS","errors","INGESTION_PERFORMANCE","metrics","INGESTION_LOGS","logs","path","body","url","controller","AbortController","timeout","setTimeout","abort","headers","response","fetch","method","signal","ok","httpErr","clearTimeout","name","json","base64","bytes","base64ToBytes","_stripDataUri","s","comma","indexOf","startsWith","exports"],"sourceRoot":"../../../../src","sources":["features/session/BackendSessionAdapter.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -63,6 +63,12 @@ Object.defineProperty(exports, "ScaleBunDebugRoot", {
|
|
|
63
63
|
return _ScaleBunDebugRoot.ScaleBunDebugRoot;
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
+
Object.defineProperty(exports, "ScaleBunErrorBoundary", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _ScaleBunErrorBoundary.ScaleBunErrorBoundary;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
66
72
|
Object.defineProperty(exports, "ScaleBunFlatList", {
|
|
67
73
|
enumerable: true,
|
|
68
74
|
get: function () {
|
|
@@ -227,6 +233,7 @@ Object.defineProperty(exports, "useScaleBunScreen", {
|
|
|
227
233
|
});
|
|
228
234
|
var _ScaleBunFacade = _interopRequireDefault(require("./public/ScaleBunFacade"));
|
|
229
235
|
var _ScaleBunProvider = require("./public/ScaleBunProvider");
|
|
236
|
+
var _ScaleBunErrorBoundary = require("./public/ScaleBunErrorBoundary");
|
|
230
237
|
var _ScaleBunDebugRoot = require("./features/journey/ScaleBunDebugRoot");
|
|
231
238
|
var _ScaleBunScrollView = require("./features/journey/ScaleBunScrollView");
|
|
232
239
|
var _ScaleBunFlatList = require("./features/journey/ScaleBunFlatList");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ScaleBunFacade","_interopRequireDefault","require","_ScaleBunProvider","_ScaleBunDebugRoot","_ScaleBunScrollView","_ScaleBunFlatList","_ScaleBunSectionList","_ScaleBunImpression","_EngagePromptProvider","_EngageAnchor","_OtaOrchestrator","_useOtaUpdate","_OtaEventEmitter","_EngageInlinePlacement","_EngagePromptView","_EngageInAppView","_engageThrottle","_bootstrap","_typedTracker","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_ScaleBunFacade","_interopRequireDefault","require","_ScaleBunProvider","_ScaleBunErrorBoundary","_ScaleBunDebugRoot","_ScaleBunScrollView","_ScaleBunFlatList","_ScaleBunSectionList","_ScaleBunImpression","_EngagePromptProvider","_EngageAnchor","_OtaOrchestrator","_useOtaUpdate","_OtaEventEmitter","_EngageInlinePlacement","_EngagePromptView","_EngageInAppView","_engageThrottle","_bootstrap","_typedTracker","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAMA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAEA,IAAAO,mBAAA,GAAAP,OAAA;AAOA,IAAAQ,qBAAA,GAAAR,OAAA;AAIA,IAAAS,aAAA,GAAAT,OAAA;AAOA,IAAAU,gBAAA,GAAAV,OAAA;AAEA,IAAAW,aAAA,GAAAX,OAAA;AAGA,IAAAY,gBAAA,GAAAZ,OAAA;AAEA,IAAAa,sBAAA,GAAAb,OAAA;AACA,IAAAc,iBAAA,GAAAd,OAAA;AAKA,IAAAe,gBAAA,GAAAf,OAAA;AAMA,IAAAgB,eAAA,GAAAhB,OAAA;AAaA,IAAAiB,UAAA,GAAAjB,OAAA;AAwGA,IAAAkB,aAAA,GAAAlB,OAAA;AAA+E,SAAAD,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ScaleBunErrorBoundary = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _ScaleBunFacade = _interopRequireDefault(require("./ScaleBunFacade"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
/**
|
|
11
|
+
* ScaleBunErrorBoundary — React render errors, forwarded to the SDK.
|
|
12
|
+
*
|
|
13
|
+
* THE GAP THIS CLOSES
|
|
14
|
+
* `ErrorUtils.setGlobalHandler` catches a render error only when NO boundary intercepts it first.
|
|
15
|
+
* The moment a host wraps its tree in its own boundary — which most production apps do — that
|
|
16
|
+
* boundary's `componentDidCatch` consumes the error, it never reaches `ErrorUtils`, and the SDK
|
|
17
|
+
* recorded nothing at all. The screen went blank or fell back, and the crash list stayed empty.
|
|
18
|
+
*
|
|
19
|
+
* The web SDK has shipped `ScaleBunErrorBoundary` from `@scalebun/web-react` for exactly this reason;
|
|
20
|
+
* React Native had no equivalent and no `componentDidCatch` hook a host could forward through. This
|
|
21
|
+
* is the counterpart, and the two are deliberately the same component with the same prop names so a
|
|
22
|
+
* team working across both platforms writes the same thing twice.
|
|
23
|
+
*
|
|
24
|
+
* Use it INSTEAD of your own boundary, or nest it inside one — `onError` runs after capture so an
|
|
25
|
+
* existing boundary's logging keeps working.
|
|
26
|
+
*
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <ScaleBunErrorBoundary fallback={(e) => <Text>Something broke: {e.message}</Text>}>
|
|
29
|
+
* <App />
|
|
30
|
+
* </ScaleBunErrorBoundary>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
class ScaleBunErrorBoundary extends _react.Component {
|
|
35
|
+
state = {
|
|
36
|
+
error: null
|
|
37
|
+
};
|
|
38
|
+
static getDerivedStateFromError(error) {
|
|
39
|
+
return {
|
|
40
|
+
error
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
componentDidCatch(error, info) {
|
|
44
|
+
try {
|
|
45
|
+
/**
|
|
46
|
+
* NOT fatal, matching the web boundary.
|
|
47
|
+
*
|
|
48
|
+
* The app is still running — that is the entire point of a boundary — so this is reported
|
|
49
|
+
* as a handled error rather than a crash. Marking it fatal would put an event the user
|
|
50
|
+
* experienced as a fallback screen into the same bucket as an app that actually died, and
|
|
51
|
+
* the crash rate is a number people act on.
|
|
52
|
+
*
|
|
53
|
+
* `componentStack` travels in `metadata` because that is the shape RN's `captureError`
|
|
54
|
+
* takes; the web SDK accepts it as a top-level context key. Same information, and the
|
|
55
|
+
* difference is in the two facades, not here.
|
|
56
|
+
*/
|
|
57
|
+
_ScaleBunFacade.default.captureError(error, {
|
|
58
|
+
screenName: this.props.screenName,
|
|
59
|
+
metadata: {
|
|
60
|
+
componentStack: info.componentStack ?? undefined
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
} catch {
|
|
64
|
+
/* never let capture break the boundary */
|
|
65
|
+
}
|
|
66
|
+
this.props.onError?.(error, info);
|
|
67
|
+
}
|
|
68
|
+
render() {
|
|
69
|
+
if (this.state.error) {
|
|
70
|
+
const {
|
|
71
|
+
fallback
|
|
72
|
+
} = this.props;
|
|
73
|
+
return typeof fallback === 'function' ? fallback(this.state.error) : fallback ?? null;
|
|
74
|
+
}
|
|
75
|
+
return this.props.children;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.ScaleBunErrorBoundary = ScaleBunErrorBoundary;
|
|
79
|
+
//# sourceMappingURL=ScaleBunErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_ScaleBunFacade","_interopRequireDefault","e","__esModule","default","ScaleBunErrorBoundary","Component","state","error","getDerivedStateFromError","componentDidCatch","info","ScaleBun","captureError","screenName","props","metadata","componentStack","undefined","onError","render","fallback","children","exports"],"sourceRoot":"../../../src","sources":["public/ScaleBunErrorBoundary.tsx"],"mappings":";;;;;;AAuBA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAxBxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBO,MAAMG,qBAAqB,SAASC,gBAAS,CAAoC;EACpFC,KAAK,GAAU;IAAEC,KAAK,EAAE;EAAK,CAAC;EAE9B,OAAOC,wBAAwBA,CAACD,KAAY,EAAS;IACjD,OAAO;MAAEA;IAAM,CAAC;EACpB;EAEAE,iBAAiBA,CAACF,KAAY,EAAEG,IAAe,EAAQ;IACnD,IAAI;MACA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACYC,uBAAQ,CAACC,YAAY,CAACL,KAAK,EAAE;QACzBM,UAAU,EAAE,IAAI,CAACC,KAAK,CAACD,UAAU;QACjCE,QAAQ,EAAE;UAAEC,cAAc,EAAEN,IAAI,CAACM,cAAc,IAAIC;QAAU;MACjE,CAAC,CAAC;IACN,CAAC,CAAC,MAAM;MACJ;IAAA;IAEJ,IAAI,CAACH,KAAK,CAACI,OAAO,GAAGX,KAAK,EAAEG,IAAI,CAAC;EACrC;EAEAS,MAAMA,CAAA,EAAc;IAChB,IAAI,IAAI,CAACb,KAAK,CAACC,KAAK,EAAE;MAClB,MAAM;QAAEa;MAAS,CAAC,GAAG,IAAI,CAACN,KAAK;MAC/B,OAAO,OAAOM,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAAC,IAAI,CAACd,KAAK,CAACC,KAAK,CAAC,GAAIa,QAAQ,IAAI,IAAK;IAC3F;IACA,OAAO,IAAI,CAACN,KAAK,CAACO,QAAQ;EAC9B;AACJ;AAACC,OAAA,CAAAlB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeScaleBunOta.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeScaleBunOta.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAuEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAOeC,gCAAmB,CAACC,GAAG,CAAO,aAAa,CAAC","ignoreList":[]}
|