Mining/pkg/mining
snider 1351dc7562 fix: Address race conditions and network blocking issues
Critical fixes:
- Release mutex before HTTP calls in GetStats() to prevent blocking
- Fix m.cmd race between Stop() and Wait() goroutine by capturing locally
- Add context support to GetStats() for proper request cancellation

High priority fixes:
- Add existence check in collectMinerStats() before operating on miners
- Add mutex-protected httpClient getter/setter for thread-safe test mocking

Changes:
- Miner interface now requires context.Context for GetStats()
- Stats HTTP requests timeout after 5 seconds (was 30s client default)
- All callers updated to pass context (service uses request context)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 01:55:24 +00:00
..
component feat: Implement logging functionality for miners with log buffer and retrieval endpoint 2025-12-29 22:10:45 +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 fix: Address critical security and concurrency issues 2025-12-31 00:50:06 +00:00
dual_mining_test.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
manager.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
manager_interface.go feat: Enhance mining configuration management and API documentation 2025-12-07 16:26:18 +00:00
manager_test.go feat: add _Good, _Bad, _Ugly tests 2025-11-13 21:24:25 +00:00
miner.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
mining.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +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 adds miner-cli, a miner management and lifecycle tool 2025-11-09 01:02:31 +00:00
node_service.go fix: Address high severity security and reliability issues 2025-12-31 01:02:23 +00:00
profile_manager.go fix: Address critical security and concurrency issues 2025-12-31 00:50:06 +00:00
service.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
service_test.go feat: Add avg difficulty per share statistic to dashboard 2025-12-29 23:41:26 +00:00
settings_manager.go fix: Address critical security and concurrency issues 2025-12-31 00:50:06 +00:00
settings_manager_test.go feat: Add CPU throttling, settings manager, and multi-miner tests 2025-12-30 16:35:02 +00:00
syslog_unix.go windows build fix 2025-11-09 19:13:48 +00:00
syslog_windows.go windows build fix 2025-11-09 19:13:48 +00:00
throttle_test.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
ttminer.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
ttminer_start.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
ttminer_stats.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
version.go adds miner-cli, a miner management and lifecycle tool 2025-11-09 01:02:31 +00:00
xmrig.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
xmrig_gpu_test.go feat: Add OpenCL GPU support for ProgPowZ, ETChash, and Blake3DCR 2025-12-30 23:01:16 +00:00
xmrig_start.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
xmrig_stats.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00
xmrig_test.go fix: Address race conditions and network blocking issues 2025-12-31 01:55:24 +00:00