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

Android: Error: Cannot convert argument of type class com.launchdarkly.android.ConnectionInformationState #59

Closed
ziyoshams opened this issue Oct 7, 2020 · 3 comments

Comments

@ziyoshams
Copy link

Describe the bug
Calling .getConnectionInformation() method is throwing error on Android.

To reproduce

/* eslint-disable react-native/no-inline-styles */
import React, {useEffect, useState} from 'react';
import {SafeAreaView, View, Text} from 'react-native';
import LDClient from 'launchdarkly-react-native-client-sdk';

const client = new LDClient();
const clientConfig = {
  mobileKey: 'MOBILE_KEY',
  stream: true,
  offline: false,
};

const userConfig = {key: 'user123'};

const App = () => {
  const [allFlags, setAllFlags] = useState(false);
  const [connInfo, setConnInfo] = useState(false);
  const [backgroundColor, setBackgroundColor] = useState('white');
  const [err, setError] = useState(null);

  useEffect(() => {
    (async () => {
      try {
        await client.configure(clientConfig, userConfig);

        const bgColor = await client.stringVariation(
          'backgroundColor',
          'yellow',
        );
        setBackgroundColor(bgColor);

        const flags = await client.allFlags();
        setAllFlags(flags);

        const info = await client.getConnectionInformation();
        setConnInfo(info);
      } catch (error) {
        console.log(error);
        setError(error.message);
      }
    })();

    return () => {
      client.close();
    };
  }, []);

  return (
    <View style={{flex: 1}}>
      <View style={{flex: 1}}>
        <SafeAreaView style={{flex: 1, backgroundColor: 'tomato'}}>
          <Text style={{fontSize: 20}}>{connInfo}</Text>
          <Text style={{fontSize: 20}}>{err}</Text>
        </SafeAreaView>

        <SafeAreaView style={{flex: 1, backgroundColor}}>
          <Text
            style={{
              fontSize: 20,
              backgroundColor: 'rgba(255,255,255,0.3)',
            }}>
            {JSON.stringify(allFlags, null, 2)}
          </Text>
        </SafeAreaView>
      </View>
    </View>
  );
};

export default App;

Expected behavior
Calling .getConnectionInformation() method should return meaningful error.

Logs

Error: Cannot convert argument of type class com.launchdarkly.android.ConnectionInformationState
    at Object.promiseMethodWrapper [as getConnectionInformation] (NativeModules.js:103)
    at LDClient.getConnectionInformation (index.js:257)
    at _callee$ (App.js:35)
    at tryCatch (runtime.js:63)
    at Generator.invoke [as _invoke] (runtime.js:293)
    at Generator.next (runtime.js:118)
    at tryCatch (runtime.js:63)
    at invoke (runtime.js:154)
    at runtime.js:164
    at tryCallOne (core.js:37)

SDK version

    "launchdarkly-react-native-client-sdk": "^3.2.1"

Language version, developer tools

System:
    OS: macOS 10.15.7
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 4.16 GB / 32.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.18.3 - ~/.nvm/versions/node/v12.18.3/bin/node
    Yarn: 1.21.1 - /usr/local/bin/yarn
    npm: 6.14.6 - ~/.nvm/versions/node/v12.18.3/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7142.36.36.6200805
    Xcode: 12.0.1/12A7300 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_232 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.3 => 0.63.3
    react-native-macos: Not Found

Additional context
Running it on a physical device Pixel 3a with Android 10.

@torchhound
Copy link
Contributor

Hi @ziyoshams thanks for reporting this issue. A couple of clarifying questions: Are you using TypeScript? Did this method work in previous versions?

File internally as 91895

@ziyoshams
Copy link
Author

@torchhound No, I am not using TypeScript. I did not have any previous projects. I was trying out this service.

LaunchDarklyCI pushed a commit that referenced this issue Apr 1, 2021
* 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>
@torchhound
Copy link
Contributor

Hi @ziyoshams this type issue has been fixed with a new set of methods to access Connection Status in React Native 4.0.

LaunchDarklyCI pushed a commit that referenced this issue May 19, 2021
* 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>
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
None yet
Projects
None yet
Development

No branches or pull requests

2 participants