chore: support deprecating controller by controller#33368
Open
juanmigdr wants to merge 3 commits into
Open
Conversation
Contributor
PR template — items to address before "Ready for review"Warnings — informational, address before merging:
See docs/readme/ready-for-review.md for the full Definition of Ready for Review. |
bergarces
approved these changes
Jul 15, 2026
Prithpal-Sooriya
approved these changes
Jul 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Extends the existing
assetsUnifyStateremote feature flag to support adeprecatedControllersarray, mirroring the pattern already used on the Extension. This allows individual controllers to be deprecated one-by-one via LaunchDarkly without a code deploy.Changes:
deprecatedControllers?: string[]to theAssetsUnifyStateFeatureFlagtypegetIsDeprecatedController(flagValue, controllerName)helper to check if a specific controller is listed for deprecationselectIsControllerDeprecated(controllerName)selector factory for use in controller init filesdeprecatedControllers: []in theassetsUnifyStateproduction default shapeChangelog
CHANGELOG entry: support deprecating controller by controller from assets
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-3637
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Low Risk
Flag-shape and selector-only changes with defensive defaults; no runtime controller behavior changes until consumers adopt the new API.
Overview
Adds remote-config support to mark individual Engine controllers as deprecated under the
assetsUnifyStateflag, aligned with the Extension pattern.AssetsUnifyStateFeatureFlagnow accepts an optionaldeprecatedControllersstring array.getIsDeprecatedControllerandselectIsControllerDeprecated(controllerName)read that list from remote flags (missing/invalid flag data safely yields false). Unit tests cover list membership, empty/absent arrays, and bad flag values.The feature-flag registry updates
assetsUnifyStateproduction defaults to includedeprecatedControllers: []and adds an8.3.0version entry with the flag enabled at feature version1. Controller init files are not changed in this PR—the new selector is intended for follow-up wiring.Reviewed by Cursor Bugbot for commit f364668. Bugbot is set up for automated code reviews on this repo. Configure here.