Chris Farhood 2cb815f921 feat: add error boundaries for graceful error handling (Phase 3.4)
Implement React Error Boundaries to catch and handle errors gracefully
without crashing the entire UI. Provides helpful recovery mechanisms.

Changes:
- Create ErrorBoundary component module
  - BaseErrorBoundary abstract class (shared logic)
  - CryptoErrorBoundary (crypto operation errors)
  - ApiErrorBoundary (API communication errors)
  - GenericErrorBoundary (general component errors)

- Error boundary features
  - Catches rendering and lifecycle errors
  - Logs errors to console for debugging
  - Displays helpful, contextual error messages
  - Provides retry/reload buttons for recovery
  - Optional custom fallback UI via props
  - Optional onReset callback for custom recovery

- Integrate error boundaries into routes
  - Wrap SealedSecretList with ApiErrorBoundary
  - Wrap SealedSecretDetail with ApiErrorBoundary
  - Wrap SealingKeysView with ApiErrorBoundary
  - Wrap SettingsPage with GenericErrorBoundary
  - Wrap SecretDetailsSection with GenericErrorBoundary

Error types and messages:
- Crypto errors: Certificate, browser compatibility, malformed data
- API errors: Cluster connection, controller config, network
- Generic errors: Unexpected errors with simple recovery message

Benefits:
- App doesn't crash completely on errors
- Users can continue using unaffected features
- Clear, actionable troubleshooting steps
- Professional error presentation
- Production-ready error handling
- Easier debugging with console logs

Build: 354.92 kB (97.76 kB gzipped), +2.47 kB (+0.7%)
Phase 3.4 complete. 10 of 14 phases done (71%).

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-02-11 22:10:50 -05:00
S
Description
Headlamp plugin for managing Bitnami Sealed Secrets with client-side encryption
Apache-2.0 3 MiB
v1.0.2 Latest
2026-04-15 04:01:15 +00:00
Languages
TypeScript 99.6%
JavaScript 0.4%