Stop 'Dropping unknown config keys: stitch_*' warning on load#594
Open
linkmodo wants to merge 1 commit into
Open
Stop 'Dropping unknown config keys: stitch_*' warning on load#594linkmodo wants to merge 1 commit into
linkmodo wants to merge 1 commit into
Conversation
WorkspaceConfig.to_dict() serializes the StitchConfig fields, and _build_stitch() reconstructs them, but StitchConfig was absent from the known-keys set in from_flat_dict(), so stitch_* keys were flagged as unknown and logged "Dropping unknown config keys" on every load of a stitched (or freshly-serialized) edit. Add StitchConfig to that set.
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.
Summary
Every load of a serialized edit logs:
WorkspaceConfig.to_dict()serializes theStitchConfigfields (res.update(asdict(self.stitch))) andfrom_flat_dict()'s_build_stitch()reconstructs them — butStitchConfigwas missing from theconfig_classeslist that builds the known-keys set. So the stitch keys were treated as unknown and warned about on every load, despite being consumed correctly. The stitch config itself round-tripped fine; only the spurious warning was the problem.Fix: add
StitchConfigto that known-keys list.Test plan
tests/test_config_deserialization.py:test_stitch_keys_do_not_warn— asserts no warning when loading a freshly serialized config (fails onmainwith the exact stitch-keys message; passes with the fix).test_stitch_config_round_trips— a stitch-enabled config survives to_dict/from_flat_dict with fields intact and stays hashable.test_config_deserialization.pypasses (28 tests);ruff check+ruff formatclean.