fix: validate telemetry preference before initialization - #384
Closed
omerbek wants to merge 1 commit into
Closed
Conversation
Collaborator
🟡 Heimdall Review Status
|
Author
|
Closing this duplicate in favor of #385, which carries the same fix with the current branch and testing notes. |
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.
Fixes #383.
Summary
preference.telemetryvalue by type instead of using a truthiness checkWhy
telemetry: 0previously skippedvalidatePreferences()because0is falsy. The telemetry initialization check uses strict comparison (telemetry !== false), so the same value was treated as enabled. Validation also ran after telemetry initialization, which meant invalid preference values could be used before they were rejected.This keeps the documented values (
true,false, or omitted) working as before while rejecting invalid types before side effects.Note
I saw #303 also touches configuration validation order. This PR keeps the scope narrow to the telemetry preference type check and the side-effect ordering needed for that validation to be effective.
Testing
corepack yarn workspace @base-org/account node compile-assets.cjscorepack yarn workspace @base-org/account test src/util/validatePreferences.test.ts src/interface/builder/core/createBaseAccountSDK.test.ts --runcorepack yarn workspace @base-org/account typecheckcorepack yarn biome check packages/account-sdk/src/util/validatePreferences.ts packages/account-sdk/src/util/validatePreferences.test.ts packages/account-sdk/src/interface/builder/core/createBaseAccountSDK.ts packages/account-sdk/src/interface/builder/core/createBaseAccountSDK.test.ts