- Add webBluetooth.ts with browser detection and compatibility checks
- Add WebBLEManager implementing IBLEManager for Web Bluetooth API
- Add BrowserNotSupported component showing clear error for Safari/Firefox
- Update services/ble/index.ts to use WebBLEManager on web platform
- Add comprehensive tests for browser detection and WebBLEManager
Works in Chrome/Edge/Opera, shows user-friendly error in unsupported browsers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add networkErrorRecovery utility with:
- Request timeout handling via AbortController
- Circuit breaker pattern to prevent cascading failures
- Request deduplication for concurrent identical requests
- Enhanced fetch with timeout, circuit breaker, and retry support
- Add useApiWithErrorHandling hooks:
- useApiCall for single API calls with auto error display
- useMutation for mutations with optimistic update support
- useMultipleApiCalls for parallel API execution
- Add ErrorBoundary component:
- Catches React errors in component tree
- Displays fallback UI with retry option
- Supports custom fallback components
- withErrorBoundary HOC for easy wrapping
- Add comprehensive tests (64 passing tests):
- Circuit breaker state transitions
- Request deduplication
- Timeout detection
- Error type classification
- Hook behavior and error handling
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add extended error types with severity levels, retry policies,
and contextual information (types/errors.ts)
- Create centralized error handler service with user-friendly
message translation and classification (services/errorHandler.ts)
- Add ErrorContext for global error state management with
auto-dismiss and error queue support (contexts/ErrorContext.tsx)
- Create error UI components: ErrorToast, FieldError,
FieldErrorSummary, FullScreenError, EmptyState, OfflineState
- Add useError hook with retry strategies and API response handling
- Add useAsync hook for async operations with comprehensive state
- Create error message utilities with validation helpers
- Add tests for errorHandler and errorMessages (88 tests)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>