Skip to content

fix(unstable-v2): don't clear replacement lists on a malformed value - #2568

Merged
benbrandt merged 1 commit into
mainfrom
fix/replacement-lists-strict
Oct 27, 2026
Merged

benbrandt merged 1 commit into
mainfrom
fix/replacement-lists-strict

Conversation

@benbrandt

Copy link
Copy Markdown
Member

Complete-replacement lists used DefaultOnError<VecSkipError>, so a non-array value (including null) turned into []. That silently cleared the Client's commands, config options or plan entries, and couldn't be told apart from an intentional clear.

These fields now use VecSkipError only. A non-array value fails the update, so stored state stays as it was, while invalid items are still skipped:

  • config_option_update.configOptions
  • available_commands_update.availableCommands
  • session/set_config_option response configOptions
  • item-plan entries

Setup-response configOptions/availableCommands stay lenient: there an empty list only means nothing was advertised. Adds a test. v2 only.

@benbrandt
benbrandt requested a review from a team as a code owner October 27, 2026 21:33
@benbrandt
benbrandt merged commit 5bf2ee0 into main Oct 27, 2026
13 checks passed
@benbrandt
benbrandt deleted the fix/replacement-lists-strict branch October 27, 2026 21:43
@acp-release-bot acp-release-bot Bot mentioned this pull request Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant