Mining/pkg/mining
snider d533164893 fix: Comprehensive code hardening from 4-domain Opus review
Error Handling:
- Fix silent Write() error in WebSocket (events.go)
- Add error context to transport handshake messages
- Check os.MkdirAll error in zip extraction (miner.go)
- Explicitly ignore io.Copy errors on drain with comments
- Add retry logic (2 attempts) for transient stats collection failures

Resource Lifecycle:
- Add shutdown mechanism to DigestAuth goroutine
- Call Service.Stop() on context cancellation
- Add NodeService transport cleanup to Service.Stop()
- Fix WriteStdin goroutine leak on timeout with non-blocking send

API Design:
- Add profile validation (name, miner type required)
- Return 404 instead of 500 for missing profile PUT
- Make DELETE profile idempotent (return success if not found)
- Standardize error responses in node_service.go handlers

Observability:
- Add logging for P2P GetAllStats failures
- Add request ID correlation helper for handler logs
- Add logging for miner process exits (xmrig_start.go)
- Rate limit debug logs in transport hot path (1 in 100)
- Add metrics infrastructure with /metrics endpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 14:33:30 +00:00
..
component feat: Implement logging functionality for miners with log buffer and retrieval endpoint 2025-12-29 22:10:45 +00:00
auth.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
component.go feat: Implement logging functionality for miners with log buffer and retrieval endpoint 2025-12-29 22:10:45 +00:00
config_manager.go feat: Add API authentication and comprehensive code review fixes 2025-12-31 14:07:26 +00:00
container.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
container_test.go test: Add error path unit tests for context cancellation and cleanup 2025-12-31 13:04:20 +00:00
dual_mining_test.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
errors.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
errors_test.go feat: Add rate limiter with cleanup and custom error types 2025-12-31 10:56:26 +00:00
events.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
events_test.go feat: Add context propagation, state sync, and tests 2025-12-31 10:10:39 +00:00
file_utils.go feat: Add API authentication and comprehensive code review fixes 2025-12-31 14:07:26 +00:00
manager.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
manager_interface.go feat: Enhance mining configuration management and API documentation 2025-12-07 16:26:18 +00:00
manager_race_test.go test: Add race condition tests and fix AVG float64 scan bug 2025-12-31 11:07:29 +00:00
manager_test.go fix: Update tests to handle autostart behavior 2025-12-31 10:17:14 +00:00
metrics.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
miner.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
miner_factory.go feat: Add API authentication and comprehensive code review fixes 2025-12-31 14:07:26 +00:00
miner_factory_test.go refactor: Add MinerFactory to centralize miner instantiation 2025-12-31 11:12:33 +00:00
mining.go refactor: Add StatsCollector pattern with miner type identification 2025-12-31 13:02:01 +00:00
mining_profile.go feat: Add setup wizard and profile management components with styling 2025-12-10 22:17:38 +00:00
mining_test.go fix: Update tests to handle autostart behavior 2025-12-31 10:17:14 +00:00
node_service.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
profile_manager.go feat: Add API authentication and comprehensive code review fixes 2025-12-31 14:07:26 +00:00
ratelimiter.go feat: Add rate limiter with cleanup and custom error types 2025-12-31 10:56:26 +00:00
ratelimiter_test.go feat: Add rate limiter with cleanup and custom error types 2025-12-31 10:56:26 +00:00
repository.go feat: Add API authentication and comprehensive code review fixes 2025-12-31 14:07:26 +00:00
repository_test.go test: Add error path unit tests for context cancellation and cleanup 2025-12-31 13:04:20 +00:00
service.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
service_test.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
settings_manager.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
settings_manager_test.go feat: Add CPU throttling, settings manager, and multi-miner tests 2025-12-30 16:35:02 +00:00
simulated_miner.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
stats_collector.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
stats_collector_test.go feat: Add API authentication and comprehensive code review fixes 2025-12-31 14:07:26 +00:00
syslog_unix.go refactor: Replace log.Printf with structured logging 2025-12-31 11:48:45 +00:00
syslog_windows.go refactor: Replace log.Printf with structured logging 2025-12-31 11:48:45 +00:00
throttle_test.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
ttminer.go refactor: Add reliability fixes, centralized version fetching, and CHANGELOG 2025-12-31 13:33:42 +00:00
ttminer_start.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
ttminer_stats.go refactor: Add StatsCollector pattern with miner type identification 2025-12-31 13:02:01 +00:00
version.go refactor: Add reliability fixes, centralized version fetching, and CHANGELOG 2025-12-31 13:33:42 +00:00
xmrig.go refactor: Add reliability fixes, centralized version fetching, and CHANGELOG 2025-12-31 13:33:42 +00:00
xmrig_gpu_test.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
xmrig_start.go fix: Comprehensive code hardening from 4-domain Opus review 2025-12-31 14:33:30 +00:00
xmrig_stats.go refactor: Add StatsCollector pattern with miner type identification 2025-12-31 13:02:01 +00:00
xmrig_test.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00