Repository navigation
Improve and test startup config validation error messages #240
Copy link
Copy link
Open
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsbugConfirmed defect or incorrect behavior that needs to be fixedConfirmed defect or incorrect behavior that needs to be fixedintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
Description
Activity
- addedbugConfirmed defect or incorrect behavior that needs to be fixedConfirmed defect or incorrect behavior that needs to be fixedMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesGrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
on Jul 25, 2026 I'd like to take this on. I've worked on config validation and error handling before, including writing targeted unit tests for edge cases. I can rewrite the validation errors to name the exact variable and issue for each case, add test coverage for the missing/malformed URL and chain ID cases plus the valid pass-through, and confirm the checks stay dev-only.
grantfox-oss commented
on Jul 26, 2026 grantfox-ossboton Jul 26, 2026 – with GrantFox OSSMore actions🦊 GrantFox — @Afolabi08 has been assigned to this issue as part of the Official Campaign | FWC26 campaign!
Next steps:
- Open a Pull Request referencing this issue (e.g.,
Closes #240) - Your PR will be reviewed by the Adamantine-guild maintainers
Good luck! Track your progress on GrantFox.
- Open a Pull Request referencing this issue (e.g.,
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsbugConfirmed defect or incorrect behavior that needs to be fixedConfirmed defect or incorrect behavior that needs to be fixedintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
Difficulty: Intermediate
Type: bug
Background
The README states the app uses a typed configuration layer validating
EXPO_PUBLIC_API_URLandEXPO_PUBLIC_CHAIN_IDat startup, throwing a "clear developer-facing error in development" if they're missing or invalid, to prevent silent fallback to production defaults.Problem
It's not verified that these error messages are actually specific and actionable (naming the exact variable and what's wrong with it) rather than a generic "invalid config" message, and there's no indication this validation logic is covered by unit tests.
Expected outcome
Each config validation failure (missing
EXPO_PUBLIC_API_URL, malformed URL, missingEXPO_PUBLIC_CHAIN_ID, non-numeric/invalid chain ID) throws a distinct, specific error identifying the variable and the problem, and this logic has unit test coverage for every case.Suggested implementation
src/or a rootconfig.ts) and review current error messages for specificity.EXPO_PUBLIC_API_URL, malformed URL, missingEXPO_PUBLIC_CHAIN_ID, non-numeric chain ID, and the valid/passing case.Acceptance criteria
Likely affected files/directories
src/(config validation module)tests/