Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

Support for anonymous users #100

Closed
roryf opened this issue Nov 3, 2021 · 8 comments
Closed

Support for anonymous users #100

roryf opened this issue Nov 3, 2021 · 8 comments
Labels
enhancement New feature or request

Comments

@roryf
Copy link

roryf commented Nov 3, 2021

Is your feature request related to a problem? Please describe.
I would like to use the SDK for anonymous users, i.e. pre-registration in our app.

Describe the solution you'd like
Make user an optional parameter in LDClient#configure. Even if i ignore typescript warnings, the LaunchdarklyReactNativeClient#internalConfigure function requires a user object to configure the native iOS client.

Describe alternatives you've considered
As far as I can tell, the only way around this currently is to generate my own key and pass { key: myGeneratedRandomKey, anonymous: true } to configure.

Additional context
The React client clearly defaults to anonymous user without specifying a key, and the initial user parameter is optional in the underlying LDClient iOS SDK

@roryf
Copy link
Author

roryf commented Nov 3, 2021

I have tried passing { anonymous: true } and the promise from configure is not resolved or rejected (it really should be resolved or rejected, this is probably a separate bug). Only by passing a key prop will the promise resolve and I can access flags.

@bwoskow-ld
Copy link
Member

Hi @roryf,

Our React Native SDK does work for anonymous users. However, at present you'll need to provide a user object with both a defined key attribute and anonymous: true as you noted in your workaround.

Our React Native SDK is written as a wrapper around our native iOS and Android SDKs. While this improves our ability to develop and maintain the SDK more efficiently, it also means that from time to time we need to deal with inconsistencies between the native SDKs' behavior and APIs. As you pointed out, the iOS SDK takes an optional user parameter -- however, the Android SDK requires the user parameter when initializing. This is why the React Native SDK also requires that a user be provided at initialization.

You also linked to the React SDK as an example where the behavior differs. This is because of a feature we built into our JavaScript SDK where the SDK can automatically generate unique keys for anonymous users. We haven't carried this feature over to any other SDKs (other than the React SDK which is implemented as a wrapper around the JS SDK, similar to the relationship between the React Native SDK and the native iOS/Android SDKs). I believe that this is what your feature request is most about -- that you want the React Native SDK to automatically generate user keys when provided with a user of { anonymous: true }, rather than actually making the user attribute optional.

Can you confirm that this is what you're after? In the time until this feature request is addressed, you'll need to generate user keys in your own application code when initializing the SDK.

As for your follow-up comment, this does sound like a separate bug that can be investigated. The promise should definitely either resolve or be rejected in all cases.

Cheers,
@bwoskow-ld

@bwoskow-ld bwoskow-ld added the enhancement New feature or request label Nov 5, 2021
@roryf
Copy link
Author

roryf commented Nov 8, 2021

@bwoskow-ld thanks for the detailed explanation, makes sense.

Can you confirm that this is what you're after?

Yes, passing { anonymous: true } and having key generated by the SDK would work fine.

@bwoskow-ld
Copy link
Member

Understood, thanks. I filed a feature request for this on our backlog. It isn't a high priority at the moment, though, so I do recommend in the meantime that you continue to generate the user key in your application code before passing in fully constructed user object.

Filed internally as 130395.

@andrew-hm
Copy link

if you're using segment, their library generates anonymousId well that comply with Apple’s required privacy policies, maintains compatibility, and also enables correct tracking in situations where multiple people use the same device, since the UUID can be regenerated.

@roryf
Copy link
Author

roryf commented Nov 24, 2021

@andrew-hm thanks, we are using Segment and it's presented another issue where the anonymousId we generate for LD does not match the events Segment is sending which prevents experiments from showing any conversions. So we need to change this to use the Segment anonymousId anyway, which kinda makes this request redundant in our use case!

@shaddeen
Copy link

Any idea where this feature sits in your roadmap?

@gwhelanLD
Copy link
Contributor

Hi @shaddeen,

We've just released 5.1.1 which should resolve this issue. The React Native SDK will automatically generate a key for for users when one is not provided and mark the user as anonymous as of this version. I'll close this issue now that we've added this support.

Hope this helps,
@gwhelanLD

LaunchDarklyReleaseBot added a commit that referenced this issue Mar 18, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Mar 25, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Apr 14, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue May 17, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Aug 2, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Bump Android SDK to 3.1.6

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Aug 16, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Sep 29, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

* Upgrade Native Android SDK to 3.1.7

* Try to bump Android SDK to 3.2.0

* The null check logic for isInitialized

* Fix spacing

* Support React Native 0.70. (#129)

* Add RN 0.70.1 and Xcode 14.0.1 to the CircleCI test config

* Add the exclusion for RN 0.64 and 0.65 for Xcode 14.0.1

* More update to the Android isInitialized logic (#130)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Oct 6, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

* Upgrade Native Android SDK to 3.1.7

* Try to bump Android SDK to 3.2.0

* The null check logic for isInitialized

* Fix spacing

* Support React Native 0.70. (#129)

* Add RN 0.70.1 and Xcode 14.0.1 to the CircleCI test config

* Add the exclusion for RN 0.64 and 0.65 for Xcode 14.0.1

* More update to the Android isInitialized logic (#130)

* Revert the isInitialized change and fix package.json (#131)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this issue Jan 30, 2023
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

* Upgrade Native Android SDK to 3.1.7

* Try to bump Android SDK to 3.2.0

* The null check logic for isInitialized

* Fix spacing

* Support React Native 0.70. (#129)

* Add RN 0.70.1 and Xcode 14.0.1 to the CircleCI test config

* Add the exclusion for RN 0.64 and 0.65 for Xcode 14.0.1

* More update to the Android isInitialized logic (#130)

* Revert the isInitialized change and fix package.json (#131)

* Initial commit

* Update README.md

* yarn inside test app as well initially

* Create CODEOWNERS

* Add jcenter as repo source to solve unknown facebook imports. Remove redundant yarn install.

* Update to gradle 7.2

* Remove lock files and ignore them

* Update README.md

* Revert "Remove lock files and ignore them"

This reverts commit 7ea62cd.

* Added react-native to dev dep to fix jest failing to run due to some rn version issue.

* Attempt to fix android 0.64 minCompileSdk build error

* Rollback jcenter and resolution changes

* Increase compile version to fix rn 0.64.3 build errors

* Update config.yml

* Rollback to main version

* Initial commit

* Update .prettierrc.js

* Prettify code

* Ran prettier on js and json files

* Update App.js

* Update ios sdk version

* Disable autoCaps

* Corrected autoCapitalize from false to none

* Update App.js

* Fixed bug where podspec and LICENCE files are not copied to test app's node modules

* Create lefthook.yml

* Added ios ApplicationInfo support. Split modd file. Update ios sdk version.

* Update LaunchdarklyReactNativeClient.swift

* Create modd-ios.conf

* Split modd configs into ios and android. Update readme.

* Update LaunchdarklyReactNativeClient.swift

* Fix bug where version is incorrectly set

* Delete lefthook.yml

* Bumped min ios deployment target

* Rolled bak xcode proj change and set min ios sdk version in podspec

* Update project.pbxproj

* Hack template Podfile to support minimum ios 11

* More ios 11 patch hacks

* Update config.yml

* Hack 0.64.x build.gradle to use minSdkVersion 30

* Update config.yml

* Force rn android binaries to be downloaded from facebook. Update gradle.

* Remove accidentally committed yarn.lock. Update manual test app's gradle versions.

* Hack circleci config to speed up build

* Update build.gradle

* Update build.gradle

* Update build.gradle

* Update config.yml

* Restore circleci config, updating 0.64.3 to 0.64.4

* Update config.yml

* Create modd.conf

* Added Application types

---------

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
Co-authored-by: Yusinto Ngadiman <yusinto@gmail.com>
Co-authored-by: Yusinto Ngadiman <yus@launchdarkly.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants