[Rollout] Production Rollout 2025-10-13#5367
Merged
Merged
Conversation
…ed (dotnet#5348) ## Problem When updating a subscription using `darc update-subscription` with the popup editor, changes to immutable fields were silently ignored. The command would report success, but fields like `TargetBranch`, `TargetRepository`, and `SourceEnabled` would not be updated, leading to user confusion. As noted in the documentation, these fields cannot be modified because of how Maestro++ tracks pull requests, but the tool was not validating or enforcing this restriction. **Example of the problem:** ```bash > darc update-subscription --id 58cbbaad-a57e-4327-865a-609fa1c10968 # User changes target branch in the popup from 'main' to 'dev' Successfully updated subscription with id '58cbbaad-a57e-4327-865a-609fa1c10968'. # But the target branch is still 'main' - change was silently ignored ``` ## Solution Added validation in `UpdateSubscriptionOperation` after popup values are extracted to detect and reject changes to immutable fields: - **Target Repository URL** - The repository receiving updates - **Target Branch** - The branch receiving updates - **Source Enabled** - Whether the subscription uses source-enabled (VMR) flow When users attempt to modify any of these fields, the operation now fails with a clear error message listing all immutable fields that were changed. **After this fix:** ```bash > darc update-subscription --id 58cbbaad-a57e-4327-865a-609fa1c10968 # User changes target branch in the popup from 'main' to 'dev' The following immutable fields cannot be modified: - Target Branch (cannot be changed from 'main') ``` ## Changes - **UpdateSubscriptionOperation.cs**: Added validation logic after popup values are extracted to compare against the original subscription and detect immutable field changes - **Darc.md**: Updated documentation to explicitly list all immutable fields and clarify that changes will result in an error ## Testing - All existing tests continue to pass (117 passed, 1 skipped) - Build succeeds with no warnings - Documentation updated to reflect the new behavior Fixes dotnet#4248 Fixes dotnet#4725 <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>darc update-subscription target branch doesn't work but also doesn't error</issue_title> > <issue_description>If I update a subscription's target branch, darc tells me that it successfully updated the subscription but the change is not respected: > > > C:\git\arcade-services\tools\FlatFlowMigrationCli>darc update-subscription --id 58cbbaad-a57e-4327-865a-609fa1c10968 > Successfully updated subscription with id '58cbbaad-a57e-4327-865a-609fa1c10968'. > > If we can't update target branches, we should at least error out during the save.</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > <comment_new><author>@dkurepa</author><body> > @ViktorHofer when this happened, did you use the `update-subscription` with the pop-up? </body></comment_new> > <comment_new><author>@ViktorHofer</author><body> > Yes. Pop-up in notepad on Windows.</body></comment_new> > <comment_new><author>@dkurepa</author><body> > Ah I see, thanks</body></comment_new> > <comment_new><author>@dkurepa</author><body> > The best thing to do here is probably to error out. > Ideally we wouldn't do this just for the target branch, but for other non mutable fields: > - Id > - targetRepository > - target branch > - source enabled > > So after a popup is closed, we'd check if any of these are changed, and error out with all of them</body></comment_new> > </comments> > </details> Fixes dotnet#4725 <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey3.medallia.com/?EAHeSx-AP01bZqG0Ld9QLQ) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: dkurepa <[email protected]>
… provided (dotnet#5357) dotnet#5220 a small UX fix that makes updating subscriptions a better experience --------- Co-authored-by: Copilot <[email protected]>
<!-- Link the GitHub or AzDO issue this pull request is associated with. Please copy and paste the full URL rather than using the dotnet/arcade-services# syntax --> dotnet#5263
premun
approved these changes
Oct 13, 2025
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.
#5366