- New files: Copyright 2026 MarketAlly - Modified files: Copyright YYYY The Gitea Authors and MarketAlly 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- cmd/gitea-cli: fix errcheck, perfsprint, use modules/json, http constants - models/migrations: remove unused nolint directive - models/organization: interface{} -> any - modules/health: rename HealthResponse -> Response to avoid stutter - modules/idempotency: use modules/json, fix errcheck, rename IdempotencyInfo -> Info - modules/structs: fix Verified_At naming, use omitzero 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>