Fix Discord validation errors by making discordProfile fields optional #424
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.
This PR fixes a Zod validation error that occurs when users authenticate with Discord but have incomplete profile data. The error manifests as:
Root Cause
The validation schema in
@epic-web/workshop-utilsrequiresdiscordProfile.nickanddiscordProfile.userto be present when adiscordProfileobject exists. However, the Epic API sometimes returns adiscordProfileobject withundefinedvalues for these fields when Discord integration is incomplete or partially configured.Solution
Applied a patch to make the
nickanduserfields optional within thediscordProfileschema:nick: z.string().nullable()→nick: z.string().nullable().optional()user: z.object({...})→user: z.object({...}).optional()This follows the same pattern used to resolve the similar issue #393, where the entire
discordProfilewas made optional and nullable.Implementation
patch-packageas a dev dependency in theepicshoppackage@epic-web/workshop-utilsThe workshop now starts successfully regardless of Discord profile completion status, while maintaining all existing functionality for users with complete Discord profiles.
Fixes #423.
Warning
Firewall rules blocked me from connecting to one or more addresses
I tried to connect to the following addresses, but was blocked by firewall rules:
www.cloudflare.comnode --import=file:///home/REDACTED/work/react-fundamentals/react-fundamentals/epicshop/node_modules/@epic-web/workshop-app/instrument.js ./start.js(dns block)If you need me to access, download, or install something from one of these locations, you can either:
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.