fix(manual-api): allow multiple overrides for lists (rates_import_override, rates_export_override) - #4658
Open
chickenonaraft88 wants to merge 1 commit into
Conversation
…m colliding without an explicit index dict_list overrides (rates_import_override, rates_export_override) hold several simultaneous no-index time windows, but the manual API deduped stored commands by name, so a new no-index window silently replaced the previous one instead of coexisting (springfall2008#4405). api_select_update() and get_arg() are now index-aware: a no-index dict_list override only collides with an exact duplicate, while explicit-index and scalar overrides keep replace-on-resend behaviour. The stored index only dedupes at write time - it has no meaning as an output list position. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
What
Fixes #4405
Allow non-indexed
dict_listoverrides to accumulate rather than assuming they are all at index 0.Fix
Both api_select_update() (storage) and get_arg() (the list-merge fetch.py's basic_rates() consumes) are now index-aware:
Test plan
test_manual_api.pygained coverage for the storage-layer dedup rules, theget_arg/basic_ratesmerge behaviour, and the malformed-index guard - no prior test exercised multiple simultaneous no-index overrides at all, which is how this went unnoticed.🤖 Generated with Claude Code