Open
Description
Describe the bug
The LDProvider returned by asyncWithLDProvider
keeps using the initial flags on mount even though the flags are updated.
To reproduce
- Call
asyncWithLDProvider
and it gets initial flags for example{}
- Mount the
LDProvider
and callidentify
to update the flag to something like{flag1: { value: true}}
- The
ldClient
keeps the latest flags{flag1: { value: true}}
on memory. But theLDProvider
closure keeps the initial flags{}
4. When we re-mount theLDProvider
for some reason, it uses the initial flags for the initial value of the context. - Call the
identify
again to get the latest flags. The{flag1: { value: true}}
is fetched, but theldClient
says "The flags are the same as the current one, so I don't emit the change event". - And the provider keeps the
{}
flags as its context.
Expected behavior
LDProvider
should use the latest flags, which are the same as the ldClient
keeps.
Additional context
I will send a pull request to explain the issue :)
Metadata
Metadata
Assignees
Labels
No labels