-
Notifications
You must be signed in to change notification settings - Fork 83
[FSSDK-8475] ODP Integration for Optimizely Client and User Context (Browser) #799
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
Conversation
Note: Putting this out for fast-track review and iteration despite some gaps in flight (such as TODO tests). @jaeopt / @mikechu-optimizely, if you could give this a look and an initial round of review, it'd be much appreciated - thank you in advance! |
packages/optimizely-sdk/lib/optimizely_user_context/index.tests.js
Outdated
Show resolved
Hide resolved
packages/optimizely-sdk/lib/utils/local_storage/tryLocalStorage.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A good start!
Reviewed at the top level only and added a few major suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few more suggestions. Let's discuss about top-level interface.
packages/optimizely-sdk/lib/plugins/key_value_cache/browserAsyncStorageCache.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I'll continue to help refine if more commits are added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All changes look good!
One remaining concern is to support all options for ODPManager.createInstance. See my comments and let's discuss.
}), | ||
segmentManager: odpOptions.segmentManager, | ||
eventManager: odpOptions.eventManager, | ||
logger, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How can we pass down other options like segmentApiTimeout
, eventApiTimeout
, or eventFlushInterval
?
We can passdown instance of requestHandler
with apiTimeout values, but wondering how we can support other configs like eventFlushInterval
or future options.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can add these extra options in a separate PR. I do not see a clean solution to support eventFlushInterval
and future options.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jaeopt - thanks! Yeah, it's looking like it might get a bit clunky for those additions and beyond. Let's chat tomorrow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@opti-jnguyen as discussed, let's move this refactoring to a separate PR. I'll approve this as is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll move remaining work for refactoring discussed into a separate PR.
Approved as is.
Merging without FSC passing - will work on failing FSC tests at a later date. |
Summary
Test plan
Issues