Currently, the cache sends experiment enrollment information to the app servers, which process it, merge it with enrollment information for logged-in experiments, and send all experiment enrollment to the client to initialize the JS SDK. However, the app servers will likely not be involved in serving requests enrolled in non-cache-splitting everyone experiments. Fortunately, the cache sends experiment enrollment information to the browser in the WMF-Uniq server timing header. Therefore, the JS SDK must be updated to get everyone experiment enrollment information from the WMF-Uniq Server-Timing header.
AC
- The JS gets enrollment information for everyone experiments from the WMF-Uniq server timing header
- The JS SDK detects experiments that don't have CSS classes added to the <body> element and adds them
Requirements
- QA?
- Documentation?
Notes
- The PHP SDK will still need to read the X-Experiment-Enrollments header to get enrollment information for cache-splitting experiments