Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prepare 4.2.3 release #221

Merged
merged 4 commits into from
Jun 7, 2023
Merged

prepare 4.2.3 release #221

merged 4 commits into from
Jun 7, 2023

Conversation

LaunchDarklyReleaseBot
Copy link
Contributor

[4.2.3] - 2023-06-06

Fixed:

  • Streaming data connection to a relax proxy now calls the callback correctly after fetching the flag data.
  • Flag listeners are now called correctly after identify results in flag value changes.

louis-launchdarkly and others added 4 commits May 31, 2023 13:39
Just a simple link fix before I get distracted by something else.
**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions

**Related issues**


https://app.shortcut.com/launchdarkly/story/204732/escalation-rn-android-sdk-registerallflagslistener-not-notifying-flag-changes

**Describe the solution you've provided**

The code for calculating which listeners to callback to was checking the
version of the flag info. In the case of identify, the evaluation result
can change, but the version does not. When this happened in the old
code, listeners would not get called in the identify case when they
should have been called.

Fix is to update the logic to just check the flag value. This way, no
matter what caused the flag to change, listeners will get all calls when
the value changes (which is really all they are interested in anyway).

**Describe alternatives you've considered**

Also considered removing the conditionals completely. This would result
in the listeners being called much more frequently, but this bug would
be eliminated. This would have violated the listener contract which says
you'll be called when the flag changes.

**Additional context**

This issue affects Flutter and React-native as well, so those will be
getting PRs as well once this change is released.
**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions

**Related issues**

https://app.shortcut.com/launchdarkly/story/205006/escalation-customer-found-that-after-upgrading-the-rn-sdk-from-6-2-4-to-7-1-4-our-android-app-s-ld-integration-started-failing

**Describe the solution you've provided**
Because of the rework of the SDK streaming data source module, we missed
a change to signal to the SDK that initialization is complete, for the
ping and fetch case (which uses by Relay). This callback happens for
both Android 3.x and iOS currently, so we are adding this back to
Android 4.x.

Issue: The method used are private and hard to test individually.

**Describe alternatives you've considered**
Potentially making some method public, or making a public testing
wrapper of a method that we don't expose. But that is a janky pattern so
I want to discuss.

**Additional context**
N/A
@tanderson-ld tanderson-ld self-requested a review June 7, 2023 14:18
@tanderson-ld tanderson-ld merged commit 7c5ed32 into main Jun 7, 2023
@tanderson-ld tanderson-ld deleted the release-4.2.3 branch June 7, 2023 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants