Rework integration of remote features for consistency between testing and live applications
Feature Description
Remote features are currently set up unnecessarily late in the plugin bootstrapping which has led to at least one bug where a difference in behavior from our normal testing differed from pre-release testing with a remote-enabled feature. This can be addressed by setting up remote features as early as possible and breaking apart the bits which require running later.
See #8340 for a WIP POC.
Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance criteria
- Remote feature infrastructure (and its minimal dependencies) should be initialized and registered as early as possible, but not outside of
Plugin::register - The responsibilities of each part should be separated to allow for each to be set up as early as possible
Implementation Brief
- [ ]
Test Coverage
QA Brief
Changelog entry
@aaemnnosttv are you still planning to work on this one? If not, please unassign yourself.
Unassigning myself as I am not familiar enough with this feature and the priorities it would need to be split into
Removing QA:Eng since this QA should be a general plugin test with/without various feature flags enabled.
@aaemnnosttv In QAB, I don’t understand the phrase Feature flag enabled 'manually as if received via the proxy in the DB.' Can you please explain what this means? Does it refer to setting up Site Kit using the developer plugin? Thanks !
Oh sorry @mohitwp, I just meant the same behavior whether the feature was enabled via the Tester or set in the database (as it would be for a live site). Does that make more sense?
QA Update ✅
- Tested on main environment.
- Smoke tested plugin.
- Verified all modules setup.
- Verified entity and main dashboard.
- Verified settings page.
- Verified Ad blocker functionality.
- Verified Key metrics functionality.
- Verified Enhanced measurement functionality.
- Verified audience segmentation.
- Verified modules when feature flag enabled by Tester plugin and or set in the database.
- No console errors are found.
- All functionalities working as expected.