@launchdarkly/react-native-client-sdk 10.12.8 → 10.13.1
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,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [10.13.1](https://github.com/launchdarkly/js-core/compare/react-native-client-sdk-v10.13.0...react-native-client-sdk-v10.13.1) (2026-02-25)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* The following workspace dependencies were updated
|
|
9
|
+
* dependencies
|
|
10
|
+
* @launchdarkly/js-client-sdk-common bumped from 1.19.0 to 1.19.1
|
|
11
|
+
|
|
12
|
+
## [10.13.0](https://github.com/launchdarkly/js-core/compare/react-native-client-sdk-v10.12.8...react-native-client-sdk-v10.13.0) (2026-02-24)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* move bootstrap capability to js-client-common (SDK-1874) ([#1113](https://github.com/launchdarkly/js-core/issues/1113)) ([baa8ab4](https://github.com/launchdarkly/js-core/commit/baa8ab43898be51a498c2a8238e466f5194c2698))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
* The following workspace dependencies were updated
|
|
23
|
+
* dependencies
|
|
24
|
+
* @launchdarkly/js-client-sdk-common bumped from 1.18.1 to 1.19.0
|
|
25
|
+
|
|
3
26
|
## [10.12.8](https://github.com/launchdarkly/js-core/compare/react-native-client-sdk-v10.12.7...react-native-client-sdk-v10.12.8) (2026-02-23)
|
|
4
27
|
|
|
5
28
|
|
|
@@ -7,6 +7,7 @@ export default class MobileDataManager extends BaseDataManager {
|
|
|
7
7
|
constructor(platform: Platform, flagManager: FlagManager, credential: string, config: Configuration, _rnConfig: ValidatedOptions, getPollingPaths: () => DataSourcePaths, getStreamingPaths: () => DataSourcePaths, baseHeaders: LDHeaders, emitter: LDEmitter, diagnosticsManager?: internal.DiagnosticsManager);
|
|
8
8
|
private _debugLog;
|
|
9
9
|
identify(identifyResolve: () => void, identifyReject: (err: Error) => void, context: Context, identifyOptions?: LDIdentifyOptions): Promise<void>;
|
|
10
|
+
private _finishIdentifyFromBootstrap;
|
|
10
11
|
private _setupConnection;
|
|
11
12
|
setNetworkAvailability(available: boolean): void;
|
|
12
13
|
setConnectionMode(mode: ConnectionMode): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileDataManager.d.ts","sourceRoot":"","sources":["../../src/MobileDataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,QAAQ,
|
|
1
|
+
{"version":3,"file":"MobileDataManager.d.ts","sourceRoot":"","sources":["../../src/MobileDataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,QAAQ,EAET,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe;IAU1D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR5B,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAQ;IAC3C,SAAS,CAAC,cAAc,EAAE,cAAc,CAAe;gBAGrD,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACJ,SAAS,EAAE,gBAAgB,EAC5C,eAAe,EAAE,MAAM,eAAe,EACtC,iBAAiB,EAAE,MAAM,eAAe,EACxC,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,SAAS,EAClB,kBAAkB,CAAC,EAAE,QAAQ,CAAC,kBAAkB;IAgBlD,OAAO,CAAC,SAAS;IAIF,QAAQ,CACrB,eAAe,EAAE,MAAM,IAAI,EAC3B,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,EACpC,OAAO,EAAE,OAAO,EAChB,eAAe,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,IAAI,CAAC;IA8ChB,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,gBAAgB;IA8CxB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAI1C,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5D,iBAAiB,IAAI,cAAc;CAGpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseDataManager, Context, makeRequestor, } from '@launchdarkly/js-client-sdk-common';
|
|
1
|
+
import { BaseDataManager, Context, makeRequestor, readFlagsFromBootstrap, } from '@launchdarkly/js-client-sdk-common';
|
|
2
2
|
const logTag = '[MobileDataManager]';
|
|
3
3
|
export default class MobileDataManager extends BaseDataManager {
|
|
4
4
|
constructor(platform, flagManager, credential, config, _rnConfig, getPollingPaths, getStreamingPaths, baseHeaders, emitter, diagnosticsManager) {
|
|
@@ -18,11 +18,17 @@ export default class MobileDataManager extends BaseDataManager {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
this.context = context;
|
|
21
|
+
// When bootstrap is provided, resolve identify immediately then fall through to connect.
|
|
22
|
+
if (identifyOptions === null || identifyOptions === void 0 ? void 0 : identifyOptions.bootstrap) {
|
|
23
|
+
this._finishIdentifyFromBootstrap(context, identifyOptions, identifyResolve);
|
|
24
|
+
}
|
|
25
|
+
// Bootstrap path already called resolve so we use this to prevent duplicate resolve calls.
|
|
26
|
+
const resolvedFromBootstrap = !!(identifyOptions === null || identifyOptions === void 0 ? void 0 : identifyOptions.bootstrap);
|
|
21
27
|
const offline = this.connectionMode === 'offline';
|
|
22
28
|
// In offline mode we do not support waiting for results.
|
|
23
29
|
const waitForNetworkResults = !!(identifyOptions === null || identifyOptions === void 0 ? void 0 : identifyOptions.waitForNetworkResults) && !offline;
|
|
24
30
|
const loadedFromCache = await this.flagManager.loadCached(context);
|
|
25
|
-
if (loadedFromCache && !waitForNetworkResults) {
|
|
31
|
+
if (loadedFromCache && !waitForNetworkResults && !resolvedFromBootstrap) {
|
|
26
32
|
this._debugLog('Identify completing with cached flags');
|
|
27
33
|
identifyResolve();
|
|
28
34
|
}
|
|
@@ -35,7 +41,9 @@ export default class MobileDataManager extends BaseDataManager {
|
|
|
35
41
|
}
|
|
36
42
|
else {
|
|
37
43
|
this._debugLog('Offline identify - no cached flags, using defaults or already loaded flags.');
|
|
38
|
-
|
|
44
|
+
if (!resolvedFromBootstrap) {
|
|
45
|
+
identifyResolve();
|
|
46
|
+
}
|
|
39
47
|
}
|
|
40
48
|
}
|
|
41
49
|
else {
|
|
@@ -43,6 +51,15 @@ export default class MobileDataManager extends BaseDataManager {
|
|
|
43
51
|
this._setupConnection(context, identifyResolve, identifyReject);
|
|
44
52
|
}
|
|
45
53
|
}
|
|
54
|
+
_finishIdentifyFromBootstrap(context, identifyOpts, identifyResolve) {
|
|
55
|
+
let { bootstrapParsed } = identifyOpts;
|
|
56
|
+
if (!bootstrapParsed) {
|
|
57
|
+
bootstrapParsed = readFlagsFromBootstrap(this.logger, identifyOpts.bootstrap);
|
|
58
|
+
}
|
|
59
|
+
this.flagManager.setBootstrap(context, bootstrapParsed);
|
|
60
|
+
this._debugLog('Identify - Initialization completed from bootstrap');
|
|
61
|
+
identifyResolve();
|
|
62
|
+
}
|
|
46
63
|
_setupConnection(context, identifyResolve, identifyReject) {
|
|
47
64
|
var _a;
|
|
48
65
|
const rawContext = Context.toLDContext(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileDataManager.js","sourceRoot":"","sources":["../../src/MobileDataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAGf,OAAO,EAOP,aAAa,
|
|
1
|
+
{"version":3,"file":"MobileDataManager.js","sourceRoot":"","sources":["../../src/MobileDataManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ldApplication, ldDevice } from './autoEnv';
|
|
2
2
|
const sdkName = '@launchdarkly/react-native-client-sdk';
|
|
3
|
-
const sdkVersion = '10.
|
|
3
|
+
const sdkVersion = '10.13.1'; // x-release-please-version
|
|
4
4
|
export default class PlatformInfo {
|
|
5
5
|
constructor(_logger, _config) {
|
|
6
6
|
this._logger = _logger;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@launchdarkly/react-native-client-sdk",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.13.1",
|
|
4
4
|
"description": "React Native LaunchDarkly SDK",
|
|
5
5
|
"homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/sdk/react-native",
|
|
6
6
|
"repository": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react-native": "*"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@launchdarkly/js-client-sdk-common": "1.
|
|
44
|
+
"@launchdarkly/js-client-sdk-common": "1.19.1",
|
|
45
45
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
46
46
|
"base64-js": "^1.5.1"
|
|
47
47
|
},
|