fix: handle null/empty custom modes files to prevent 'Cannot read properties of null' error #5526
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.
Description
Fixes the issue where empty or null custom modes configuration files (custom_modes.yaml or .roomodes) cause a 'Cannot read properties of null (reading customModes)' error.
Problem
When the custom modes configuration file exists but is empty or contains null/undefined content, the YAML parser returns null, which causes a null pointer exception when trying to access the customModes property.
Solution
SimpleInstaller.ts:
CustomModesManager.ts:
Testing
Verification
The fix ensures that:
This resolves the reported error and ensures robust handling of edge cases in custom modes configuration files.
Important
Fixes null pointer exceptions by ensuring
customModesis always initialized inSimpleInstaller.tsandCustomModesManager.ts.SimpleInstaller.tsandCustomModesManager.tsby ensuringcustomModesis always initialized.parseYamlSafelyinCustomModesManager.tsreturns{}instead ofnull.installModeandremoveModeinSimpleInstaller.tshandle empty or null.roomodesfiles by initializingcustomModes.SimpleInstaller.spec.tsfor empty, null, and missingcustomModescases.This description was created by
for bd517da. You can customize this summary. It will automatically update as commits are pushed.