mirror of
https://github.com/jmagar/unraid-mcp.git
synced 2026-03-01 16:04:24 -08:00
fix: address 54 MEDIUM/LOW priority PR review issues
Comprehensive fixes across Python code, shell scripts, and documentation addressing all remaining MEDIUM and LOW priority review comments. Python Code Fixes (27 fixes): - tools/info.py: Simplified dispatch with lookup tables, defensive guards, CPU fallback formatting, !s conversion flags, module-level sync assertion - tools/docker.py: Case-insensitive container ID regex, keyword-only confirm, module-level ALL_ACTIONS constant - tools/virtualization.py: Normalized single-VM dict responses, unified list/details queries - core/client.py: Fixed HTTP client singleton race condition, compound key substring matching for sensitive data redaction - subscriptions/: Extracted SSL context creation to shared helper in utils.py, replaced deprecated ssl._create_unverified_context API - tools/array.py: Renamed parity_history to parity_status, hoisted ALL_ACTIONS - tools/storage.py: Fixed dict(None) risks, temperature 0 falsiness bug - tools/notifications.py, keys.py, rclone.py: Fixed dict(None) TypeError risks - tests/: Fixed generator type annotations, added coverage for compound keys Shell Script Fixes (13 fixes): - dashboard.sh: Dynamic server discovery, conditional debug output, null-safe jq, notification count guard order, removed unused variables - unraid-query.sh: Proper JSON escaping via jq, --ignore-errors and --insecure CLI flags, TLS verification now on by default - validate-marketplace.sh: Removed unused YELLOW variable, defensive jq, simplified repository URL output Documentation Fixes (24+ fixes): - Version consistency: Updated all references to v0.2.0 across pyproject.toml, plugin.json, marketplace.json, MARKETPLACE.md, __init__.py, README files - Tool count updates: Changed all "26 tools" references to "10 tools, 90 actions" - Markdown lint: Fixed MD022, MD031, MD047 issues across multiple files - Research docs: Fixed auth headers, removed web artifacts, corrected stale info - Skills docs: Fixed query examples, endpoint counts, env var references All 227 tests pass, ruff and ty checks clean.
This commit is contained in:
@@ -917,7 +917,7 @@ Common differences from online documentation:
|
||||
2. **Use `array.disks` for array disks** - The top-level `disks` query includes ALL disks (USB, SSDs, etc.)
|
||||
3. **Always check errors** - GraphQL returns errors in `errors` array
|
||||
4. **Use introspection** - Field names can vary between versions
|
||||
5. **Sizes are in kilobytes** - Disk sizes and capacities are in KB, not bytes
|
||||
5. **Sizes vary by context** - Disk/array capacities are in kilobytes; memory values (from `info.memory`) are in bytes
|
||||
6. **Temperature is Celsius** - All temperature values are in Celsius
|
||||
7. **Handle empty arrays** - Many queries return `[]` when no data exists
|
||||
8. **Use viewer role** - Create API keys with "Viewer" role for read-only access
|
||||
@@ -926,8 +926,8 @@ Common differences from online documentation:
|
||||
|
||||
## 🚫 Known Limitations
|
||||
|
||||
1. **No Docker container logs** - Container output logs are NOT accessible via API
|
||||
2. **No real-time streaming** - All queries are request/response, no WebSocket subscriptions
|
||||
1. **No Docker container logs** - Container output logs are NOT accessible via the read-only query API (use `docker.logs` mutation)
|
||||
2. **WebSocket subscriptions are available** - The Unraid API supports real-time subscriptions (array, Docker stats, notifications, etc.) via WebSocket
|
||||
3. **Some queries require higher permissions** - Read-only "Viewer" role may not access all queries
|
||||
4. **No mutation examples included** - This guide covers read-only queries only
|
||||
|
||||
|
||||
Reference in New Issue
Block a user