logikonline
81a8420af4
feat(api): add Phase 3 reliability and UX enhancements
Add comprehensive reliability patterns and user experience improvements:
- Operation progress tracking via SSE (modules/operations/progress.go)
- Real-time progress updates for long-running operations
- Phase-based progress with completion percentages
- Byte/item progress tracking with ETA calculations
- Automatic cleanup of completed operations
- Idempotency key middleware (modules/idempotency/idempotency.go)
- POST/PUT/PATCH request deduplication
- 24-hour response caching
- Concurrent request protection with locking
- Idempotency-Replayed header for cache hits
- Webhook retry with exponential backoff (modules/webhook/retry.go)
- Configurable max retries and delays
- Jitter for thundering herd prevention
- Retryable status code configuration
- Delivery attempt tracking
- Circuit breaker pattern (modules/circuitbreaker/circuitbreaker.go)
- Closed/Open/Half-Open state machine
- Configurable failure thresholds
- Global registry for service management
- State change callbacks
- Enhanced health checks (modules/health/health.go)
- Kubernetes-compatible liveness/readiness probes
- Per-component health status
- System metrics (goroutines, memory, CPU)
- Circuit breaker status integration
New v2 API endpoints:
- GET /api/v2/health - comprehensive health check
- GET /api/v2/health/live - liveness probe
- GET /api/v2/health/ready - readiness probe
- GET /api/v2/health/component/{name} - component status
- GET /api/v2/operations/{id} - operation status
- GET /api/v2/operations/{id}/progress - SSE progress stream
- DELETE /api/v2/operations/{id} - cancel operation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 11:54:00 -05:00
..
2025-11-12 19:44:49 +08:00
2025-08-28 03:52:43 +00:00
2025-01-09 09:21:47 +08:00
2025-09-28 08:03:36 +00:00
2025-11-26 23:25:34 +08:00
2025-09-13 10:34:43 -04:00
2025-04-01 09:42:10 +00:00
2025-11-05 17:48:38 +00:00
2025-06-27 21:48:03 +08:00
2025-04-09 16:34:38 +00:00
2025-12-14 12:40:55 +02:00
2026-01-09 11:54:00 -05:00
2025-06-27 07:59:55 +02:00
2024-11-11 04:07:54 +08:00
2025-09-04 09:54:58 -07:00
2025-09-01 19:40:12 +00:00
2025-10-19 13:06:45 -07:00
2026-01-09 11:41:10 -05:00
2025-01-09 09:21:47 +08:00
2025-12-04 19:47:23 +01:00
2024-02-16 15:18:30 +00:00
2026-01-01 10:32:19 -08:00
2025-12-29 18:49:54 +00:00
2025-09-13 18:01:00 +00:00
2025-09-06 16:52:41 +00:00
2025-10-25 00:02:58 -07:00
2025-08-18 15:17:19 +00:00
2025-10-10 06:21:45 +02:00
2026-01-09 11:54:00 -05:00
2025-12-14 12:40:55 +02:00
2025-06-18 01:48:09 +00:00
2025-06-27 23:12:25 +08:00
2025-06-18 01:48:09 +00:00
2025-12-13 21:54:03 +08:00
2026-01-09 11:54:00 -05:00
2025-12-29 10:19:42 -08:00
2025-11-12 19:44:49 +08:00
2025-09-28 22:30:28 +08:00
2025-06-18 01:48:09 +00:00
2025-09-28 22:30:28 +08:00
2025-10-15 09:47:12 +00:00
2025-10-04 01:21:26 +08:00
2025-12-26 22:55:30 -08:00
2022-11-27 18:20:29 +00:00
2025-08-28 03:52:43 +00:00
2025-12-17 12:00:07 -08:00
2025-01-09 09:21:47 +08:00
2026-01-09 11:54:00 -05:00
2025-09-28 08:03:36 +00:00
2025-06-12 03:59:33 +00:00
2025-12-12 18:56:05 +00:00
2025-03-23 19:52:43 +00:00
2022-11-27 18:20:29 +00:00
2025-10-15 09:47:12 +00:00
2025-02-20 09:57:40 +00:00
2025-09-13 18:01:00 +00:00
2025-04-01 10:14:01 +00:00
2025-06-18 19:30:40 +00:00
2025-09-13 10:34:43 -04:00
2022-11-27 18:20:29 +00:00
2025-12-27 09:05:24 -08:00
2025-03-31 01:53:48 -04:00
2025-12-05 00:20:23 +00:00
2025-06-18 01:48:09 +00:00
2025-02-21 00:05:40 +08:00
2025-09-28 12:24:19 +00:00
2026-01-09 11:14:18 -05:00
2022-12-30 23:31:00 +08:00
2025-06-09 19:51:02 +00:00
2025-11-09 21:31:25 -08:00
2026-01-08 08:58:56 -05:00
2025-10-28 18:25:00 +08:00
2025-08-28 03:52:43 +00:00
2025-01-21 18:57:07 +00:00
2025-10-04 01:21:26 +08:00
2025-12-17 20:50:53 +00:00
2025-06-07 11:25:08 +03:00
2025-06-18 01:48:09 +00:00
2025-06-12 03:59:33 +00:00
2025-12-25 12:51:33 -08:00
2023-02-05 15:29:03 +08:00
2025-09-13 10:34:43 -04:00
2025-04-01 10:14:01 +00:00
2022-11-27 18:20:29 +00:00
2025-01-09 09:21:47 +08:00
2025-11-12 19:44:49 +08:00
2025-12-04 09:06:44 +00:00
2026-01-09 11:14:18 -05:00
2026-01-09 11:54:00 -05:00
2025-06-12 03:59:33 +00:00