You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## 2026-04-26 - VS Code Interactive Status Bar Dismissal
2
2
**Learning:** Dismissing a persistent error state from the status bar via the bound command effectively clears the error state visually, but screen readers might not immediately catch the state change unless explicitly decoupled and re-announced or when the state simply clears via explicit action. In our case, clearing error via the output channel explicitly solves this.
3
3
**Action:** Always provide explicit user interactions to dismiss persistent error states.
**Learning:** When background operations (like execFile) fail due to missing dependencies (like ENOENT for a CLI tool), silently logging to an output channel and turning the status bar red is insufficient. Users might not realize the environment setup is incomplete.
6
+
**Action:** Promote critical environment errors (like missing CLIs) to visible toast notifications (e.g., vscode.window.showErrorMessage) at least once so users have actionable steps (like 'pip install') to resolve the issue.
💡 What: Added explicit visual feedback in the Output Channel when the user dismisses a persistent error state via the status bar. Replaced direct assignment of `isError` with the dedicated `setError` state updater for improved state-handling semantics.
1
+
## 🎨 Palette: Add toast notification for missing CLI
2
2
3
-
🎯 Why: To improve the user experience by providing a reassuring confirmation in the logs that the error has been acknowledged and dismissed. Additionally, utilizing the correct state-handling method avoids relying on side-effect updates.
3
+
### 💡 What
4
+
Added a one-time toast notification (`vscode.window.showErrorMessage`) when background `execFile` calls fail because the `ledgermind-mcp` CLI is not found (`ENOENT`).
4
5
5
-
📸 Before/After: Before, dismissing an error via clicking the status bar silently reset the flag and refreshed the UI. After, clicking the status bar logs a clear visual indication ('✓ Error state cleared by user') if an error state was active.
6
+
### 🎯 Why
7
+
Previously, if the `ledgermind-mcp` CLI wasn't installed, the extension would silently log an error to the output channel and turn the status bar red. Users would not know they needed to run `pip install ledgermind`. This change surfaces the missing dependency with an actionable error message.
6
8
7
-
♿ Accessibility: Ensures that users and screen readers navigating through the interaction logs receive confirmation of error resolution.
9
+
### 📸 Before/After
10
+
**Before:** Status bar turns red, error hidden in output logs.
11
+
**After:** Toast notification appears: "LedgerMind CLI not found. Please install it using 'pip install ledgermind'"
12
+
13
+
### ♿ Accessibility
14
+
The toast notification provides immediate, screen-reader accessible feedback about why the background operation failed, removing the need to hunt through logs to discover a missing dependency.
0 commit comments