Commit 041593f
committed
fix: critical production hardening — retry, logging, security, error boundary, settings validation
CRITICAL FIXES:
- Add retry logic with exponential backoff to provider client (3 retries, 1s/3s/8s delays)
- Add structured logging framework (~/.localcode/logs/) with levels (debug/info/warn/error)
- Enforce blocked commands in shell executor — prevents dangerous commands like 'rm -rf /'
- Add ErrorBoundary to App.tsx — React errors no longer crash the entire terminal UI
- Fix session save to be synchronous instead of fire-and-forget setTimeout
HIGH PRIORITY FIXES:
- Remove 14 dead dependencies (node-pty, axios, zod, opentelemetry, lodash, ws, glob, node-fetch)
Reduces install size by ~10x, 0 vulnerabilities
- Fix plugin loader for Windows paths using pathToFileURL instead of manual file:// URLs
- Add settings validation — corrupt settings files no longer crash the app
- Add settings caching (5s TTL) — avoids re-reading from disk on every getSetting call
- Add sessionFiles cleanup method to prevent memory leak in tool executor
- Add maxBuffer (10MB) to shell command execution
MEDIUM PRIORITY FIXES:
- Add logging to tool executor, plugin loader, and settings manager
- Fix getSettingsSummary to handle partial settings without throwing
- Add logger import to provider client for retry logging1 parent 79c2ff8 commit 041593f
File tree
19 files changed
+439
-1156
lines changed- dist
- bin
- providers
- tools
- ui
- src
- core
- plugins
- providers
- settings
- tools
- ui
19 files changed
+439
-1156
lines changedFile mode changed.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
22 | 31 | | |
23 | 32 | | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments