-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Diagnostic Information
| Property | Value |
|---|---|
| CLI Version | 0.4.1 |
| Node.js Version | v24.5.0 |
| OS | darwin |
| OS Version | 25.1.0 |
| Architecture | x64 |
| Capabilities | none |
| Claude CLI Version | not available |
Running 'update' shouldn't validate the settings
Enhancement Request Analysis
Questions for Reporter
| Question | Answer |
|---|---|
Are you encountering specific validation errors when running il update? |
iloom update |
Update available: 0.1.16 → 0.4.1
Run: il update
❌ Configuration error: Settings validation failed at settings.json:
- root: Unrecognized key(s) in object: 'colors'
🗂️ Please fix your .iloom/settings.json file and try again.
Looking at .iloom/settings.json in the extension src though and it looks good...?
{
"workflows": {
"issue": {
"startDevServer": false
}
},
"colors": {
"vscode": true
}
}
Is the update command failing completely, or does it continue after showing validation warnings? | It fails completely - see above
What's in your .iloom/settings.json that might be triggering validation? | The error message suggests that it was the 'colors' param -> "colors": {
"vscode": true
}
Problem Summary
The il update command appears to be running settings validation despite being in the bypass list. According to the code in src/cli.ts:94, the update command is explicitly listed in bypassCommands and should skip all validation. However, the reporter experiences validation being triggered when running the update command.
User Impact
Users with invalid or incomplete configuration files cannot update iloom to the latest version. This creates a catch-22 where they need to update to fix issues but can't update because of validation errors.
Enhancement Goal
Ensure the update command completely bypasses all settings validation, allowing users to update iloom regardless of their current configuration state. The update process should be resilient and work even with broken or missing settings.
Next Steps
- Reporter to answer questions above for full context
- Verify if validation is happening in the preAction hook or elsewhere
- Consider if other initialization code paths might be triggering validation
📋 Complete Context & Details (click to expand)
Current Behavior
Based on code analysis, the update command is included in the bypassCommands array (line 94 of src/cli.ts), which should prevent validateSettingsForCommand from validating settings. However, the reporter indicates that validation is still occurring. The validation might be triggered from:
- The preAction hook that runs for all commands (line 83)
- Other initialization paths that load settings
- Potential race conditions in the command execution flow
Proposed Solution
- Immediate fix: Add an early return in the preAction hook before any validation occurs if the command is
update - Root cause: Investigate if
SettingsManageris being instantiated elsewhere in the command flow - Defensive coding: Ensure the
UpdateCommandclass doesn't inadvertently trigger settings validation - Consider: Moving the bypass check earlier in the command execution flow, before the preAction hook
Benefits
- Users can always update iloom regardless of configuration state
- Removes barriers to getting the latest bug fixes and improvements
- Prevents frustrating scenarios where broken settings block the very update that might fix them
- Improves the overall user experience by making updates more resilient
Metadata
Metadata
Assignees
Labels
Type
Projects
Status