fix: handle missing prompts in custom commands #3012
Merged
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.
context: https://sourcegraph.slack.com/archives/C04MSD3DP5L/p1706656724966049
fix: handle commands missing prompts when building map
Issue: Currently, an invalid entry in the cody.json will cause custom commands not showing up in the command menu.
Fix: Updated the get-commands utility to skip adding commands to the map if they don't contain a prompt property. It updates the command type and adds null checking before accessing the prompt property.
This prevents crashes when building the custom command map if a command is missing the expected prompt field.
Test plan
Updated both the unit test and e2e test to ensure an invalid custom command entry would not break the custom command at build time.
Create a custom command entry without adding a prompt in your cody.json.
Before: all your custom command from that file will not show up in the custom command menu.
After: only the invalid ones will not show up in the menu, while the valid ones do.