-
Notifications
You must be signed in to change notification settings - Fork 21
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
Deploy client-side shareTerminologyEnabled
feature flag
#3188
Conversation
shareTerminologyEnabled
feature flag
QA Summary
Test CoverageCoverage report for `packages/client`
Coverage report for `packages/server`
|
Terraform Summary
Hint: If "Terraform Format & Style" failed, run OutputValidation Output
Plan Summary
Pusher: @TylerHendrickson, Action: |
Pseudo-testing update: The Terraform plan for this PR shows the expected changes for - window.APP_CONFIG.featureFlags = {"newGrantsDetailPageEnabled":true,"newTerminologyEnabled":true};
+ window.APP_CONFIG.featureFlags = {"newGrantsDetailPageEnabled":true,"newTerminologyEnabled":true,"shareTerminologyEnabled":true}; Full deploy-config.js diff:# module.website.aws_s3_object.deploy-config[0] will be updated in-place
~ resource "aws_s3_object" "deploy-config" {
~ content = <<-EOT
window.APP_CONFIG = window.APP_CONFIG || {};
window.APP_CONFIG.apiURLForGOST = 'https://api.staging.grants.usdr.dev/';
window.apiURLForGOST = window.APP_CONFIG.apiURLForGOST; // Legacy
window.APP_CONFIG.DD_RUM_ENABLED = true;
- window.APP_CONFIG.DD_RUM_CONFIG = {"allowedTracingUrls":["https://api.staging.grants.usdr.dev"],"applicationId":"15db471e-2ccb-4d3c-a6bf-99b750d748f5","clientToken":"pub50834fcc1999d53e546519b1a0f03934","defaultPrivacyLevel":"mask","env":"staging","service":"gost","sessionReplaySampleRate":100,"sessionSampleRate":100,"site":"datadoghq.com","trackLongTasks":true,"trackResources":true,"trackUserInteractions":true,"version":"cdb7faa6fbe932d1179cb7a[368](https://github.com/usdigitalresponse/usdr-gost/actions/runs/9569181060/job/26381353361#step:17:369)7e31c4e76b2d0f"};
+ window.APP_CONFIG.DD_RUM_CONFIG = {"allowedTracingUrls":["https://api.staging.grants.usdr.dev"],"applicationId":"15db471e-2ccb-4d3c-a6bf-99b750d748f5","clientToken":"pub50834fcc1999d53e546519b1a0f03934","defaultPrivacyLevel":"mask","env":"staging","service":"gost","sessionReplaySampleRate":100,"sessionSampleRate":100,"site":"datadoghq.com","trackLongTasks":true,"trackResources":true,"trackUserInteractions":true,"version":"f10454078df8243df910c3a4255912d748ef6616"};
window.APP_CONFIG.GOOGLE_TAG_ID = 'G-D5DFR7BN0N';
- window.APP_CONFIG.featureFlags = {"newGrantsDetailPageEnabled":true,"newTerminologyEnabled":true};
+ window.APP_CONFIG.featureFlags = {"newGrantsDetailPageEnabled":true,"newTerminologyEnabled":true,"shareTerminologyEnabled":true};
window.APP_CONFIG.overrideFeatureFlag = (flagName, overrideValue) => {
const storageKey = 'featureFlags';
let overrides = {};
try {
overrides = JSON.parse(window.sessionStorage.getItem(storageKey)) || {};
} catch (e) {
console.error(`Error parsing window.sessionStorage.${storageKey} as JSON:`, e);
console.warn(`window.sessionStorage.${storageKey} will be replaced.`);
}
overrides[flagName] = overrideValue;
window.sessionStorage.setItem(storageKey, JSON.stringify(overrides));
console.log('New feature flag overrides in page session:',
window.sessionStorage.getItem(storageKey));
};
EOT
~ etag = "f0675359849f8cdfc3ca580cdde6f295" -> "f610ce9294c888b69ae6e984f95bf932"
id = "/config/deploy-config.js"
tags = {}
~ version_id = "5w2Pbp80hIrzzXbye3lFMDSzKF72VNGJ" -> (known after apply)
# (10 unchanged attributes hidden)
} |
Out of curiosity, do we have a checklist for when we create new feature flags? |
We have a decent amount of documentation around our approach to feature flags, but it doesn't provide a succinct checklist. Not mutually exclusive, but in retrospect, I probably should have been more explicit about the Terraform-related changes for the client-side feature flag in #3060. |
Ticket #3060 (follow up to #3147)
Description
This PR registers the client-side
shareTerminologyEnabled
feature flag in Staging and Production environments. By default, it is enabled in Staging and disabled in Production.