fix: improve error handling in CLI status command#34
Merged
Conversation
The catch block was swallowing all exceptions and showing "No index found" regardless of the actual error. This masked real issues like native module version mismatches (better-sqlite3 NODE_MODULE_VERSION), making them appear as if the database simply didn't exist. Now only SQLITE_CANTOPEN triggers the "no index" message. All other errors are surfaced with the actual error message and a non-zero exit code. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
The
spool statuscatch block was swallowing all exceptions and displaying "No index found. Runspool syncto create it." regardless of the actual error, masking real issues behind a misleading message.Problem
When
better-sqlite3'sNODE_MODULE_VERSIONdoesn't match the current Node version,getDB()throwsERR_DLOPEN_FAILED. The catch block treated this as a missing database:In reality,
~/.spool/spool.dbexisted with 47.5MB of data (340+ sessions). The actual problem was a native module version mismatch that the user never got to see.Fix
SQLITE_CANTOPEN(database truly doesn't exist)Test plan
spool statusdisplays index info correctly when DB existsSubmitted by: @graydawnc
🤖 Generated with Claude Code